@marimo-team/frontend 0.23.2-dev8 → 0.23.3-dev1

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 (1045) hide show
  1. package/dist/assets/CellStatus-Dtymd7Mw.js +1 -0
  2. package/dist/assets/ConnectedDataExplorerComponent-ChNjqWW0.js +1 -0
  3. package/dist/assets/DeferredRequestRegistry-C2V-hXrK.js +1 -0
  4. package/dist/assets/ErrorBoundary-DzYV_VeY.js +1 -0
  5. package/dist/assets/ImageComparisonComponent-BDf80c-c.js +1 -0
  6. package/dist/assets/ImperativeModal-CAFE3UV7.js +1 -0
  7. package/dist/assets/Inputs-kqHYE7dL.js +1 -0
  8. package/dist/assets/JsonOutput-sWUD3O5F.js +49 -0
  9. package/dist/assets/LazyAnyLanguageCodeMirror-BYkSpfWg.js +2 -0
  10. package/dist/assets/MarimoErrorOutput-CUkxKVSp.js +7 -0
  11. package/dist/assets/Plot-Dw2rpqfa.js +3789 -0
  12. package/dist/assets/RSPContexts-CrATdGvz.js +1 -0
  13. package/dist/assets/RenderHTML-aOmkRy0R.js +1 -0
  14. package/dist/assets/__vite-browser-external-DgbEhFq1.js +1 -0
  15. package/dist/assets/_baseFor-DKD1r8uL.js +1 -0
  16. package/dist/assets/_baseSet-CxV9N1bc.js +1 -0
  17. package/dist/assets/_baseUniq-CbY8vx1e.js +1 -0
  18. package/dist/assets/add-cell-with-ai-apfqz2QF.js +92 -0
  19. package/dist/assets/add-connection-dialog-D6XFTnTb.js +167 -0
  20. package/dist/assets/agent-panel-D7n2noTX.js +287 -0
  21. package/dist/assets/ai-model-dropdown-CMNpHk5I.js +5 -0
  22. package/dist/assets/alert-DD-RU0QZ.js +1 -0
  23. package/dist/assets/alert-dialog-BGBdrcqJ.js +11 -0
  24. package/dist/assets/any-language-editor-CFmH0GoP.js +1 -0
  25. package/dist/assets/apl-ezh0ScS-.js +1 -0
  26. package/dist/assets/app-config-button-CXAAPUFL.js +1 -0
  27. package/dist/assets/architecture-7HQA4BMR-CKjkd5Dl.js +1 -0
  28. package/dist/assets/architectureDiagram-VXUJARFQ-x1tfs-Zy.js +36 -0
  29. package/dist/assets/arrays-DYDL-3-i.js +1 -0
  30. package/dist/assets/asciiarmor-DBqyln4y.js +1 -0
  31. package/dist/assets/asn1-C9Hie9a5.js +1 -0
  32. package/dist/assets/badge-IqsYSyWB.js +1 -0
  33. package/dist/assets/blockDiagram-VD42YOAC-DsnHpCid.js +122 -0
  34. package/dist/assets/bot-message-square-DrbHk31W.js +1 -0
  35. package/dist/assets/brainfuck-BDNU41Mw.js +1 -0
  36. package/dist/assets/button-D9nb17Rw.js +1 -0
  37. package/dist/assets/c4Diagram-YG6GDRKO-D32cjsO5.js +10 -0
  38. package/dist/assets/cache-panel-_zalrRwf.js +1 -0
  39. package/dist/assets/capabilities-C_FLIcjP.js +1 -0
  40. package/dist/assets/card-DaCTzD6y.js +1 -0
  41. package/dist/assets/cell-editor-BUrhiKcX.js +22 -0
  42. package/dist/assets/cell-link-owqfXuA4.js +1 -0
  43. package/dist/assets/cells-BA9ZN5Xy.js +229 -0
  44. package/dist/assets/channel-esN5troS.js +1 -0
  45. package/dist/assets/chart-no-axes-column-nqk474t8.js +1 -0
  46. package/dist/assets/chat-display-AB-C2j6p.js +1 -0
  47. package/dist/assets/chat-panel-C1Evz8wb.js +3 -0
  48. package/dist/assets/chat-ui-CcArYoMw.js +4 -0
  49. package/dist/assets/check-BH35Ndha.js +1 -0
  50. package/dist/assets/chevron-right-CG5QYXYk.js +1 -0
  51. package/dist/assets/chunk-4F5CHEZ2-CiW94ehv.js +1 -0
  52. package/dist/assets/chunk-55IACEB6-C_BE0X2F.js +1 -0
  53. package/dist/assets/chunk-5FQGJX7Z-wbiBygI_.js +113 -0
  54. package/dist/assets/chunk-ABZYJK2D-CSzcbtsR.js +80 -0
  55. package/dist/assets/chunk-ATLVNIR6-BGYBu2zE.js +1 -0
  56. package/dist/assets/chunk-B2363JML-Dj_BsGfX.js +1 -0
  57. package/dist/assets/chunk-B4BG7PRW-S78japIA.js +165 -0
  58. package/dist/assets/chunk-DI55MBZ5-B1Vz0MTl.js +220 -0
  59. package/dist/assets/chunk-EXTU4WIE-D-Spa6rW.js +1 -0
  60. package/dist/assets/chunk-FRFDVMJY-BB5sTbw6.js +1 -0
  61. package/dist/assets/chunk-JA3XYJ7Z-BJGCDHDS.js +70 -0
  62. package/dist/assets/chunk-JZLCHNYA-lm1LBIfJ.js +54 -0
  63. package/dist/assets/chunk-N4CR4FBY-BQWUF0Ly.js +2 -0
  64. package/dist/assets/chunk-PL6DKKU2-BVOKRgy0.js +1 -0
  65. package/dist/assets/chunk-QN33PNHL-Buv0c3y8.js +1 -0
  66. package/dist/assets/chunk-QXUST7PY-tI3bGlcO.js +7 -0
  67. package/dist/assets/chunk-S3R3BYOJ-BwE-T8-d.js +2 -0
  68. package/dist/assets/chunk-SJTYNZTY-BY2Gu6VM.js +1 -0
  69. package/dist/assets/chunk-TCCFYFTB-ClOYb5MI.js +125 -0
  70. package/dist/assets/chunk-TQ3KTPDO-BXqsqDoM.js +1 -0
  71. package/dist/assets/chunk-TZMSLE5B-zQ3MzIy5.js +1 -0
  72. package/dist/assets/chunk-UMXZTB3W-2RQe-UTW.js +1 -0
  73. package/dist/assets/circle-check-C17zXg7L.js +1 -0
  74. package/dist/assets/circle-play-CYXX2xu3.js +1 -0
  75. package/dist/assets/circle-plus-BdiiIXu5.js +1 -0
  76. package/dist/assets/classDiagram-2ON5EDUG-BSpbvL3e.js +1 -0
  77. package/dist/assets/classDiagram-v2-WZHVMYZB-CQ49gdZV.js +1 -0
  78. package/dist/assets/clear-button-hXGBrmNq.js +1 -0
  79. package/dist/assets/clike-B5Yp94w5.js +1 -0
  80. package/dist/assets/clipboard-paste-BPjPPEqD.js +1 -0
  81. package/dist/assets/clojure-DnkK3bSc.js +1 -0
  82. package/dist/assets/clone-wB3InSdt.js +1 -0
  83. package/dist/assets/cmake-BnWrJdTV.js +1 -0
  84. package/dist/assets/cn-DCUzRj2J.js +1 -0
  85. package/dist/assets/cobol-HBrO1JaF.js +1 -0
  86. package/dist/assets/code-block-37QAKDTI-Bf-3UT2Z.js +2 -0
  87. package/dist/assets/code-xml-CZN6vNxu.js +1 -0
  88. package/dist/assets/coffeescript-CRPuDhgD.js +1 -0
  89. package/dist/assets/column-preview-BbSZl4gC.js +1 -0
  90. package/dist/assets/command-DQS2IzwJ.js +1 -0
  91. package/dist/assets/command-palette-Cc7XXZHG.js +1 -0
  92. package/dist/assets/common-CakcoJKZ.js +1 -0
  93. package/dist/assets/commonlisp-Da4KcekY.js +1 -0
  94. package/dist/assets/components-DVzYtTDe.js +1 -0
  95. package/dist/assets/components-eaRIBPb2.js +1 -0
  96. package/dist/assets/config-Calf6e81.js +1 -0
  97. package/dist/assets/constants-DMpttj8Q.js +1 -0
  98. package/dist/assets/context-BrNoqz7t.js +1 -0
  99. package/dist/assets/copy-BnK_ki61.js +1 -0
  100. package/dist/assets/copy-BwrPA9zQ.js +1 -0
  101. package/dist/assets/copy-icon-D189KR4Z.js +1 -0
  102. package/dist/assets/cose-bilkent-S5V4N54A-DT_V8ZfF.js +1 -0
  103. package/dist/assets/createReducer-1ePoj7v6.js +1 -0
  104. package/dist/assets/crystal-DSapLTsa.js +1 -0
  105. package/dist/assets/css-B68S0me4.js +1 -0
  106. package/dist/assets/cypher-xFGoEou9.js +1 -0
  107. package/dist/assets/d-DgvhEIBQ.js +1 -0
  108. package/dist/assets/dagre-6UL2VRFP-DGYXMu3i.js +4 -0
  109. package/dist/assets/dagre-DhAJ2E-3.js +1 -0
  110. package/dist/assets/data-grid-overlay-editor-CD6KDhh4.js +1 -0
  111. package/dist/assets/database-zap-kIkTfzTX.js +1 -0
  112. package/dist/assets/datasource-BZ77nRPA.js +3 -0
  113. package/dist/assets/dates-CtmdgiVR.js +1 -0
  114. package/dist/assets/debounce-DhnxH9Rh.js +1 -0
  115. package/dist/assets/dependency-graph-panel-DJodxi-n.js +5 -0
  116. package/dist/assets/diagram-PSM6KHXK-Df7m0-Bk.js +24 -0
  117. package/dist/assets/diagram-QEK2KX5R-BC5JXjfp.js +43 -0
  118. package/dist/assets/diagram-S2PKOQOG-D6E97R3h.js +24 -0
  119. package/dist/assets/dialog-CqE8CV1Y.js +1 -0
  120. package/dist/assets/diff-_ncWAuCI.js +1 -0
  121. package/dist/assets/dist-B5ONF0fx.js +1 -0
  122. package/dist/assets/dist-B804XDz9.js +1 -0
  123. package/dist/assets/dist-BOBxlWRU.js +1 -0
  124. package/dist/assets/dist-BZX17NA8.js +1 -0
  125. package/dist/assets/dist-Bgd1ZX49.js +1 -0
  126. package/dist/assets/dist-BiQrY0m-.js +1 -0
  127. package/dist/assets/dist-BoOh2kN5.js +1 -0
  128. package/dist/assets/dist-BrR4M-k3.js +13 -0
  129. package/dist/assets/dist-BuSjuYCJ.js +1 -0
  130. package/dist/assets/dist-BvefCWaz.js +1 -0
  131. package/dist/assets/dist-BvpmHCI2.js +1 -0
  132. package/dist/assets/dist-BwejP-9J.js +6 -0
  133. package/dist/assets/dist-C2akIBaE.js +1 -0
  134. package/dist/assets/dist-C5pbZROJ.js +1 -0
  135. package/dist/assets/dist-C9ZB41s2.js +2 -0
  136. package/dist/assets/dist-C9byx33H.js +1 -0
  137. package/dist/assets/dist-CAjNwSwp.js +1 -0
  138. package/dist/assets/dist-CD7-c8A4.js +1 -0
  139. package/dist/assets/dist-CHcznzB-.js +2 -0
  140. package/dist/assets/dist-CM2zL7eu.js +1 -0
  141. package/dist/assets/dist-CSLszKKS.js +1 -0
  142. package/dist/assets/dist-Cb9wJQiu.js +1 -0
  143. package/dist/assets/dist-CdAQ8eZ9.js +1 -0
  144. package/dist/assets/dist-ChEIZSwD.js +1 -0
  145. package/dist/assets/dist-CpbLJKXc.js +3 -0
  146. package/dist/assets/dist-Ct7BBGwl.js +1 -0
  147. package/dist/assets/dist-D8d8D49Y.js +1 -0
  148. package/dist/assets/dist-D8llshvP.js +1 -0
  149. package/dist/assets/dist-D8mC0RLm.js +1 -0
  150. package/dist/assets/dist-D9brkCnf.js +1 -0
  151. package/dist/assets/dist-DDWNnRcK.js +7 -0
  152. package/dist/assets/dist-DEsgb6r0.js +1 -0
  153. package/dist/assets/dist-DK65leDK.js +1 -0
  154. package/dist/assets/dist-DMIdeanR.js +1 -0
  155. package/dist/assets/dist-DSv2WUkf.js +1 -0
  156. package/dist/assets/dist-DX-ejWLY.js +1 -0
  157. package/dist/assets/dist-DfWgLTCQ.js +13 -0
  158. package/dist/assets/dist-Dg3CCt0r.js +3 -0
  159. package/dist/assets/dist-DlFpiRHv.js +1 -0
  160. package/dist/assets/dist-G3xLh7ZX.js +1 -0
  161. package/dist/assets/dist-G8rBPeDP.js +1 -0
  162. package/dist/assets/dist-H-P6qorM.js +1 -0
  163. package/dist/assets/dist-HIpA48xV.js +7 -0
  164. package/dist/assets/dist-HlsDto3K.js +1 -0
  165. package/dist/assets/dist-a6hqEAyw.js +1 -0
  166. package/dist/assets/dist-fKK_jBk2.js +1 -0
  167. package/dist/assets/dist-idZNafp8.js +1 -0
  168. package/dist/assets/dist-vhQjV8kg.js +1 -0
  169. package/dist/assets/dockerfile-COvjaTvv.js +1 -0
  170. package/dist/assets/documentation-panel-DMXEUS7v.js +1 -0
  171. package/dist/assets/download-rCRPD7IF.js +9 -0
  172. package/dist/assets/dropdown-menu-D1A3cFC8.js +1 -0
  173. package/dist/assets/dtd-BnBIn3kr.js +1 -0
  174. package/dist/assets/dylan-CkGqQmFw.js +1 -0
  175. package/dist/assets/ecl-CFTIHpsV.js +1 -0
  176. package/dist/assets/edit-page-CK943x81.js +9 -0
  177. package/dist/assets/eiffel-DqSKoxJh.js +1 -0
  178. package/dist/assets/ellipsis-KAhMaCIV.js +1 -0
  179. package/dist/assets/ellipsis-vertical-CkwWkOQL.js +1 -0
  180. package/dist/assets/elm-dL9c1n0U.js +1 -0
  181. package/dist/assets/empty-state-CrP10sqm.js +1 -0
  182. package/dist/assets/en-US-B8TXLgVt.js +1 -0
  183. package/dist/assets/erDiagram-Q2GNP2WA-AvxewI5H.js +60 -0
  184. package/dist/assets/erlang-ZIYI48gw.js +1 -0
  185. package/dist/assets/error-banner-BxlXxssi.js +1 -0
  186. package/dist/assets/error-panel-4rKxybFL.js +1 -0
  187. package/dist/assets/es-CjWf0wU3.js +5 -0
  188. package/dist/assets/esm-CcSYdGmP.js +1 -0
  189. package/dist/assets/esm-jhgLTcf6.js +1 -0
  190. package/dist/assets/eye-off-n1Li95bE.js +1 -0
  191. package/dist/assets/factor-CDbckATe.js +1 -0
  192. package/dist/assets/factor-PbpmJuj6.js +1 -0
  193. package/dist/assets/field-Dpiu3eud.js +1 -0
  194. package/dist/assets/file-BrdxGLRX.js +1 -0
  195. package/dist/assets/file-explorer-panel-B5sFxYu1.js +26 -0
  196. package/dist/assets/file-headphone-BrQspHac.js +1 -0
  197. package/dist/assets/file-icons-CSF7UWQn.js +1 -0
  198. package/dist/assets/fileToBase64-Bzn96tYq.js +1 -0
  199. package/dist/assets/flatten-Dl4V1ub3.js +1 -0
  200. package/dist/assets/floating-outline-DzcyDJwQ.js +1 -0
  201. package/dist/assets/flowDiagram-NV44I4VS-BqW0suiP.js +162 -0
  202. package/dist/assets/focus-BRfyPUhi.js +1 -0
  203. package/dist/assets/form-BUVFJb5I.js +2 -0
  204. package/dist/assets/formats-CQbVJYLi.js +1 -0
  205. package/dist/assets/formatting-CbFi9xG8.js +1 -0
  206. package/dist/assets/forth-ClT6YoKq.js +1 -0
  207. package/dist/assets/fortran-D3wR_E-8.js +1 -0
  208. package/dist/assets/fullscreen-BDxedMYP.js +41 -0
  209. package/dist/assets/gallery-page-ClCkynuR.js +1 -0
  210. package/dist/assets/ganttDiagram-JELNMOA3-CeCvJWgC.js +267 -0
  211. package/dist/assets/gas-_ShnzaTM.js +1 -0
  212. package/dist/assets/get-C-qh_et5.js +1 -0
  213. package/dist/assets/gherkin-LsHtc0Ns.js +1 -0
  214. package/dist/assets/gitGraph-G5XIXVHT-nrZ-BMna.js +1 -0
  215. package/dist/assets/gitGraphDiagram-V2S2FVAM-Dn1AbOWu.js +65 -0
  216. package/dist/assets/github-BKS_2Qwn.js +1 -0
  217. package/dist/assets/glide-data-editor-CKiZFI5U.js +132 -0
  218. package/dist/assets/globals-DY_dRKpv.js +1 -0
  219. package/dist/assets/graphlib-CRNG9rUk.js +1 -0
  220. package/dist/assets/groovy-D_Yv0Fac.js +1 -0
  221. package/dist/assets/hasIn-DiS_ryrS.js +1 -0
  222. package/dist/assets/haskell-qhM1HAIB.js +1 -0
  223. package/dist/assets/haxe-Bi62PpIr.js +1 -0
  224. package/dist/assets/home-page-BvfssQ5c.js +4 -0
  225. package/dist/assets/hooks-CK1ac3iV.js +1 -0
  226. package/dist/assets/html-to-image-BOWUS6J2.js +2 -0
  227. package/dist/assets/icons-C66kZH_4.js +1 -0
  228. package/dist/assets/idl-CI42bOaI.js +1 -0
  229. package/dist/assets/image-HpSc22eh.js +1 -0
  230. package/dist/assets/index-BuOIqA8d.css +2 -0
  231. package/dist/assets/index-DCq7udug.js +42 -0
  232. package/dist/assets/info-VBDWY6EO-Bn_7XCeN.js +1 -0
  233. package/dist/assets/infoDiagram-HS3SLOUP-DTO3Z6Cg.js +2 -0
  234. package/dist/assets/input-2egRGOhT.js +1 -0
  235. package/dist/assets/isEmpty-CXeoXbuc.js +1 -0
  236. package/dist/assets/isValid-KoNx_uxe.js +1 -0
  237. package/dist/assets/javascript-BNZ5YnSy.js +1 -0
  238. package/dist/assets/journeyDiagram-XKPGCS4Q-BQL61Vfo.js +139 -0
  239. package/dist/assets/julia-dpVUKOp6.js +1 -0
  240. package/dist/assets/kanban-definition-3W4ZIXB7-CMoUF4Qw.js +89 -0
  241. package/dist/assets/kbd-DSY6_TYl.js +1 -0
  242. package/dist/assets/kiosk-mode-BJNsfVZJ.js +1 -0
  243. package/dist/assets/label-DTR8T0AE.js +1 -0
  244. package/dist/assets/layout-0Xp7ABJw.js +9 -0
  245. package/dist/assets/linear-DxS7NPzz.js +1 -0
  246. package/dist/assets/link-DlqtQzll.js +1 -0
  247. package/dist/assets/links-D-VMsA11.js +1 -0
  248. package/dist/assets/links-DhwG_EVu.js +1 -0
  249. package/dist/assets/livescript-BDwSUbUd.js +1 -0
  250. package/dist/assets/logs-panel-bp6XOaLO.js +1 -0
  251. package/dist/assets/loro_wasm_bg-DpX928kr.js +1 -0
  252. package/dist/assets/lua-cGUKNtb5.js +1 -0
  253. package/dist/assets/maps-C48Oksn0.js +1 -0
  254. package/dist/assets/marimo-icons-Ce24dQVN.js +1 -0
  255. package/dist/assets/markdown-renderer-3M2UXZOE.js +5 -0
  256. package/dist/assets/mathematica-D4XScfvP.js +1 -0
  257. package/dist/assets/mbox-COnP75oc.js +1 -0
  258. package/dist/assets/memoize-Tp7rARFe.js +1 -0
  259. package/dist/assets/menu-items-CwUpDHG7.js +1 -0
  260. package/dist/assets/merge-_9WLTEyt.js +1 -0
  261. package/dist/assets/mermaid-4DMBBIKO-D-U6KmKa.js +1 -0
  262. package/dist/assets/mermaid-CI6k86rB.js +11 -0
  263. package/dist/assets/mermaid-parser.core-B0EhnNjP.js +4 -0
  264. package/dist/assets/message-circle-QFYtD-Lc.js +1 -0
  265. package/dist/assets/min-12WNOJ9e.js +1 -0
  266. package/dist/assets/mindmap-definition-VGOIOE7T-C0BN8YhO.js +68 -0
  267. package/dist/assets/mirc-DXskkW6M.js +1 -0
  268. package/dist/assets/mllike-B3ebn_fS.js +1 -0
  269. package/dist/assets/modelica-Df8_BOFz.js +1 -0
  270. package/dist/assets/mscgen-ugK6iLdl.js +1 -0
  271. package/dist/assets/multi-icon-nJMmVh2f.js +1 -0
  272. package/dist/assets/multi-map-rafH3cg3.js +1 -0
  273. package/dist/assets/mumps-Qes0D9Sq.js +1 -0
  274. package/dist/assets/name-cell-input-CUkoykAD.js +1 -0
  275. package/dist/assets/now-CsYTPAhW.js +1 -0
  276. package/dist/assets/nsis-BbDlITQ-.js +1 -0
  277. package/dist/assets/nsis-CvTk2ElD.js +1 -0
  278. package/dist/assets/ntriples-BrWSHgAl.js +1 -0
  279. package/dist/assets/number-overlay-editor-DJEXT_Ye.js +9 -0
  280. package/dist/assets/numbers-epUg4eUW.js +1 -0
  281. package/dist/assets/octave--UXUC2au.js +1 -0
  282. package/dist/assets/once-DRroIaBz.js +1 -0
  283. package/dist/assets/outline-panel-s7vxHE_P.js +1 -0
  284. package/dist/assets/oz-SCICUQnB.js +1 -0
  285. package/dist/assets/packages-panel-CDb4sauq.js +1 -0
  286. package/dist/assets/packet-DYOGHKS2-B53MIhbR.js +1 -0
  287. package/dist/assets/panel-context-DgIiEtMa.js +1 -0
  288. package/dist/assets/panels-s8gQr6G_.js +1 -0
  289. package/dist/assets/pascal-BZRIRN0Y.js +1 -0
  290. package/dist/assets/perl-BJBf_VRX.js +1 -0
  291. package/dist/assets/pick-DqWUNly1.js +1 -0
  292. package/dist/assets/pie-VRWISCQL-CsQYRyI_.js +1 -0
  293. package/dist/assets/pieDiagram-ADFJNKIX-CZ1pBex_.js +30 -0
  294. package/dist/assets/pig-8VtGvtGP.js +1 -0
  295. package/dist/assets/play-CEytussU.js +1 -0
  296. package/dist/assets/plus-BueqiM86.js +1 -0
  297. package/dist/assets/popover-UExmgBsf.js +1 -0
  298. package/dist/assets/powershell-MUdKU-yo.js +1 -0
  299. package/dist/assets/precisionRound-BMPhtTJQ.js +1 -0
  300. package/dist/assets/process-output-C6_eNZv8.js +1 -0
  301. package/dist/assets/properties-B_YTP79K.js +1 -0
  302. package/dist/assets/protobuf-BjqtN1d3.js +1 -0
  303. package/dist/assets/pug-B2p6efPp.js +1 -0
  304. package/dist/assets/pug-pCMDyY3V.js +1 -0
  305. package/dist/assets/puppet-ByNusmmY.js +1 -0
  306. package/dist/assets/purify.es-Cg0r2qW-.js +2 -0
  307. package/dist/assets/python-CeK7Mdg6.js +1 -0
  308. package/dist/assets/q-BPLn3RjU.js +1 -0
  309. package/dist/assets/quadrantDiagram-AYHSOK5B-D6LNQBr8.js +7 -0
  310. package/dist/assets/r-C6hL19P_.js +1 -0
  311. package/dist/assets/radar-ZZBFDIW7-DixuyYGz.js +1 -0
  312. package/dist/assets/react-vega-B2Q2ObPu.js +1 -0
  313. package/dist/assets/react-vega-D3GJC5Ll.js +190 -0
  314. package/dist/assets/readonly-python-code-BBLUUIbP.js +1 -0
  315. package/dist/assets/refresh-ccw-BuMhEaS9.js +1 -0
  316. package/dist/assets/refresh-cw-BmiNHssk.js +1 -0
  317. package/dist/assets/renderShortcut-B-72v1dC.js +1 -0
  318. package/dist/assets/request-registry-yZbbPZkh.js +1 -0
  319. package/dist/assets/requests-DIwGYs0l.js +1 -0
  320. package/dist/assets/requirementDiagram-UZGBJVZJ-BQCIkW22.js +64 -0
  321. package/dist/assets/reveal-component-CT2scTNG.js +91 -0
  322. package/dist/assets/reveal-component-DlPTFz1w.css +1 -0
  323. package/dist/assets/rotate-ccw-Bwso-5RT.js +1 -0
  324. package/dist/assets/rpm-Cepx5AK5.js +1 -0
  325. package/dist/assets/ruby-8a_JNJtC.js +1 -0
  326. package/dist/assets/run-page-BebSJHhp.js +1 -0
  327. package/dist/assets/runs-BBFoea9K.js +1 -0
  328. package/dist/assets/sankeyDiagram-TZEHDZUN-WXVSVZRc.js +10 -0
  329. package/dist/assets/sas-DRXu6Kkn.js +1 -0
  330. package/dist/assets/save-B_q9ApPf.js +1 -0
  331. package/dist/assets/scheme-DaBlDkbO.js +1 -0
  332. package/dist/assets/scratchpad-panel-CPn_yM49.js +1 -0
  333. package/dist/assets/secrets-panel-B6HrST_M.js +1 -0
  334. package/dist/assets/select-5i7URBEn.js +1 -0
  335. package/dist/assets/sequenceDiagram-WL72ISMW-FSYTKWFS.js +145 -0
  336. package/dist/assets/session-DdhIEena.js +1 -0
  337. package/dist/assets/session-panel-CfLYfSX2.js +1 -0
  338. package/dist/assets/settings-C_KZ1Eue.js +1 -0
  339. package/dist/assets/share-CJEPnWjm.js +1 -0
  340. package/dist/assets/shell-CEmng-T5.js +1 -0
  341. package/dist/assets/sieve-CTG31Wbe.js +1 -0
  342. package/dist/assets/slide-CdqatvaH.js +1 -0
  343. package/dist/assets/slides-BVvo79ll.css +1 -0
  344. package/dist/assets/smalltalk-DlBjAIRH.js +1 -0
  345. package/dist/assets/snippets-panel-tfceTIEM.js +1 -0
  346. package/dist/assets/sparkles-BRTQ46qC.js +1 -0
  347. package/dist/assets/sparql-D8XQtNgL.js +1 -0
  348. package/dist/assets/spec-6oUobewY.js +1 -0
  349. package/dist/assets/spinner-jEqwgi_c.js +1 -0
  350. package/dist/assets/square-function-DN3RwIjj.js +1 -0
  351. package/dist/assets/square-k2WwJdZy.js +1 -0
  352. package/dist/assets/src-COk1uIaa.js +1 -0
  353. package/dist/assets/state-BFFSWzNE.js +3 -0
  354. package/dist/assets/state-Dlj7aAV2.js +1 -0
  355. package/dist/assets/state-INwBo8-b.js +1 -0
  356. package/dist/assets/state-SzKMGrBW.js +1 -0
  357. package/dist/assets/stateDiagram-FKZM4ZOC-NXeF8b27.js +1 -0
  358. package/dist/assets/stateDiagram-v2-4FDKWEC3-co6cLoce.js +1 -0
  359. package/dist/assets/stex-CXcPf-7C.js +1 -0
  360. package/dist/assets/strings-md4mFbOQ.js +2 -0
  361. package/dist/assets/stylus-DpfM4Y-0.js +1 -0
  362. package/dist/assets/swift-Bevjlmsx.js +1 -0
  363. package/dist/assets/swiper-component-BIp7oQxt.js +1 -0
  364. package/dist/assets/swiper-component-a65-SW8d.css +1 -0
  365. package/dist/assets/switch-CqJGGLBT.js +1 -0
  366. package/dist/assets/table-6NxtGaCm.js +1 -0
  367. package/dist/assets/table-CZ3rujd6.js +1 -0
  368. package/dist/assets/tcl-CWB1W9St.js +1 -0
  369. package/dist/assets/terminal-6UFUAGzf.js +62 -0
  370. package/dist/assets/textarea-D2liylO5.js +1 -0
  371. package/dist/assets/textile-DrGyKlBQ.js +1 -0
  372. package/dist/assets/time-hqD5bg84.js +1 -0
  373. package/dist/assets/timeline-definition-IT6M3QCI-B3aCCYAY.js +61 -0
  374. package/dist/assets/toDate-B5A0DFEz.js +1 -0
  375. package/dist/assets/toml-CF49H3Gs.js +1 -0
  376. package/dist/assets/tooltip-Gcwqb_SK.js +1 -0
  377. package/dist/assets/tracing-BUxVK-Z_.js +1 -0
  378. package/dist/assets/tracing-panel-BZQdh8Uh.js +2 -0
  379. package/dist/assets/trash-2-C5AzNaHr.js +1 -0
  380. package/dist/assets/trash-BUseJO4n.js +1 -0
  381. package/dist/assets/tree-Dtn4o2IZ.js +3 -0
  382. package/dist/assets/treemap-GDKQZRPO-C7ssVrVz.js +1 -0
  383. package/dist/assets/triangle-alert-CBEvAwaa.js +1 -0
  384. package/dist/assets/troff-DS9glUnj.js +1 -0
  385. package/dist/assets/ttcn-cfg-D8JUANmi.js +1 -0
  386. package/dist/assets/ttcn-iXXxBDpr.js +1 -0
  387. package/dist/assets/turtle-IsYxGpD1.js +1 -0
  388. package/dist/assets/types-Bpx1EWqM.js +1 -0
  389. package/dist/assets/useAddCell-xtQoaf-X.js +1 -0
  390. package/dist/assets/useAsyncData-BRNkjHs1.js +1 -0
  391. package/dist/assets/useBoolean-D2Wc5G49.js +1 -0
  392. package/dist/assets/useCellActionButton-DXgH5B4A.js +1 -0
  393. package/dist/assets/useDateFormatter-_XK-fjTQ.js +1 -0
  394. package/dist/assets/useDebounce-BxKDvvzN.js +1 -0
  395. package/dist/assets/useDeleteCell-C1_f7lEy.js +1 -0
  396. package/dist/assets/useDependencyPanelTab-PKhgm9-V.js +1 -0
  397. package/dist/assets/useEventListener-BR0C1MaI.js +1 -0
  398. package/dist/assets/useHotkey-j1wCvjNq.js +1 -0
  399. package/dist/assets/useIframeCapabilities-Bqipv_jK.js +1 -0
  400. package/dist/assets/useInstallPackage-BHZ1EjqC.js +1 -0
  401. package/dist/assets/useInterval-BePSL0QQ.js +1 -0
  402. package/dist/assets/useLifecycle-DieWOfXE.js +1 -0
  403. package/dist/assets/useNotebookActions-BPt4w3KQ.js +1 -0
  404. package/dist/assets/useNumberFormatter-D_mZTdYK.js +1 -0
  405. package/dist/assets/usePress-Cj1lHaxt.js +7 -0
  406. package/dist/assets/useRunCells-cIxqHRwZ.js +1 -0
  407. package/dist/assets/useSplitCell-B0qjEpW1.js +1 -0
  408. package/dist/assets/useTheme-AmxLvSQ5.js +1 -0
  409. package/dist/assets/utils-DIGrmLDO.js +1 -0
  410. package/dist/assets/utils-DVodi8oQ.js +61 -0
  411. package/dist/assets/vb-CJBc18Ui.js +1 -0
  412. package/dist/assets/vbscript-f-536WNP.js +1 -0
  413. package/dist/assets/vega-component-Dh_sdcAu.js +1 -0
  414. package/dist/assets/vega-loader.browser-CRZ52CKf.js +6 -0
  415. package/dist/assets/velocity-BKcC2FIu.js +1 -0
  416. package/dist/assets/verilog-BwwsdDY5.js +1 -0
  417. package/dist/assets/vhdl-BG8PfJd8.js +1 -0
  418. package/dist/assets/webidl-BHBWV-F6.js +1 -0
  419. package/dist/assets/worker-ztl1wuLb.js +120 -0
  420. package/dist/assets/workflow-ktgLxNKJ.js +1 -0
  421. package/dist/assets/write-secret-modal-DNCTT09O.js +1 -0
  422. package/dist/assets/x-C-6liIBr.js +1 -0
  423. package/dist/assets/xquery-BSuR2Wlv.js +1 -0
  424. package/dist/assets/xychartDiagram-PRI3JC2R-eSL2LfH9.js +7 -0
  425. package/dist/assets/yacas-DdJ1FiXV.js +1 -0
  426. package/dist/assets/youtube-CXGBiuia.js +1 -0
  427. package/dist/assets/z80-BWehJ3ot.js +1 -0
  428. package/dist/index.html +167 -170
  429. package/package.json +4 -2
  430. package/src/__mocks__/requests.ts +1 -0
  431. package/src/components/data-table/TableBottomBar.tsx +5 -1
  432. package/src/components/data-table/__tests__/chart-spec-model.test.ts +14 -14
  433. package/src/components/data-table/__tests__/columns.test.tsx +104 -0
  434. package/src/components/data-table/__tests__/filters.test.ts +304 -0
  435. package/src/components/data-table/__tests__/pagination.test.tsx +46 -132
  436. package/src/components/data-table/__tests__/sentinel-cell.test.tsx +171 -0
  437. package/src/components/data-table/__tests__/types.test.ts +34 -1
  438. package/src/components/data-table/__tests__/utils.test.ts +227 -0
  439. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  440. package/src/components/data-table/column-header.tsx +11 -2
  441. package/src/components/data-table/column-summary/chart-spec-model.tsx +6 -3
  442. package/src/components/data-table/column-summary/column-summary.tsx +1 -1
  443. package/src/components/data-table/columns.tsx +48 -5
  444. package/src/components/data-table/export-actions.tsx +62 -23
  445. package/src/components/data-table/filters.ts +87 -33
  446. package/src/components/data-table/pagination.tsx +189 -76
  447. package/src/components/data-table/schemas.ts +8 -1
  448. package/src/components/data-table/sentinel-cell.tsx +118 -0
  449. package/src/components/data-table/types.ts +32 -11
  450. package/src/components/data-table/utils.ts +119 -1
  451. package/src/components/datasources/__tests__/missing-package-prompt.test.tsx +103 -0
  452. package/src/components/datasources/missing-package-prompt.tsx +49 -0
  453. package/src/components/editor/actions/useNotebookActions.tsx +12 -0
  454. package/src/components/editor/cell/code/cell-editor.tsx +1 -0
  455. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +33 -0
  456. package/src/components/editor/file-tree/file-explorer.tsx +8 -33
  457. package/src/components/editor/file-tree/requesting-tree.tsx +41 -0
  458. package/src/components/editor/file-tree/state.tsx +1 -0
  459. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +9 -17
  460. package/src/components/home/components.tsx +7 -0
  461. package/src/components/slides/reveal-component.tsx +109 -0
  462. package/src/components/slides/reveal-slides.css +42 -0
  463. package/src/components/slides/slides.css +0 -65
  464. package/src/components/slides/swiper-component.tsx +159 -0
  465. package/src/components/slides/swiper-slides.css +64 -0
  466. package/src/components/static-html/static-banner.tsx +23 -14
  467. package/src/components/ui/toast.tsx +16 -7
  468. package/src/core/cells/__tests__/apply-transaction.test.ts +483 -0
  469. package/src/core/cells/__tests__/cells.test.ts +110 -0
  470. package/src/core/cells/__tests__/logs.test.ts +101 -0
  471. package/src/core/cells/cells.ts +18 -0
  472. package/src/core/cells/document-changes.ts +34 -1
  473. package/src/core/cells/logs.ts +9 -1
  474. package/src/core/codemirror/__tests__/__snapshots__/setup.test.ts.snap +4 -14
  475. package/src/core/codemirror/cells/extensions.ts +0 -4
  476. package/src/core/codemirror/keymaps/keymaps.ts +69 -2
  477. package/src/core/constants.ts +1 -0
  478. package/src/core/islands/bridge.ts +1 -0
  479. package/src/core/mode.ts +10 -1
  480. package/src/core/network/requests-lazy.ts +1 -0
  481. package/src/core/network/requests-network.ts +8 -0
  482. package/src/core/network/requests-static.ts +1 -0
  483. package/src/core/network/requests-toasting.tsx +1 -0
  484. package/src/core/network/types.ts +3 -0
  485. package/src/core/wasm/__tests__/bridge.test.ts +113 -0
  486. package/src/core/wasm/bridge.ts +13 -2
  487. package/src/core/wasm/worker/types.ts +3 -0
  488. package/src/core/wasm/worker/worker.ts +1 -0
  489. package/src/plugins/core/__test__/trusted-url.test.ts +45 -1
  490. package/src/plugins/core/trusted-url.ts +27 -2
  491. package/src/plugins/impl/DataEditorPlugin.tsx +7 -3
  492. package/src/plugins/impl/DataTablePlugin.tsx +7 -20
  493. package/src/plugins/impl/FileBrowserPlugin.tsx +81 -81
  494. package/src/plugins/impl/TabsPlugin.tsx +18 -12
  495. package/src/plugins/impl/data-editor/__tests__/data-utils.test.ts +147 -149
  496. package/src/plugins/impl/data-editor/data-utils.ts +12 -11
  497. package/src/plugins/impl/data-editor/glide-data-editor.tsx +4 -4
  498. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +4 -4
  499. package/src/plugins/impl/data-frames/schema.ts +41 -9
  500. package/src/plugins/impl/data-frames/utils/operators.ts +2 -0
  501. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +16 -0
  502. package/src/plugins/layout/carousel/CarouselPlugin.tsx +3 -1
  503. package/dist/assets/CellStatus-Bwtcvgko.js +0 -1
  504. package/dist/assets/ConnectedDataExplorerComponent-B0Mh-Jhz.js +0 -1
  505. package/dist/assets/DeferredRequestRegistry-BLWK1eKa.js +0 -1
  506. package/dist/assets/ErrorBoundary-CxTq44MI.js +0 -1
  507. package/dist/assets/ImageComparisonComponent-DKZ20H-k.js +0 -1
  508. package/dist/assets/ImperativeModal-hsPVDTG-.js +0 -1
  509. package/dist/assets/Inputs-6ni2iCdV.js +0 -1
  510. package/dist/assets/JsonOutput-ZBMYDZ3q.js +0 -49
  511. package/dist/assets/LazyAnyLanguageCodeMirror-CsrwfW0n.js +0 -2
  512. package/dist/assets/MarimoErrorOutput-DLREr23s.js +0 -7
  513. package/dist/assets/Plot-DHwg76ki.js +0 -3789
  514. package/dist/assets/RSPContexts-DzigvqmT.js +0 -1
  515. package/dist/assets/RenderHTML-5FjN3OZH.js +0 -1
  516. package/dist/assets/__vite-browser-external-DT1nudb6.js +0 -1
  517. package/dist/assets/_basePickBy-C0EPK3Lm.js +0 -1
  518. package/dist/assets/_baseSet-49dbm-yb.js +0 -1
  519. package/dist/assets/_baseUniq-Mbsklgl4.js +0 -1
  520. package/dist/assets/add-cell-with-ai-DbPkyXyg.js +0 -92
  521. package/dist/assets/add-connection-dialog-sNnLlFNN.js +0 -167
  522. package/dist/assets/agent-panel-DMb4Q9pS.js +0 -287
  523. package/dist/assets/ai-model-dropdown-CZB8Xt_D.js +0 -5
  524. package/dist/assets/alert-DF3HbVtk.js +0 -1
  525. package/dist/assets/alert-dialog-C2mTH3GM.js +0 -11
  526. package/dist/assets/any-language-editor-DkEDDsUJ.js +0 -1
  527. package/dist/assets/apl-CuOurP-c.js +0 -1
  528. package/dist/assets/app-config-button-b2p8_NdZ.js +0 -1
  529. package/dist/assets/architecture-7HQA4BMR-Ch3DQout.js +0 -1
  530. package/dist/assets/architectureDiagram-VXUJARFQ-AnnUUivr.js +0 -36
  531. package/dist/assets/arrays-DAC2orgH.js +0 -1
  532. package/dist/assets/asciiarmor-C4q0KAuh.js +0 -1
  533. package/dist/assets/asn1-gmsDz0li.js +0 -1
  534. package/dist/assets/badge-CwbVR_sO.js +0 -1
  535. package/dist/assets/blockDiagram-VD42YOAC-BSbV1P7v.js +0 -122
  536. package/dist/assets/bot-message-square-BbnE8Q1J.js +0 -1
  537. package/dist/assets/brainfuck-RlYwG6Xx.js +0 -1
  538. package/dist/assets/button-COIw2x9i.js +0 -1
  539. package/dist/assets/c4Diagram-YG6GDRKO-mvY8KdgG.js +0 -10
  540. package/dist/assets/cache-panel-C3V9UubH.js +0 -1
  541. package/dist/assets/capabilities-BmGdj50E.js +0 -1
  542. package/dist/assets/card-DCTJ4k_v.js +0 -1
  543. package/dist/assets/cell-editor-BhmiBBOV.js +0 -22
  544. package/dist/assets/cell-link-DMyOfytV.js +0 -1
  545. package/dist/assets/cells-CAft_y9h.js +0 -229
  546. package/dist/assets/channel-QWYayEtd.js +0 -1
  547. package/dist/assets/chart-no-axes-column-CsXoiEZx.js +0 -1
  548. package/dist/assets/chat-display-CnlcyHaA.js +0 -1
  549. package/dist/assets/chat-panel-DujR1b5z.js +0 -3
  550. package/dist/assets/chat-ui-D-qk0TXi.js +0 -4
  551. package/dist/assets/check-B-sKate2.js +0 -1
  552. package/dist/assets/chevron-right-CgvDWFE3.js +0 -1
  553. package/dist/assets/chunk-4F5CHEZ2-BXUyRfDO.js +0 -1
  554. package/dist/assets/chunk-55IACEB6-CRnvfQlo.js +0 -1
  555. package/dist/assets/chunk-5FQGJX7Z-Cyc7d5AB.js +0 -113
  556. package/dist/assets/chunk-ABZYJK2D-C6__zbIg.js +0 -80
  557. package/dist/assets/chunk-ATLVNIR6-DioUoCL-.js +0 -1
  558. package/dist/assets/chunk-B2363JML-CY6QiDyK.js +0 -1
  559. package/dist/assets/chunk-B4BG7PRW-DO-H9cDE.js +0 -165
  560. package/dist/assets/chunk-DI55MBZ5-DWj-L2ic.js +0 -220
  561. package/dist/assets/chunk-EXTU4WIE-B_Um-dIN.js +0 -1
  562. package/dist/assets/chunk-FRFDVMJY-CjptiqNO.js +0 -1
  563. package/dist/assets/chunk-JA3XYJ7Z-WVXBR9gk.js +0 -70
  564. package/dist/assets/chunk-JZLCHNYA-D6hMv1Qk.js +0 -54
  565. package/dist/assets/chunk-N4CR4FBY-DEy2vl_t.js +0 -2
  566. package/dist/assets/chunk-PL6DKKU2-BdoRD2nE.js +0 -1
  567. package/dist/assets/chunk-QN33PNHL-CC2wokMI.js +0 -1
  568. package/dist/assets/chunk-QXUST7PY-B7IiJgbH.js +0 -7
  569. package/dist/assets/chunk-S3R3BYOJ-QzFziHq0.js +0 -2
  570. package/dist/assets/chunk-SJTYNZTY-rJzTNWIe.js +0 -1
  571. package/dist/assets/chunk-TCCFYFTB-ByQR3Ftq.js +0 -125
  572. package/dist/assets/chunk-TQ3KTPDO-CURFAmMV.js +0 -1
  573. package/dist/assets/chunk-TZMSLE5B-D1IHu2ux.js +0 -1
  574. package/dist/assets/chunk-UMXZTB3W-C4miLMVf.js +0 -1
  575. package/dist/assets/circle-check-DlWaawuO.js +0 -1
  576. package/dist/assets/circle-play-Ddna5GuC.js +0 -1
  577. package/dist/assets/circle-plus-ifSmVHqa.js +0 -1
  578. package/dist/assets/classDiagram-2ON5EDUG-BANhktcu.js +0 -1
  579. package/dist/assets/classDiagram-v2-WZHVMYZB-D9c1d8Pg.js +0 -1
  580. package/dist/assets/clear-button-DpuufuDm.js +0 -1
  581. package/dist/assets/clike-0Uxq7Mmj.js +0 -1
  582. package/dist/assets/clipboard-paste-Br9mwBe9.js +0 -1
  583. package/dist/assets/clojure-DaWCBM5I.js +0 -1
  584. package/dist/assets/clone-DrGu00U8.js +0 -1
  585. package/dist/assets/cmake-Nobmxv0n.js +0 -1
  586. package/dist/assets/cn-DYvqRARy.js +0 -1
  587. package/dist/assets/cobol--NmnvDWE.js +0 -1
  588. package/dist/assets/code-block-37QAKDTI-Cfn-cGs0.js +0 -2
  589. package/dist/assets/code-xml-DxxzgVgU.js +0 -1
  590. package/dist/assets/coffeescript-Cv1Wf46X.js +0 -1
  591. package/dist/assets/column-preview-D2B6qQUU.js +0 -1
  592. package/dist/assets/command-DnzBp4l4.js +0 -1
  593. package/dist/assets/command-palette-eS5sJOYR.js +0 -1
  594. package/dist/assets/common-BK4i6reD.js +0 -1
  595. package/dist/assets/commonlisp-8PbUodZQ.js +0 -1
  596. package/dist/assets/components-CviIANwr.js +0 -1
  597. package/dist/assets/components-Dta3XEEY.js +0 -1
  598. package/dist/assets/config-DoZCLcOb.js +0 -1
  599. package/dist/assets/constants-tOPFFcLZ.js +0 -1
  600. package/dist/assets/context-DGqo1TbK.js +0 -1
  601. package/dist/assets/copy-Bizk-4hH.js +0 -1
  602. package/dist/assets/copy-DFMsQ6MJ.js +0 -1
  603. package/dist/assets/copy-icon-Ci08KCdY.js +0 -1
  604. package/dist/assets/cose-bilkent-S5V4N54A-BpHOyjit.js +0 -1
  605. package/dist/assets/createReducer-CYlwteGD.js +0 -1
  606. package/dist/assets/crystal-DOOJCjhq.js +0 -1
  607. package/dist/assets/css-vLkD8PfS.js +0 -1
  608. package/dist/assets/cypher-Aazxis5r.js +0 -1
  609. package/dist/assets/d-B-5Jnu40.js +0 -1
  610. package/dist/assets/dagre-6UL2VRFP-BHbCmhc1.js +0 -4
  611. package/dist/assets/dagre-BhaTummv.js +0 -1
  612. package/dist/assets/data-grid-overlay-editor-B6BRn3Yh.js +0 -1
  613. package/dist/assets/database-zap-BxfYZ6ML.js +0 -1
  614. package/dist/assets/datasource-C1kSlT4s.js +0 -3
  615. package/dist/assets/dates-stqTIkXD.js +0 -1
  616. package/dist/assets/debounce-BbSyBDA8.js +0 -1
  617. package/dist/assets/dependency-graph-panel-CMZnqwyn.js +0 -5
  618. package/dist/assets/diagram-PSM6KHXK-UdiW7QQb.js +0 -24
  619. package/dist/assets/diagram-QEK2KX5R-3ZxYNJPR.js +0 -43
  620. package/dist/assets/diagram-S2PKOQOG-C5dLQnUR.js +0 -24
  621. package/dist/assets/dialog-H-hXtEOq.js +0 -1
  622. package/dist/assets/diff-8GFZiZ2V.js +0 -1
  623. package/dist/assets/dist-04hxiWlB.js +0 -1
  624. package/dist/assets/dist-4lB-oR9j.js +0 -1
  625. package/dist/assets/dist-B1XdVflW.js +0 -1
  626. package/dist/assets/dist-B6i4q8vX.js +0 -1
  627. package/dist/assets/dist-BNTOYRCs.js +0 -1
  628. package/dist/assets/dist-BPkOpnKv.js +0 -2
  629. package/dist/assets/dist-BQuOw7vA.js +0 -1
  630. package/dist/assets/dist-BYHplnRv.js +0 -1
  631. package/dist/assets/dist-BZIkwcpM.js +0 -1
  632. package/dist/assets/dist-BaQhtL0H.js +0 -1
  633. package/dist/assets/dist-BrK3C3Mc.js +0 -1
  634. package/dist/assets/dist-BrR2nUId.js +0 -1
  635. package/dist/assets/dist-BuHKsU8Z.js +0 -7
  636. package/dist/assets/dist-BvlMLwcr.js +0 -6
  637. package/dist/assets/dist-ByWFdhfz.js +0 -7
  638. package/dist/assets/dist-C0ZJnmgG.js +0 -1
  639. package/dist/assets/dist-C80Ed7Y5.js +0 -3
  640. package/dist/assets/dist-CHgkfE72.js +0 -1
  641. package/dist/assets/dist-CJDjz8TY.js +0 -1
  642. package/dist/assets/dist-CQvRfEJt.js +0 -1
  643. package/dist/assets/dist-CWLNI6B7.js +0 -1
  644. package/dist/assets/dist-CaQ_ONVt.js +0 -1
  645. package/dist/assets/dist-CgYlATe-.js +0 -3
  646. package/dist/assets/dist-CsTHFGvB.js +0 -1
  647. package/dist/assets/dist-CxquLoAZ.js +0 -1
  648. package/dist/assets/dist-D281cBMB.js +0 -1
  649. package/dist/assets/dist-D797J-u_.js +0 -1
  650. package/dist/assets/dist-DDiNOVwA.js +0 -1
  651. package/dist/assets/dist-DW-_Bd4t.js +0 -1
  652. package/dist/assets/dist-DZJfxwLb.js +0 -2
  653. package/dist/assets/dist-D_Lhmjyi.js +0 -1
  654. package/dist/assets/dist-DjS0QmS_.js +0 -1
  655. package/dist/assets/dist-Dl90TzK0.js +0 -1
  656. package/dist/assets/dist-DlC_MlJ3.js +0 -1
  657. package/dist/assets/dist-Dnlw22ji.js +0 -13
  658. package/dist/assets/dist-Dz1-lL07.js +0 -1
  659. package/dist/assets/dist-Gx6Yy96j.js +0 -1
  660. package/dist/assets/dist-Hgde9xRP.js +0 -1
  661. package/dist/assets/dist-IBCCX0qd.js +0 -1
  662. package/dist/assets/dist-VwkX7yeV.js +0 -13
  663. package/dist/assets/dist-Yk16cgLk.js +0 -1
  664. package/dist/assets/dist-ZzjYvfSN.js +0 -1
  665. package/dist/assets/dist-aDPblQOY.js +0 -1
  666. package/dist/assets/dist-bOlBcn5A.js +0 -1
  667. package/dist/assets/dist-eH2iPs-V.js +0 -1
  668. package/dist/assets/dist-fPjTlo0F.js +0 -1
  669. package/dist/assets/dist-sZgjGm4S.js +0 -1
  670. package/dist/assets/dist-umvL589W.js +0 -1
  671. package/dist/assets/dockerfile-CmMwYXtW.js +0 -1
  672. package/dist/assets/documentation-panel-D9WN55Gq.js +0 -1
  673. package/dist/assets/download-COyB8G-Y.js +0 -9
  674. package/dist/assets/dropdown-menu-DrHAuMTb.js +0 -1
  675. package/dist/assets/dtd-DbhDFQ4b.js +0 -1
  676. package/dist/assets/dylan-4K5wZgOx.js +0 -1
  677. package/dist/assets/ecl-BCQ-LzuG.js +0 -1
  678. package/dist/assets/edit-page-DlRqSgY9.js +0 -9
  679. package/dist/assets/eiffel-DjgNAio4.js +0 -1
  680. package/dist/assets/ellipsis-DidENKDy.js +0 -1
  681. package/dist/assets/ellipsis-vertical-DEH0lwkn.js +0 -1
  682. package/dist/assets/elm-BJzUTgDF.js +0 -1
  683. package/dist/assets/empty-state-BbLVXQU7.js +0 -1
  684. package/dist/assets/en-US-JRtp5zfw.js +0 -1
  685. package/dist/assets/erDiagram-Q2GNP2WA-CZOjIM5c.js +0 -60
  686. package/dist/assets/erlang-BMwCh1Tz.js +0 -1
  687. package/dist/assets/error-banner-frvr6JXK.js +0 -1
  688. package/dist/assets/error-panel-5I4mWGfs.js +0 -1
  689. package/dist/assets/es-ISEb5HNL.js +0 -5
  690. package/dist/assets/esm-BqofWdD5.js +0 -1
  691. package/dist/assets/esm-D1fwWXHg.js +0 -1
  692. package/dist/assets/eye-off-DgRJ-xBZ.js +0 -1
  693. package/dist/assets/factor-B-0VZGQP.js +0 -1
  694. package/dist/assets/factor-DuQK79vi.js +0 -1
  695. package/dist/assets/field-DaQqUJ5I.js +0 -1
  696. package/dist/assets/file-explorer-panel-B86r63YC.js +0 -26
  697. package/dist/assets/file-headphone-5_PGMxRL.js +0 -1
  698. package/dist/assets/file-icons-CRsc39Ny.js +0 -1
  699. package/dist/assets/file-l37OnSN4.js +0 -1
  700. package/dist/assets/fileToBase64-D7Ur9Qxq.js +0 -1
  701. package/dist/assets/floating-outline-Cj9Gdjkf.js +0 -1
  702. package/dist/assets/flowDiagram-NV44I4VS-D_6XQmDF.js +0 -162
  703. package/dist/assets/focus-BtOH5aLt.js +0 -1
  704. package/dist/assets/form-Dd-gRdD5.js +0 -2
  705. package/dist/assets/formats-BQHP_yQk.js +0 -1
  706. package/dist/assets/formatting-BCAZDWQ0.js +0 -1
  707. package/dist/assets/forth-CN0H2hBb.js +0 -1
  708. package/dist/assets/fortran-D-JaE1fl.js +0 -1
  709. package/dist/assets/fullscreen-k58KVlT-.js +0 -41
  710. package/dist/assets/gallery-page-BDI9wEUZ.js +0 -1
  711. package/dist/assets/ganttDiagram-JELNMOA3-KWj06bYC.js +0 -267
  712. package/dist/assets/gas-B-bID6UX.js +0 -1
  713. package/dist/assets/get-D7jeR2wg.js +0 -1
  714. package/dist/assets/gherkin-JGxOpXhU.js +0 -1
  715. package/dist/assets/gitGraph-G5XIXVHT-DhmryHL1.js +0 -1
  716. package/dist/assets/gitGraphDiagram-V2S2FVAM-B3wFQI4T.js +0 -65
  717. package/dist/assets/github-C3N4cuN4.js +0 -1
  718. package/dist/assets/glide-data-editor-QI6B6uKw.js +0 -132
  719. package/dist/assets/globals-Bu6OEURn.js +0 -1
  720. package/dist/assets/graphlib-V7iwZMUS.js +0 -1
  721. package/dist/assets/groovy-BHPB9Hfx.js +0 -1
  722. package/dist/assets/hasIn-DafhTYio.js +0 -1
  723. package/dist/assets/haskell-By6RbCCv.js +0 -1
  724. package/dist/assets/haxe-HQiVsOCF.js +0 -1
  725. package/dist/assets/home-page-B320ImBG.js +0 -4
  726. package/dist/assets/hooks-B5RY2sms.js +0 -1
  727. package/dist/assets/html-to-image-WCAzCguU.js +0 -2
  728. package/dist/assets/icons-DlzgV4KY.js +0 -1
  729. package/dist/assets/idl-B2iocbwq.js +0 -1
  730. package/dist/assets/image-BgkzrnsX.js +0 -1
  731. package/dist/assets/index-BjVgEJVi.js +0 -42
  732. package/dist/assets/index-CKRn_SiB.css +0 -2
  733. package/dist/assets/info-VBDWY6EO-DrmKMqYO.js +0 -1
  734. package/dist/assets/infoDiagram-HS3SLOUP-DihiLNx1.js +0 -2
  735. package/dist/assets/input-DNCT6U6R.js +0 -1
  736. package/dist/assets/isArrayLikeObject-ODovYgPQ.js +0 -1
  737. package/dist/assets/isEmpty-Do0cOI51.js +0 -1
  738. package/dist/assets/isValid-U-UFA9KI.js +0 -1
  739. package/dist/assets/javascript-CTjlnOSz.js +0 -1
  740. package/dist/assets/journeyDiagram-XKPGCS4Q-CyzBM2zk.js +0 -139
  741. package/dist/assets/julia-BiUkdI9P.js +0 -1
  742. package/dist/assets/kanban-definition-3W4ZIXB7-9wLZ4rew.js +0 -89
  743. package/dist/assets/kbd-BUtlbGdu.js +0 -1
  744. package/dist/assets/kiosk-mode-CJ7p0kAg.js +0 -1
  745. package/dist/assets/label-C89F4v17.js +0 -1
  746. package/dist/assets/layout-CnhRBcnG.js +0 -9
  747. package/dist/assets/linear-BICTUQLW.js +0 -1
  748. package/dist/assets/link-dU_vDDSR.js +0 -1
  749. package/dist/assets/links-C19POYUQ.js +0 -1
  750. package/dist/assets/links-DOybeRem.js +0 -1
  751. package/dist/assets/livescript-uNIpKRlq.js +0 -1
  752. package/dist/assets/logs-panel-DG3RlQaY.js +0 -1
  753. package/dist/assets/loro_wasm_bg-BQvuJIS2.js +0 -1
  754. package/dist/assets/lua-CMIwWFMm.js +0 -1
  755. package/dist/assets/maps-B4xARV9R.js +0 -1
  756. package/dist/assets/marimo-icons-Dp8wmdDL.js +0 -1
  757. package/dist/assets/markdown-renderer-BDdzHOwK.js +0 -5
  758. package/dist/assets/mathematica-eDJrChdG.js +0 -1
  759. package/dist/assets/mbox-zqvBlhy3.js +0 -1
  760. package/dist/assets/memoize-BwAF2XN5.js +0 -1
  761. package/dist/assets/menu-items-Dtw5N98_.js +0 -1
  762. package/dist/assets/merge-BOaDhCTH.js +0 -1
  763. package/dist/assets/mermaid-4DMBBIKO--O9SSBwI.js +0 -1
  764. package/dist/assets/mermaid-BPufPrIN.js +0 -11
  765. package/dist/assets/mermaid-parser.core-CvPV98yl.js +0 -4
  766. package/dist/assets/message-circle-DiHwtSG8.js +0 -1
  767. package/dist/assets/min-DWLDRnm3.js +0 -1
  768. package/dist/assets/mindmap-definition-VGOIOE7T-B5l11lp6.js +0 -68
  769. package/dist/assets/mirc-DA5aApOX.js +0 -1
  770. package/dist/assets/mllike-bIsNpdn1.js +0 -1
  771. package/dist/assets/modelica-0mx6heI0.js +0 -1
  772. package/dist/assets/mscgen-BKLWiiDn.js +0 -1
  773. package/dist/assets/multi-icon-CGRsWmew.js +0 -1
  774. package/dist/assets/multi-map-MSuUqmbC.js +0 -1
  775. package/dist/assets/mumps-5_kXgafg.js +0 -1
  776. package/dist/assets/name-cell-input-68gHDuvg.js +0 -1
  777. package/dist/assets/now-DNX1lT2d.js +0 -1
  778. package/dist/assets/nsis-DGDbP9K4.js +0 -1
  779. package/dist/assets/nsis-DOhuqhNG.js +0 -1
  780. package/dist/assets/ntriples-BWf6tqTo.js +0 -1
  781. package/dist/assets/number-overlay-editor-cvUhY9ie.js +0 -9
  782. package/dist/assets/numbers--nDjbAPa.js +0 -1
  783. package/dist/assets/octave-DmFvn7Va.js +0 -1
  784. package/dist/assets/once-hq2TLzOp.js +0 -1
  785. package/dist/assets/outline-panel-Dr0105mz.js +0 -1
  786. package/dist/assets/oz-TIwA1cRs.js +0 -1
  787. package/dist/assets/packages-panel-CZHZDUXZ.js +0 -1
  788. package/dist/assets/packet-DYOGHKS2-CwDZ6UjC.js +0 -1
  789. package/dist/assets/panel-context-aIZ10ULn.js +0 -1
  790. package/dist/assets/panels-DkMIu1eO.js +0 -1
  791. package/dist/assets/pascal-BFfHjByI.js +0 -1
  792. package/dist/assets/perl-iyEBGoKl.js +0 -1
  793. package/dist/assets/pick-neNJUP_8.js +0 -1
  794. package/dist/assets/pie-VRWISCQL-OxD1_FlH.js +0 -1
  795. package/dist/assets/pieDiagram-ADFJNKIX-ixj1Ihpk.js +0 -30
  796. package/dist/assets/pig-Du8JEd9u.js +0 -1
  797. package/dist/assets/play-BdC4C3dp.js +0 -1
  798. package/dist/assets/plus-BYq_Btg-.js +0 -1
  799. package/dist/assets/popover-AtoFZ7i4.js +0 -1
  800. package/dist/assets/powershell-rJPOSwVp.js +0 -1
  801. package/dist/assets/precisionRound-CU2C3Vxx.js +0 -1
  802. package/dist/assets/process-output-CGSREMph.js +0 -1
  803. package/dist/assets/properties-B7p1o35g.js +0 -1
  804. package/dist/assets/protobuf-DSVPm4uR.js +0 -1
  805. package/dist/assets/pug-5wW7Sn9S.js +0 -1
  806. package/dist/assets/pug-BBnJinJ-.js +0 -1
  807. package/dist/assets/puppet-CvB_7oA0.js +0 -1
  808. package/dist/assets/purify.es-BFDc-_i_.js +0 -2
  809. package/dist/assets/python-D-LGD-zO.js +0 -1
  810. package/dist/assets/q-s96Dgstm.js +0 -1
  811. package/dist/assets/quadrantDiagram-AYHSOK5B-DAgQxEHI.js +0 -7
  812. package/dist/assets/r-DCKN0Q_M.js +0 -1
  813. package/dist/assets/radar-ZZBFDIW7-DJSwOnYp.js +0 -1
  814. package/dist/assets/range-D-0CV4c0.js +0 -1
  815. package/dist/assets/react-vega-BVBnH7ue.js +0 -190
  816. package/dist/assets/react-vega-BfEZWy9T.js +0 -1
  817. package/dist/assets/readonly-python-code-3lQBDicq.js +0 -1
  818. package/dist/assets/refresh-ccw-CfYqAbmq.js +0 -1
  819. package/dist/assets/refresh-cw-CiOe0azG.js +0 -1
  820. package/dist/assets/renderShortcut-DrDh2657.js +0 -1
  821. package/dist/assets/request-registry-1QRLEb_0.js +0 -1
  822. package/dist/assets/requests-9-v2bhoi.js +0 -1
  823. package/dist/assets/requirementDiagram-UZGBJVZJ-DC0CM6P-.js +0 -64
  824. package/dist/assets/rotate-ccw-JPx2hOFZ.js +0 -1
  825. package/dist/assets/rpm-DKF6hj80.js +0 -1
  826. package/dist/assets/ruby-DrHWYpO-.js +0 -1
  827. package/dist/assets/run-page-DX60GJ1i.js +0 -1
  828. package/dist/assets/runs-Qc-nusQ0.js +0 -1
  829. package/dist/assets/sankeyDiagram-TZEHDZUN-DAWWzAvZ.js +0 -10
  830. package/dist/assets/sas-Bf--oEyw.js +0 -1
  831. package/dist/assets/save-bKSHuTCo.js +0 -1
  832. package/dist/assets/scheme-BZSq5_CL.js +0 -1
  833. package/dist/assets/scratchpad-panel-DxI-sH1n.js +0 -1
  834. package/dist/assets/secrets-panel-DWMqzwkS.js +0 -1
  835. package/dist/assets/select-BwwUWhww.js +0 -1
  836. package/dist/assets/sequenceDiagram-WL72ISMW-Dmh7vbtw.js +0 -145
  837. package/dist/assets/session-DdnWW30b.js +0 -1
  838. package/dist/assets/session-panel-DxZNtbiE.js +0 -1
  839. package/dist/assets/settings-C1bg8A2T.js +0 -1
  840. package/dist/assets/share-0LPgOyiW.js +0 -1
  841. package/dist/assets/shell-C5LsobAY.js +0 -1
  842. package/dist/assets/sieve-B6cTRfjv.js +0 -1
  843. package/dist/assets/slides-component-BZCkobYT.css +0 -1
  844. package/dist/assets/slides-component-ncUJNz7U.js +0 -1
  845. package/dist/assets/smalltalk-B-ZeF8oP.js +0 -1
  846. package/dist/assets/snippets-panel-CFXjJW29.js +0 -1
  847. package/dist/assets/sparkles-B79Qf6ma.js +0 -1
  848. package/dist/assets/sparql-hKgXdTt3.js +0 -1
  849. package/dist/assets/spec-DqqZbNbU.js +0 -1
  850. package/dist/assets/spinner-C5wIpWgQ.js +0 -1
  851. package/dist/assets/square-COtNnHUC.js +0 -1
  852. package/dist/assets/square-function-BecUoMho.js +0 -1
  853. package/dist/assets/src-lJewPvdk.js +0 -1
  854. package/dist/assets/state-BFn0AerH.js +0 -3
  855. package/dist/assets/state-BZaEj59U.js +0 -1
  856. package/dist/assets/state-BgrGQPFs.js +0 -1
  857. package/dist/assets/state-CDUQVvOe.js +0 -1
  858. package/dist/assets/stateDiagram-FKZM4ZOC-D9krI4Nw.js +0 -1
  859. package/dist/assets/stateDiagram-v2-4FDKWEC3-CbPEQmLi.js +0 -1
  860. package/dist/assets/stex-Dn4qnyVB.js +0 -1
  861. package/dist/assets/strings-pfr2N700.js +0 -2
  862. package/dist/assets/stylus-MJ5VouuS.js +0 -1
  863. package/dist/assets/swift-jqL65uqK.js +0 -1
  864. package/dist/assets/switch-YkPg_CVc.js +0 -1
  865. package/dist/assets/table-B03CpBmt.js +0 -1
  866. package/dist/assets/table-qC3alE1r.js +0 -1
  867. package/dist/assets/tcl-D9FDKTky.js +0 -1
  868. package/dist/assets/terminal-BEaHyVIQ.js +0 -62
  869. package/dist/assets/textarea-CWy4stSy.js +0 -1
  870. package/dist/assets/textile-Ne1MkNjB.js +0 -1
  871. package/dist/assets/time-DLcLlk0u.js +0 -1
  872. package/dist/assets/timeline-definition-IT6M3QCI-DknnNgba.js +0 -61
  873. package/dist/assets/toDate-BGIVWsZ9.js +0 -1
  874. package/dist/assets/toFinite-2vTWYoIX.js +0 -1
  875. package/dist/assets/toNumber-BvwE1TMv.js +0 -1
  876. package/dist/assets/toml-Ba1TjbvG.js +0 -1
  877. package/dist/assets/tooltip-DmqhBBs6.js +0 -1
  878. package/dist/assets/tracing-CIygWG5q.js +0 -1
  879. package/dist/assets/tracing-panel-Dk7FE-7H.js +0 -2
  880. package/dist/assets/trash-2-DunI72kV.js +0 -1
  881. package/dist/assets/trash-9_cXnavq.js +0 -1
  882. package/dist/assets/tree-B2IkUHDB.js +0 -3
  883. package/dist/assets/treemap-GDKQZRPO-DQhwLg1W.js +0 -1
  884. package/dist/assets/triangle-alert-DJ8dAd4j.js +0 -1
  885. package/dist/assets/troff-ClRZFpM8.js +0 -1
  886. package/dist/assets/ttcn-JOxk9-wl.js +0 -1
  887. package/dist/assets/ttcn-cfg-D-oWP0t7.js +0 -1
  888. package/dist/assets/turtle-CfJStbTs.js +0 -1
  889. package/dist/assets/types-BteCqkNg.js +0 -1
  890. package/dist/assets/useAddCell-BZ5oFC7U.js +0 -1
  891. package/dist/assets/useAsyncData-aCoWDe-l.js +0 -1
  892. package/dist/assets/useBoolean-Dk1Mb_so.js +0 -1
  893. package/dist/assets/useCellActionButton-Dd3hgOb6.js +0 -1
  894. package/dist/assets/useDateFormatter-BEz9SEXo.js +0 -1
  895. package/dist/assets/useDebounce-LVL1r3-M.js +0 -1
  896. package/dist/assets/useDeleteCell-BHcPGuXL.js +0 -1
  897. package/dist/assets/useDependencyPanelTab-B94SJnJl.js +0 -1
  898. package/dist/assets/useEventListener-DGjKht0c.js +0 -1
  899. package/dist/assets/useHotkey-DALUNe8I.js +0 -1
  900. package/dist/assets/useIframeCapabilities-C8jvQ1Lj.js +0 -1
  901. package/dist/assets/useInstallPackage-CeM6oPsT.js +0 -1
  902. package/dist/assets/useInterval-BTxxJQ7C.js +0 -1
  903. package/dist/assets/useLifecycle-N3bfh_O1.js +0 -1
  904. package/dist/assets/useNotebookActions-PmHNCN16.js +0 -1
  905. package/dist/assets/useNumberFormatter-wQU1z0W_.js +0 -1
  906. package/dist/assets/usePress-BXMIcLWP.js +0 -7
  907. package/dist/assets/useRunCells-BJn5ZEb6.js +0 -1
  908. package/dist/assets/useSplitCell-Bfb8riCm.js +0 -1
  909. package/dist/assets/useTheme-DCDmxPD0.js +0 -1
  910. package/dist/assets/utils-8btzWeZg.js +0 -1
  911. package/dist/assets/utils-BZwMGX81.js +0 -61
  912. package/dist/assets/vb-DtMAcbIy.js +0 -1
  913. package/dist/assets/vbscript-CUB17r-X.js +0 -1
  914. package/dist/assets/vega-component-DtSTT5wO.js +0 -1
  915. package/dist/assets/vega-loader.browser-DXARUlxo.js +0 -6
  916. package/dist/assets/velocity-Dwo66olV.js +0 -1
  917. package/dist/assets/verilog-DuexQCyX.js +0 -1
  918. package/dist/assets/vhdl-Mgyyw75F.js +0 -1
  919. package/dist/assets/webidl-DZaOA0mR.js +0 -1
  920. package/dist/assets/worker-BPV9SmHz.js +0 -120
  921. package/dist/assets/workflow-BAgKBPlq.js +0 -1
  922. package/dist/assets/write-secret-modal-CInxHVWJ.js +0 -1
  923. package/dist/assets/x-Bv2rCglF.js +0 -1
  924. package/dist/assets/xquery-DpQixCSm.js +0 -1
  925. package/dist/assets/xychartDiagram-PRI3JC2R-DgjhbmH4.js +0 -7
  926. package/dist/assets/yacas-B1gHpHXz.js +0 -1
  927. package/dist/assets/youtube-D6LtMx2w.js +0 -1
  928. package/dist/assets/z80-IF9HkI5m.js +0 -1
  929. package/src/components/slides/slides-component.tsx +0 -158
  930. /package/dist/assets/{Deferred-DxQeE5uh.js → Deferred-Bk0r4KDZ.js} +0 -0
  931. /package/dist/assets/{SSRProvider-D3zWcDme.js → SSRProvider-1sSrgJwI.js} +0 -0
  932. /package/dist/assets/{apl-CArdF_Ee.js → apl-BYqtBlld.js} +0 -0
  933. /package/dist/assets/{asciiarmor-rf6n_8YZ.js → asciiarmor-DUW0Iozu.js} +0 -0
  934. /package/dist/assets/{asn1-Bl4vlAxN.js → asn1-ClnHsHDP.js} +0 -0
  935. /package/dist/assets/{azure-C2phEgLq.js → azure-BGC9_IAe.js} +0 -0
  936. /package/dist/assets/{blob-CTort_or.js → blob-CpeNXBj-.js} +0 -0
  937. /package/dist/assets/{brainfuck-CWRjg_-2.js → brainfuck-FB_E90sw.js} +0 -0
  938. /package/dist/assets/{bundle.esm-BIoPrMH_.js → bundle.esm-sq57iaa5.js} +0 -0
  939. /package/dist/assets/{cjs-D5tzp-Y6.js → cjs-BRGiG41H.js} +0 -0
  940. /package/dist/assets/{clike-B4xEkWXN.js → clike-B7PZCnaI.js} +0 -0
  941. /package/dist/assets/{clojure-04C6o-hL.js → clojure-DtLrahuY.js} +0 -0
  942. /package/dist/assets/{clsx-XrBBnd7s.js → clsx-Dz_KRrWq.js} +0 -0
  943. /package/dist/assets/{cmake-Dh64a3j4.js → cmake-DGfhkTv5.js} +0 -0
  944. /package/dist/assets/{cobol-B24ofC4q.js → cobol-Cpbk-vCU.js} +0 -0
  945. /package/dist/assets/{coffeescript-B0i0O-b-.js → coffeescript-BATQF8kE.js} +0 -0
  946. /package/dist/assets/{commonlisp-NXg-Bye5.js → commonlisp-C9N48zGs.js} +0 -0
  947. /package/dist/assets/{createLucideIcon-w-Qo9n0R.js → createLucideIcon-D5guW7EU.js} +0 -0
  948. /package/dist/assets/{crystal-BOjNTZjx.js → crystal-D2nrZv1k.js} +0 -0
  949. /package/dist/assets/{css-C_vknI7E.js → css-DNoZFvlx.js} +0 -0
  950. /package/dist/assets/{cypher-DwQoZmH9.js → cypher-6TFCZzgE.js} +0 -0
  951. /package/dist/assets/{d-xedQGhmO.js → d-DHH1X7PS.js} +0 -0
  952. /package/dist/assets/{defaultLocale-BLne0bXb.js → defaultLocale-C92Rrpmf.js} +0 -0
  953. /package/dist/assets/{defaultLocale-JieDVWC_.js → defaultLocale-D_rSvXvJ.js} +0 -0
  954. /package/dist/assets/{diff-ChFnp8JW.js → diff-DNDp4fOd.js} +0 -0
  955. /package/dist/assets/{dtd-KbDPyUs4.js → dtd-BYdB19UC.js} +0 -0
  956. /package/dist/assets/{dylan-0KH4Nowk.js → dylan-3sqQfqPE.js} +0 -0
  957. /package/dist/assets/{ecl-B5iM_b7s.js → ecl-79y60Sdt.js} +0 -0
  958. /package/dist/assets/{eiffel-sVM1STl5.js → eiffel-Cy1qkCDz.js} +0 -0
  959. /package/dist/assets/{elm-BlNENVB6.js → elm-DrRzHEES.js} +0 -0
  960. /package/dist/assets/{emotion-is-prop-valid.esm-DYxi7n2b.js → emotion-is-prop-valid.esm-UWgehH47.js} +0 -0
  961. /package/dist/assets/{erlang-C0uOSFok.js → erlang-D3BTE-y0.js} +0 -0
  962. /package/dist/assets/{errors-CZb6hI2x.js → errors-DVkmLSXX.js} +0 -0
  963. /package/dist/assets/{events-Qeh-bHlj.js → events-CWUex2qo.js} +0 -0
  964. /package/dist/assets/{extends-Co37_JfG.js → extends-q1GgI0Ag.js} +0 -0
  965. /package/dist/assets/{forth-Dkvgp5v0.js → forth-DGce5eRS.js} +0 -0
  966. /package/dist/assets/{fortran-DWGt9NN5.js → fortran-CS97oQQW.js} +0 -0
  967. /package/dist/assets/{gas-ucVnXY28.js → gas-7e_zvN4u.js} +0 -0
  968. /package/dist/assets/{gherkin-BRjIORXo.js → gherkin-3f1nzx4Y.js} +0 -0
  969. /package/dist/assets/{groovy-BwyAyRPC.js → groovy-Bn1MvSId.js} +0 -0
  970. /package/dist/assets/{haskell-Cs-Andhs.js → haskell-qtyafuM6.js} +0 -0
  971. /package/dist/assets/{haxe-BW46cyaq.js → haxe-CQwWk_Ht.js} +0 -0
  972. /package/dist/assets/{idl-BGiQ18ct.js → idl-BnUby_AK.js} +0 -0
  973. /package/dist/assets/{invariant-CkiqGLcK.js → invariant-BUdrueMv.js} +0 -0
  974. /package/dist/assets/{javascript-I9_Q-6Fg.js → javascript-BFKHKHDt.js} +0 -0
  975. /package/dist/assets/{jsx-runtime-Blw4afVn.js → jsx-runtime-BqBOg78p.js} +0 -0
  976. /package/dist/assets/{julia-Wfay9brY.js → julia-BZeLe6be.js} +0 -0
  977. /package/dist/assets/{livescript-J6EnSQWw.js → livescript-LB6oZdgV.js} +0 -0
  978. /package/dist/assets/{loro_wasm_bg-B_AVgvOe.js → loro_wasm_bg-DSqjo7Pf.js} +0 -0
  979. /package/dist/assets/{lua-BO_knq_Q.js → lua-D73MeF_d.js} +0 -0
  980. /package/dist/assets/{main-BNL5rxQw.js → main-B0OX4z33.js} +0 -0
  981. /package/dist/assets/{mathematica-DU8ikXHk.js → mathematica-SckqhulL.js} +0 -0
  982. /package/dist/assets/{mbox-Dzzw6MxI.js → mbox-DpdjYR8y.js} +0 -0
  983. /package/dist/assets/{micromark-factory-space-DzSMahmM.js → micromark-factory-space-8Uk-uN5W.js} +0 -0
  984. /package/dist/assets/{mirc-82uLLidC.js → mirc-9Mp8ii_5.js} +0 -0
  985. /package/dist/assets/{mllike-WTbu2PGL.js → mllike-CteazA5r.js} +0 -0
  986. /package/dist/assets/{modelica-w4uKZrXu.js → modelica-DruS-uJ8.js} +0 -0
  987. /package/dist/assets/{mscgen-Bf7m7BDT.js → mscgen-Dqm6ZJyo.js} +0 -0
  988. /package/dist/assets/{mumps-Bicgf-gh.js → mumps-DAwJeUn4.js} +0 -0
  989. /package/dist/assets/{ntriples-CyotCBD4.js → ntriples-D5_p8srT.js} +0 -0
  990. /package/dist/assets/{objectWithoutPropertiesLoose-smPWkHxB.js → objectWithoutPropertiesLoose-BQlZis3f.js} +0 -0
  991. /package/dist/assets/{octave-BP7UuRZ-.js → octave-StxXX2kg.js} +0 -0
  992. /package/dist/assets/{ordinal-DuTuuUgV.js → ordinal-DTOdb5Da.js} +0 -0
  993. /package/dist/assets/{oz-C9dsRBsA.js → oz-CZcv8Gut.js} +0 -0
  994. /package/dist/assets/{pascal-Do-HizJs.js → pascal-BTSTYf7j.js} +0 -0
  995. /package/dist/assets/{paths-BzSgteR-.js → paths-DsQUzvvb.js} +0 -0
  996. /package/dist/assets/{perl-DkWjygEp.js → perl-D3WNCnWS.js} +0 -0
  997. /package/dist/assets/{pig-C5cO5Lzu.js → pig-m1LfHx7X.js} +0 -0
  998. /package/dist/assets/{powershell-B7iMkhi7.js → powershell-C7evXFhK.js} +0 -0
  999. /package/dist/assets/{preload-helper-D2MJg03u.js → preload-helper-BFv3hW2s.js} +0 -0
  1000. /package/dist/assets/{prop-types-BFRDxSKF.js → prop-types-D9vVr8W2.js} +0 -0
  1001. /package/dist/assets/{properties-BojS2wNP.js → properties-CX3A241c.js} +0 -0
  1002. /package/dist/assets/{protobuf-C3jQLUT4.js → protobuf-CEqDY4vo.js} +0 -0
  1003. /package/dist/assets/{puppet-BIu7yw7Q.js → puppet-DlFBPmUd.js} +0 -0
  1004. /package/dist/assets/{python-BvK-LeGt.js → python-kNH0316T.js} +0 -0
  1005. /package/dist/assets/{q-DxTFD_3l.js → q-KQ_N2MXi.js} +0 -0
  1006. /package/dist/assets/{r-D9kMb9Pl.js → r-Dj_WdT8c.js} +0 -0
  1007. /package/dist/assets/{range-1DwpgXvM.js → range-Bc7-zhbC.js} +0 -0
  1008. /package/dist/assets/{react-icons.esm-BUYTQ32a.js → react-icons.esm-B8rtE4cC.js} +0 -0
  1009. /package/dist/assets/{react-resizable-panels.browser.esm-BUNcfKXO.js → react-resizable-panels.browser.esm-xQHRvEag.js} +0 -0
  1010. /package/dist/assets/{requests-CsNnmup3.js → requests-DdU2Ap88.js} +0 -0
  1011. /package/dist/assets/{rpm-DMBmptJ_.js → rpm-C3VyCeYo.js} +0 -0
  1012. /package/dist/assets/{ruby-Bi66LQBu.js → ruby-9RpAFOsP.js} +0 -0
  1013. /package/dist/assets/{sas-DDMCLlZz.js → sas-CFBIkOrK.js} +0 -0
  1014. /package/dist/assets/{scheme-MngEI34z.js → scheme-n4WmsRUQ.js} +0 -0
  1015. /package/dist/assets/{shell-BSVgrHzY.js → shell-BDAgpmgp.js} +0 -0
  1016. /package/dist/assets/{sieve-DvUWNrPv.js → sieve-BVNIn7Yz.js} +0 -0
  1017. /package/dist/assets/{simple-mode-DxeVZov3.js → simple-mode-C-nP-kAb.js} +0 -0
  1018. /package/dist/assets/{smalltalk-CeZ66qpG.js → smalltalk-C7nE9dmX.js} +0 -0
  1019. /package/dist/assets/{sparql-oFx_t7AO.js → sparql-DPFIzZM3.js} +0 -0
  1020. /package/dist/assets/{stex-jWatZkll.js → stex--zUcZkER.js} +0 -0
  1021. /package/dist/assets/{stylus-KE-9LQSK.js → stylus-DGcebGVS.js} +0 -0
  1022. /package/dist/assets/{swift-A-ZhZWU8.js → swift-DiAJo7C6.js} +0 -0
  1023. /package/dist/assets/{tcl-CREXWwrr.js → tcl-DpD837eJ.js} +0 -0
  1024. /package/dist/assets/{textile-Cj8L4qVJ.js → textile-DEqOicm6.js} +0 -0
  1025. /package/dist/assets/{timer-DBQ_H0G1.js → timer-DwQQMK5T.js} +0 -0
  1026. /package/dist/assets/{toml-BwSlV2Pt.js → toml-BdA-7EhB.js} +0 -0
  1027. /package/dist/assets/{troff-DWonWT6V.js → troff-iGRgQHLe.js} +0 -0
  1028. /package/dist/assets/{ttcn--CHQduBW.js → ttcn-CLQ1c3XL.js} +0 -0
  1029. /package/dist/assets/{ttcn-cfg-Cei3Mnk3.js → ttcn-cfg-BFj90pgD.js} +0 -0
  1030. /package/dist/assets/{turtle-BaGuNPTf.js → turtle-DwFVq6UC.js} +0 -0
  1031. /package/dist/assets/{types-DOdUT9LT.js → types-D8yP89N6.js} +0 -0
  1032. /package/dist/assets/{use-toast-BDYuj3zG.js → use-toast-PYIpV284.js} +0 -0
  1033. /package/dist/assets/{useDeepCompareMemoize-D0WTlCXt.js → useDeepCompareMemoize-pHFuC8FJ.js} +0 -0
  1034. /package/dist/assets/{useNonce-CbdaHKzX.js → useNonce-DfoVjkkH.js} +0 -0
  1035. /package/dist/assets/{uuid-DXdzqzcr.js → uuid-CCkGk34L.js} +0 -0
  1036. /package/dist/assets/{vb-DQgwufRi.js → vb-gm5P9Pn5.js} +0 -0
  1037. /package/dist/assets/{vbscript-B66XhQhu.js → vbscript-gQvKiDdU.js} +0 -0
  1038. /package/dist/assets/{velocity-D7CxwqhZ.js → velocity-CkfRmD_d.js} +0 -0
  1039. /package/dist/assets/{verilog-SCT9zECa.js → verilog-D3b05tu1.js} +0 -0
  1040. /package/dist/assets/{vhdl-Bz6d75os.js → vhdl-DRo1SU3e.js} +0 -0
  1041. /package/dist/assets/{webidl-B7LbwCfy.js → webidl-DFtmGFay.js} +0 -0
  1042. /package/dist/assets/{ws-BApgRfsy.js → ws-BV-4clkP.js} +0 -0
  1043. /package/dist/assets/{xquery-BOMK2ySj.js → xquery-CzUikajR.js} +0 -0
  1044. /package/dist/assets/{yacas-Yk74VuuD.js → yacas-BqvQWbYq.js} +0 -0
  1045. /package/dist/assets/{z80-BQKQ7DhX.js → z80-CQqkYd-2.js} +0 -0
@@ -0,0 +1,118 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import type { CellValueSentinel, CellValueSentinelType } from "./types";
4
+
5
+ const WHITESPACE_CHARS: Record<string, { marker: string; name: string }> = {
6
+ " ": { marker: "\u2423", name: "space" },
7
+ "\t": { marker: "\\t", name: "tab" },
8
+ "\n": { marker: "\\n", name: "newline" },
9
+ "\r": { marker: "\\r", name: "carriage return" },
10
+ };
11
+
12
+ function renderWhitespaceMarkers(str: string): React.ReactNode[] {
13
+ return [...str].map((ch, i) => {
14
+ const entry = WHITESPACE_CHARS[ch];
15
+ const marker = entry
16
+ ? entry.marker
17
+ : `\\u${(ch.codePointAt(0) ?? 0).toString(16).padStart(4, "0")}`;
18
+ return (
19
+ <span key={i} className="mr-0.5 last:mr-0">
20
+ {marker}
21
+ </span>
22
+ );
23
+ });
24
+ }
25
+
26
+ function describeWhitespace(str: string): string {
27
+ const counts: Record<string, number> = {};
28
+ for (const ch of str) {
29
+ const name = WHITESPACE_CHARS[ch]?.name ?? "unicode whitespace";
30
+ counts[name] = (counts[name] ?? 0) + 1;
31
+ }
32
+ return Object.entries(counts)
33
+ .map(([name, count]) => `${count} ${name}${count > 1 ? "s" : ""}`)
34
+ .join(", ");
35
+ }
36
+
37
+ interface SentinelConfig {
38
+ label: (value: CellValueSentinel["value"]) => string | React.ReactNode[];
39
+ tooltip: (value: CellValueSentinel["value"]) => string;
40
+ ariaLabel: (value: CellValueSentinel["value"]) => string;
41
+ }
42
+
43
+ const SENTINEL_CONFIG: Record<CellValueSentinelType, SentinelConfig> = {
44
+ null: {
45
+ label: () => "None",
46
+ tooltip: () => "None",
47
+ ariaLabel: () => "None",
48
+ },
49
+ "empty-string": {
50
+ label: () => "<empty>",
51
+ tooltip: () => "<empty>",
52
+ ariaLabel: () => "empty string",
53
+ },
54
+ whitespace: {
55
+ label: (value) => renderWhitespaceMarkers(String(value)),
56
+ tooltip: (value) => describeWhitespace(String(value)),
57
+ ariaLabel: (value) => describeWhitespace(String(value)),
58
+ },
59
+ nan: {
60
+ label: () => "NaN",
61
+ tooltip: () => "NaN",
62
+ ariaLabel: () => "NaN",
63
+ },
64
+ "positive-infinity": {
65
+ label: () => "inf",
66
+ tooltip: () => "Infinity",
67
+ ariaLabel: () => "infinity",
68
+ },
69
+ "negative-infinity": {
70
+ label: () => "-inf",
71
+ tooltip: () => "-Infinity",
72
+ ariaLabel: () => "negative infinity",
73
+ },
74
+ nat: {
75
+ label: () => "NaT",
76
+ tooltip: () => "NaT (Not a Time)",
77
+ ariaLabel: () => "Not a Time",
78
+ },
79
+ };
80
+
81
+ export function WhitespaceMarkers({ value }: { value: string }) {
82
+ if (!value) {
83
+ return null;
84
+ }
85
+
86
+ const description = describeWhitespace(value);
87
+
88
+ return (
89
+ <span
90
+ className="text-muted-foreground opacity-60"
91
+ aria-label={description}
92
+ title={description}
93
+ >
94
+ {renderWhitespaceMarkers(value)}
95
+ </span>
96
+ );
97
+ }
98
+
99
+ export function SentinelCell({
100
+ sentinel,
101
+ }: {
102
+ sentinel: CellValueSentinel;
103
+ }): React.ReactElement {
104
+ const config = SENTINEL_CONFIG[sentinel.type];
105
+ const label = config.label(sentinel.value);
106
+ const tooltip = config.tooltip(sentinel.value);
107
+ const ariaLabel = config.ariaLabel(sentinel.value);
108
+
109
+ return (
110
+ <span
111
+ className="italic text-muted-foreground bg-muted rounded px-1"
112
+ aria-label={ariaLabel}
113
+ title={tooltip}
114
+ >
115
+ <span className="opacity-70">{label}</span>
116
+ </span>
117
+ );
118
+ }
@@ -2,7 +2,6 @@
2
2
 
3
3
  import type { RowData } from "@tanstack/react-table";
4
4
  import type { DataType } from "@/core/kernel/messages";
5
- import { Objects } from "@/utils/objects";
6
5
 
7
6
  declare module "@tanstack/react-table" {
8
7
  interface TableMeta<TData extends RowData> {
@@ -56,16 +55,19 @@ export type FieldTypesWithExternalType = [
56
55
  columnName: string,
57
56
  [dataType: DataType, externalType: string],
58
57
  ][];
59
- export type FieldTypes = Record<string, DataType>;
58
+ // Ordered map of column name -> data type.
59
+ //
60
+ // `Map` (not `Record`) because JS objects reorder integer-string keys
61
+ // to the front in numeric order per `OrdinaryOwnPropertyKeys`; a
62
+ // DataFrame with a `"2010"` column alongside `"here"` would otherwise
63
+ // lose its column order on iteration (#9269). `Map` preserves insertion
64
+ // order for all keys.
65
+ export type FieldTypes = Map<string, DataType>;
60
66
 
61
67
  export function toFieldTypes(
62
68
  fieldTypes: FieldTypesWithExternalType,
63
69
  ): FieldTypes {
64
- return Objects.collect(
65
- fieldTypes,
66
- ([columnName]) => columnName,
67
- ([, [type]]) => type,
68
- );
70
+ return new Map(fieldTypes.map(([columnName, [type]]) => [columnName, type]));
69
71
  }
70
72
 
71
73
  interface BinValue {
@@ -95,6 +97,29 @@ export type DataTableSelection =
95
97
  | "multi-cell"
96
98
  | null;
97
99
 
100
+ export type CellValueSentinel =
101
+ | { type: "null"; value: null | undefined }
102
+ | { type: "empty-string"; value: string }
103
+ | { type: "whitespace"; value: string }
104
+ | { type: "nan"; value: number | string }
105
+ | { type: "positive-infinity"; value: number | string }
106
+ | { type: "negative-infinity"; value: number | string }
107
+ | { type: "nat"; value: string };
108
+
109
+ export type CellValueSentinelType = CellValueSentinel["type"];
110
+
111
+ export function isNumericType(
112
+ dataType: DataType | undefined,
113
+ ): dataType is "number" | "integer" {
114
+ return dataType === "number" || dataType === "integer";
115
+ }
116
+
117
+ export function isTemporalType(
118
+ dataType: DataType | undefined,
119
+ ): dataType is "date" | "datetime" | "time" {
120
+ return dataType === "date" || dataType === "datetime" || dataType === "time";
121
+ }
122
+
98
123
  export function extractTimezone(dtype: string | undefined): string | undefined {
99
124
  if (!dtype) {
100
125
  return undefined;
@@ -105,7 +130,3 @@ export function extractTimezone(dtype: string | undefined): string | undefined {
105
130
  const match = /^datetime(?:64)?\[[^,]+,([^,]+)]$/.exec(dtype);
106
131
  return match?.[1]?.trim();
107
132
  }
108
-
109
- export type PageRange =
110
- | { type: "page"; page: number }
111
- | { type: "ellipsis"; key: string };
@@ -5,7 +5,60 @@ import type { TableData } from "@/plugins/impl/DataTablePlugin";
5
5
  import { vegaLoadData } from "@/plugins/impl/vega/loader";
6
6
  import { jsonParseWithSpecialChar } from "@/utils/json/json-parser";
7
7
  import { getMimeValues } from "./mime-cell";
8
- import { INDEX_COLUMN_NAME } from "./types";
8
+ import type { DataType } from "@/core/kernel/messages";
9
+ import {
10
+ type CellValueSentinel,
11
+ INDEX_COLUMN_NAME,
12
+ isNumericType,
13
+ isTemporalType,
14
+ } from "./types";
15
+
16
+ const WHITESPACE_ONLY_RE = /^[\s]+$/;
17
+ const WHITESPACE_CHAR_RE = /\s/;
18
+ const EDGE_WHITESPACE_RE = /^(\s*)([\s\S]*?)(\s*)$/;
19
+
20
+ /**
21
+ * checks for leading and trailing whitespaces.
22
+ * Will run for every cell, so fast exits for common cases
23
+ *
24
+ * @param value - to split
25
+ * @returns - leading, middle, and trailing string where leading and trailing are whitespace string
26
+ */
27
+ export function splitLeadingTrailingWhitespace(value: string): {
28
+ leading: string;
29
+ middle: string;
30
+ trailing: string;
31
+ } {
32
+ const parts = {
33
+ leading: "",
34
+ middle: "",
35
+ trailing: "",
36
+ };
37
+ if (value.length === 0) {
38
+ return parts;
39
+ }
40
+
41
+ const firstWhitespaceCh = WHITESPACE_CHAR_RE.test(value[0]);
42
+ const lastWhitespaceCh = WHITESPACE_CHAR_RE.test(value[value.length - 1]);
43
+
44
+ // if does not start or end with ws
45
+ if (!firstWhitespaceCh && !lastWhitespaceCh) {
46
+ parts.middle = value;
47
+ return parts;
48
+ }
49
+
50
+ const match = EDGE_WHITESPACE_RE.exec(value);
51
+ if (!match) {
52
+ parts.middle = value;
53
+ return parts;
54
+ }
55
+
56
+ parts.leading = match[1] ?? "";
57
+ parts.middle = match[2] ?? "";
58
+ parts.trailing = match[3] ?? "";
59
+
60
+ return parts;
61
+ }
9
62
 
10
63
  /**
11
64
  * Convenience function to load table data.
@@ -85,6 +138,71 @@ export function getPageIndexForRow(
85
138
  return null;
86
139
  }
87
140
 
141
+ // String representations of numeric special values.
142
+ // Only matched when the caller indicates the column is numeric.
143
+ type StringValueSentinelType = Extract<
144
+ CellValueSentinel,
145
+ { value: number | string }
146
+ >["type"];
147
+
148
+ const NUMERIC_STRING_SPECIALS: Record<string, StringValueSentinelType> = {
149
+ NaN: "nan",
150
+ Infinity: "positive-infinity",
151
+ "-Infinity": "negative-infinity",
152
+ inf: "positive-infinity",
153
+ "-inf": "negative-infinity",
154
+ };
155
+
156
+ /**
157
+ * Detect if a cell value is a sentinel (null, empty string, whitespace,
158
+ * NaN, infinity, NaT). Column-type-dependent sentinels (string "NaN",
159
+ * "NaT", etc.) are matched based on `dataType`.
160
+ */
161
+ export function detectSentinel(
162
+ value: unknown,
163
+ dataType: DataType | undefined,
164
+ ): CellValueSentinel | null {
165
+ if (value == null) {
166
+ return { type: "null", value };
167
+ }
168
+
169
+ if (typeof value === "string") {
170
+ if (value === "") {
171
+ return { type: "empty-string", value };
172
+ }
173
+ if (WHITESPACE_ONLY_RE.test(value)) {
174
+ return { type: "whitespace", value };
175
+ }
176
+ // String "NaN"/"Infinity" in a numeric column = actual special float value
177
+ if (isNumericType(dataType)) {
178
+ const type = NUMERIC_STRING_SPECIALS[value];
179
+ if (type) {
180
+ return { type, value };
181
+ }
182
+ }
183
+ // String "NaT" in a temporal column = pandas Not-a-Time sentinel
184
+ if (isTemporalType(dataType) && value === "NaT") {
185
+ return { type: "nat", value };
186
+ }
187
+ return null;
188
+ }
189
+
190
+ if (typeof value === "number") {
191
+ if (Number.isNaN(value)) {
192
+ return { type: "nan", value };
193
+ }
194
+ if (value === Number.POSITIVE_INFINITY) {
195
+ return { type: "positive-infinity", value };
196
+ }
197
+ if (value === Number.NEGATIVE_INFINITY) {
198
+ return { type: "negative-infinity", value };
199
+ }
200
+ return null;
201
+ }
202
+
203
+ return null;
204
+ }
205
+
88
206
  /**
89
207
  * Stringify an unknown value. Converts objects to JSON strings.
90
208
  * @param opts.value - The value to stringify.
@@ -0,0 +1,103 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { render, screen } from "@testing-library/react";
4
+ import { Provider } from "jotai";
5
+ import React from "react";
6
+ import { beforeEach, describe, expect, it, vi } from "vitest";
7
+ import { MockRequestClient } from "@/__mocks__/requests";
8
+ import { viewStateAtom } from "@/core/mode";
9
+ import { requestClientAtom } from "@/core/network/requests";
10
+ import { store } from "@/core/state/jotai";
11
+ import { MissingPackagePrompt } from "../missing-package-prompt";
12
+
13
+ const mockOpenApplication = vi.fn();
14
+ vi.mock("@/components/editor/chrome/state", () => ({
15
+ useChromeActions: () => ({
16
+ openApplication: mockOpenApplication,
17
+ }),
18
+ }));
19
+
20
+ vi.mock("@/components/editor/chrome/panels/packages-state", () => ({
21
+ packagesToInstallAtom: {},
22
+ }));
23
+
24
+ const mockRequestAnimationFrame = vi.fn((callback) => {
25
+ callback();
26
+ return 1;
27
+ });
28
+ vi.stubGlobal("requestAnimationFrame", mockRequestAnimationFrame);
29
+
30
+ const mockInput = {
31
+ focus: vi.fn(),
32
+ value: "",
33
+ dispatchEvent: vi.fn(),
34
+ };
35
+ vi.spyOn(document, "getElementById").mockReturnValue(
36
+ mockInput as unknown as HTMLInputElement,
37
+ );
38
+
39
+ function createTestWrapper() {
40
+ const wrapper = ({ children }: { children: React.ReactNode }) => (
41
+ <Provider store={store}>{children}</Provider>
42
+ );
43
+ return { wrapper };
44
+ }
45
+
46
+ describe("MissingPackagePrompt", () => {
47
+ const { wrapper } = createTestWrapper();
48
+
49
+ beforeEach(() => {
50
+ vi.clearAllMocks();
51
+ store.set(requestClientAtom, MockRequestClient.create());
52
+ store.set(viewStateAtom, { mode: "edit", cellAnchor: null });
53
+ });
54
+
55
+ it("should render backend description and install button in edit mode", () => {
56
+ render(
57
+ <MissingPackagePrompt
58
+ packages={["polars"]}
59
+ featureName="Parquet export"
60
+ description="Parquet export requires a DataFrame library."
61
+ />,
62
+ { wrapper },
63
+ );
64
+ expect(
65
+ screen.getByText("Parquet export requires a DataFrame library."),
66
+ ).toBeInTheDocument();
67
+ expect(screen.getByText("Install polars")).toBeInTheDocument();
68
+ });
69
+
70
+ it("should fall back to generic copy when description is absent", () => {
71
+ render(
72
+ <MissingPackagePrompt
73
+ packages={["polars"]}
74
+ featureName="Parquet export"
75
+ />,
76
+ { wrapper },
77
+ );
78
+ expect(
79
+ screen.getByText("Parquet export requires polars"),
80
+ ).toBeInTheDocument();
81
+ expect(screen.getByText("Install polars")).toBeInTheDocument();
82
+ });
83
+
84
+ it("should render generic line in read mode and not leak packages or description", () => {
85
+ store.set(viewStateAtom, { mode: "read", cellAnchor: null });
86
+ render(
87
+ <MissingPackagePrompt
88
+ packages={["polars"]}
89
+ featureName="Parquet export"
90
+ description="Install polars to enable Parquet."
91
+ />,
92
+ { wrapper },
93
+ );
94
+ expect(
95
+ screen.getByText("Parquet export isn't available in this notebook"),
96
+ ).toBeInTheDocument();
97
+ expect(
98
+ screen.queryByText("Install polars to enable Parquet."),
99
+ ).not.toBeInTheDocument();
100
+ expect(screen.queryByText("Install polars")).not.toBeInTheDocument();
101
+ expect(screen.queryByText(/polars/)).not.toBeInTheDocument();
102
+ });
103
+ });
@@ -0,0 +1,49 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { useInstallAllowed } from "@/core/mode";
4
+ import { cn } from "@/utils/cn";
5
+ import { InstallPackageButton } from "./install-package-button";
6
+
7
+ interface MissingPackagePromptProps {
8
+ packages: string[];
9
+ featureName: string;
10
+ description?: string | null; // server message, suppressing this in read-only mode
11
+ onInstall?: () => void;
12
+ className?: string;
13
+ }
14
+
15
+ /**
16
+ * display missing-package requirement with mode-aware copy. In edit mode,
17
+ * shows the backend explanation (if any) plus an install button for missing-packages.
18
+ * read mode, shows a generic "isn't available"
19
+ */
20
+ export const MissingPackagePrompt: React.FC<MissingPackagePromptProps> = ({
21
+ packages,
22
+ featureName,
23
+ description,
24
+ onInstall,
25
+ className,
26
+ }) => {
27
+ const installAllowed = useInstallAllowed();
28
+
29
+ if (!installAllowed) {
30
+ return (
31
+ <span className={cn("text-xs", className)}>
32
+ {featureName} isn't available in this notebook
33
+ </span>
34
+ );
35
+ }
36
+
37
+ return (
38
+ <div className={cn("text-xs flex flex-col items-end gap-2", className)}>
39
+ <span className="self-start">
40
+ {description || `${featureName} requires ${packages.join(", ")}`}
41
+ </span>
42
+ <InstallPackageButton
43
+ packages={packages}
44
+ onInstall={onInstall}
45
+ className="ml-0"
46
+ />
47
+ </div>
48
+ );
49
+ };
@@ -381,6 +381,18 @@ export function useNotebookActions() {
381
381
  });
382
382
  },
383
383
  },
384
+ {
385
+ icon: <MarimoPlusIcon size={14} strokeWidth={1.5} />,
386
+ label: "Create molab notebook",
387
+ handle: async () => {
388
+ const code = await readCode();
389
+ const url = createShareableLink({
390
+ code: code.contents,
391
+ baseUrl: `${Constants.molab}/new`,
392
+ });
393
+ window.open(url, "_blank");
394
+ },
395
+ },
384
396
  ],
385
397
  },
386
398
 
@@ -270,6 +270,7 @@ const CellEditorInternal = ({
270
270
  userConfig.language_servers,
271
271
  userConfig.display,
272
272
  userConfig.diagnostics,
273
+ userConfig.ai?.inline_tooltip,
273
274
  aiEnabled,
274
275
  theme,
275
276
  showPlaceholder,
@@ -8,6 +8,7 @@ import { RequestingTree } from "../requesting-tree";
8
8
  const sendListFiles = vi.fn();
9
9
  const sendCreateFileOrFolder = vi.fn();
10
10
  const sendDeleteFileOrFolder = vi.fn();
11
+ const sendCopyFileOrFolder = vi.fn();
11
12
  const sendRenameFileOrFolder = vi.fn();
12
13
 
13
14
  vi.mock("@/components/ui/use-toast", () => MockModules.toast());
@@ -21,6 +22,7 @@ describe("RequestingTree", () => {
21
22
  listFiles: sendListFiles,
22
23
  createFileOrFolder: sendCreateFileOrFolder,
23
24
  deleteFileOrFolder: sendDeleteFileOrFolder,
25
+ copyFileOrFolder: sendCopyFileOrFolder,
24
26
  renameFileOrFolder: sendRenameFileOrFolder,
25
27
  });
26
28
  sendListFiles.mockResolvedValue({
@@ -169,6 +171,17 @@ describe("RequestingTree", () => {
169
171
  `);
170
172
  });
171
173
 
174
+ test("copy should duplicate a file", async () => {
175
+ sendCopyFileOrFolder.mockResolvedValue({ success: true });
176
+
177
+ await requestingTree.copy("1.1", "file1_copy");
178
+ expect(sendCopyFileOrFolder).toHaveBeenCalledWith({
179
+ path: "/root/file1",
180
+ newPath: "/root/file1_copy",
181
+ });
182
+ expect(mockOnChange).toHaveBeenCalled();
183
+ });
184
+
172
185
  test("createFile should create a new file", async () => {
173
186
  sendCreateFileOrFolder.mockResolvedValue({ success: true });
174
187
 
@@ -236,6 +249,7 @@ describe("RequestingTree", () => {
236
249
  listFiles: sendListFiles,
237
250
  createFileOrFolder: sendCreateFileOrFolder,
238
251
  deleteFileOrFolder: sendDeleteFileOrFolder,
252
+ copyFileOrFolder: sendCopyFileOrFolder,
239
253
  renameFileOrFolder: sendRenameFileOrFolder,
240
254
  });
241
255
  sendListFiles.mockRejectedValue(new Error("Network error"));
@@ -263,6 +277,23 @@ describe("RequestingTree", () => {
263
277
  });
264
278
  });
265
279
 
280
+ test("copy should handle API failure", async () => {
281
+ sendCopyFileOrFolder.mockResolvedValue({
282
+ success: false,
283
+ message: "Error duplicating",
284
+ });
285
+
286
+ await requestingTree.copy("1.1", "file1_copy");
287
+ expect(sendCopyFileOrFolder).toHaveBeenCalledWith({
288
+ path: "/root/file1",
289
+ newPath: "/root/file1_copy",
290
+ });
291
+ expect(toast).toHaveBeenCalledWith({
292
+ title: "Failed",
293
+ description: "Error duplicating",
294
+ });
295
+ });
296
+
266
297
  test("move should handle missing parent node gracefully", async () => {
267
298
  await requestingTree.move(["1.x"], "2");
268
299
  expect(sendRenameFileOrFolder).not.toHaveBeenCalled();
@@ -284,6 +315,7 @@ describe("RequestingTree", () => {
284
315
  listFiles: sendListFiles,
285
316
  createFileOrFolder: sendCreateFileOrFolder,
286
317
  deleteFileOrFolder: sendDeleteFileOrFolder,
318
+ copyFileOrFolder: sendCopyFileOrFolder,
287
319
  renameFileOrFolder: sendRenameFileOrFolder,
288
320
  });
289
321
 
@@ -305,6 +337,7 @@ describe("RequestingTree", () => {
305
337
  listFiles: sendListFiles,
306
338
  createFileOrFolder: sendCreateFileOrFolder,
307
339
  deleteFileOrFolder: sendDeleteFileOrFolder,
340
+ copyFileOrFolder: sendCopyFileOrFolder,
308
341
  renameFileOrFolder: sendRenameFileOrFolder,
309
342
  });
310
343
 
@@ -381,6 +381,7 @@ const Show = ({
381
381
  {node.data.name}
382
382
  {node.data.isMarimoFile && !isWasm() && (
383
383
  <span
384
+ data-testid="file-explorer-open-marimo-button"
384
385
  className="shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline"
385
386
  onClick={onOpenMarimoFile}
386
387
  >
@@ -419,8 +420,7 @@ const Edit = ({ node }: { node: NodeApi<FileInfo> }) => {
419
420
  };
420
421
 
421
422
  const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
422
- const { openFile, sendCreateFileOrFolder, sendFileDetails } =
423
- useRequestClient();
423
+ const { openFile, sendFileDetails } = useRequestClient();
424
424
  const disableFileDownloads = useAtomValue(disableFileDownloadsAtom);
425
425
 
426
426
  const fileType: FileIconType = node.data.isDirectory
@@ -502,37 +502,14 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
502
502
  });
503
503
 
504
504
  const handleDuplicate = useEvent(async () => {
505
- if (!tree || node.data.isDirectory) {
505
+ if (!tree) {
506
506
  return;
507
507
  }
508
508
 
509
509
  const [name, extension] = fileSplit(node.data.name);
510
510
  const duplicateName = `${name}_copy${extension}`;
511
511
 
512
- try {
513
- // First get the file contents
514
- const details = await sendFileDetails({ path: node.data.path });
515
-
516
- // Get the parent directory path
517
- const parentPath = node.parent?.data.path || "";
518
-
519
- // Create the duplicate file by creating a new file with the same contents
520
- await sendCreateFileOrFolder({
521
- path: parentPath,
522
- type: "file",
523
- name: duplicateName,
524
- contents: details.contents ? btoa(details.contents) : undefined,
525
- });
526
-
527
- // Refresh the parent folder to show the new file
528
- await tree.refreshAll([parentPath]);
529
- } catch {
530
- toast({
531
- title: "Failed to duplicate file",
532
- description: "Unable to create a duplicate of the file",
533
- variant: "danger",
534
- });
535
- }
512
+ await tree.copy(node.id, duplicateName);
536
513
  });
537
514
 
538
515
  const renderActions = () => {
@@ -581,12 +558,10 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
581
558
  <Edit3Icon className={ic} />
582
559
  Rename
583
560
  </DropdownMenuItem>
584
- {!node.data.isDirectory && (
585
- <DropdownMenuItem onSelect={handleDuplicate}>
586
- <CopyIcon className={ic} />
587
- Duplicate
588
- </DropdownMenuItem>
589
- )}
561
+ <DropdownMenuItem onSelect={handleDuplicate}>
562
+ <CopyIcon className={ic} />
563
+ Duplicate
564
+ </DropdownMenuItem>
590
565
  <DropdownMenuItem
591
566
  onSelect={async () => {
592
567
  await copyToClipboard(node.data.path);