@marimo-team/frontend 0.20.1 → 0.20.3-dev76

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 (1099) hide show
  1. package/dist/assets/CellStatus-DWf8HNpq.js +1 -0
  2. package/dist/assets/Combination-BM4eSgxb.js +41 -0
  3. package/dist/assets/ConnectedDataExplorerComponent-1-K4ayMi.js +1 -0
  4. package/dist/assets/DeferredRequestRegistry-CFO2z1af.js +1 -0
  5. package/dist/assets/ErrorBoundary-dVj6GVNE.js +1 -0
  6. package/dist/assets/ImageComparisonComponent-Cclg_ESp.js +1 -0
  7. package/dist/assets/ImperativeModal-Upm6NvJ2.js +1 -0
  8. package/dist/assets/Inputs-gtU1AJKM.js +1 -0
  9. package/dist/assets/JsonOutput-BY6AF2rC.js +46 -0
  10. package/dist/assets/LazyAnyLanguageCodeMirror-BJLRV5Wa.js +2 -0
  11. package/dist/assets/MarimoErrorOutput-Bc9QVsMT.js +7 -0
  12. package/dist/assets/Plot-Br2dF8op.js +3789 -0
  13. package/dist/assets/RenderHTML-pHm9Hij5.js +1 -0
  14. package/dist/assets/_baseEach-DKvBKtvu.js +1 -0
  15. package/dist/assets/_baseFlatten-C_qcB35v.js +1 -0
  16. package/dist/assets/_baseIsEqual-BU8KB_Ip.js +1 -0
  17. package/dist/assets/_baseMap-ypWFjvN8.js +1 -0
  18. package/dist/assets/_basePickBy-36rMhJTw.js +1 -0
  19. package/dist/assets/_baseSet-BEHvSeoM.js +1 -0
  20. package/dist/assets/_baseSlice-39dTX4Wi.js +1 -0
  21. package/dist/assets/_baseUniq-qwHSJi3M.js +1 -0
  22. package/dist/assets/_createAggregator-BjsxkJZj.js +1 -0
  23. package/dist/assets/add-cell-with-ai-BEj4NWn-.js +90 -0
  24. package/dist/assets/add-database-form-CmSfNkTd.js +111 -0
  25. package/dist/assets/agent-panel-BOVMxx37.js +287 -0
  26. package/dist/assets/ai-model-dropdown-C9Rf0otx.js +5 -0
  27. package/dist/assets/alert-DdNm63Am.js +1 -0
  28. package/dist/assets/alert-dialog-DNI_v2jv.js +11 -0
  29. package/dist/assets/any-language-editor-DulvMw8Z.js +1 -0
  30. package/dist/assets/apl-3xKEEmjQ.js +1 -0
  31. package/dist/assets/app-config-button-CCvZplfS.js +1 -0
  32. package/dist/assets/arc-DUSwcTI9.js +1 -0
  33. package/dist/assets/architecture-7HQA4BMR-utm7V-06.js +1 -0
  34. package/dist/assets/architectureDiagram-VXUJARFQ-B6XSgwWv.js +36 -0
  35. package/dist/assets/asciiarmor-BCugLX69.js +1 -0
  36. package/dist/assets/asn1-B8ndG_Ze.js +1 -0
  37. package/dist/assets/assertNever-Dw9aFN4h.js +1 -0
  38. package/dist/assets/azure-B1scLE4v.js +1 -0
  39. package/dist/assets/badge-BxfUmJ6M.js +1 -0
  40. package/dist/assets/blockDiagram-VD42YOAC-Dw1VruWT.js +122 -0
  41. package/dist/assets/bot-message-square-BzawfL5p.js +1 -0
  42. package/dist/assets/brainfuck-h1OIoSEo.js +1 -0
  43. package/dist/assets/button-BmOH9agK.js +1 -0
  44. package/dist/assets/c4Diagram-YG6GDRKO-BX4PpWTu.js +10 -0
  45. package/dist/assets/cache-panel-BSRvQ8Xi.js +1 -0
  46. package/dist/assets/capabilities-CeYo4YI0.js +1 -0
  47. package/dist/assets/capitalize-irHJCpFh.js +1 -0
  48. package/dist/assets/card-DBF3HJUb.js +1 -0
  49. package/dist/assets/cell-editor-DiiGbTNs.js +23 -0
  50. package/dist/assets/cell-link-CAT3x2v4.js +1 -0
  51. package/dist/assets/cells-FF1g1Mh-.js +229 -0
  52. package/dist/assets/channel-BdIOfM17.js +1 -0
  53. package/dist/assets/chart-no-axes-column-F2DZENgf.js +1 -0
  54. package/dist/assets/chat-display-Cb1PiLxN.js +1 -0
  55. package/dist/assets/chat-panel-B4k2pTfq.js +3 -0
  56. package/dist/assets/check-BnZGcuDh.js +1 -0
  57. package/dist/assets/chevron-right-_z3dkNFy.js +1 -0
  58. package/dist/assets/chunk-4BX2VUAB-DhvNmHH5.js +1 -0
  59. package/dist/assets/chunk-4F5CHEZ2-svLgn8gR.js +1 -0
  60. package/dist/assets/chunk-55IACEB6-DPm6ES7n.js +1 -0
  61. package/dist/assets/chunk-5FQGJX7Z-DuVTi23h.js +113 -0
  62. package/dist/assets/chunk-ABZYJK2D-BoImiTgT.js +80 -0
  63. package/dist/assets/chunk-ATLVNIR6-DWN8nwDE.js +1 -0
  64. package/dist/assets/chunk-B2363JML-BJ47tdQW.js +1 -0
  65. package/dist/assets/chunk-B4BG7PRW-nWKViSIe.js +165 -0
  66. package/dist/assets/chunk-CVBHYZKI-BX0N_ipT.js +1 -0
  67. package/dist/assets/chunk-DI55MBZ5-DsYl9sIZ.js +220 -0
  68. package/dist/assets/chunk-DR5Q36YT-DOSR70sR.js +1 -0
  69. package/dist/assets/chunk-EXTU4WIE-BbRAciH8.js +1 -0
  70. package/dist/assets/chunk-FMBD7UC4-BDlH9XLH.js +15 -0
  71. package/dist/assets/chunk-FRFDVMJY-So4RW9Kg.js +1 -0
  72. package/dist/assets/chunk-HN2XXSSU-ujlBpRMF.js +1 -0
  73. package/dist/assets/chunk-JA3XYJ7Z-BnMJV1nD.js +70 -0
  74. package/dist/assets/chunk-JZLCHNYA-D2MgKieY.js +54 -0
  75. package/dist/assets/chunk-MI3HLSF2-D9JXkg6-.js +32 -0
  76. package/dist/assets/chunk-N4CR4FBY-pKNVmA0u.js +2 -0
  77. package/dist/assets/chunk-PL6DKKU2-b96i0Xhv.js +1 -0
  78. package/dist/assets/chunk-QN33PNHL-C01Meqsa.js +1 -0
  79. package/dist/assets/chunk-QXUST7PY-D5xq5giT.js +7 -0
  80. package/dist/assets/chunk-QZHKN3VN-zZhG5AHT.js +1 -0
  81. package/dist/assets/chunk-S3R3BYOJ-BHcv1C2j.js +2 -0
  82. package/dist/assets/chunk-SJTYNZTY-CYg6SbV7.js +1 -0
  83. package/dist/assets/chunk-TCCFYFTB-Pdx7j6Wx.js +125 -0
  84. package/dist/assets/chunk-TQ3KTPDO-CAAKzMy7.js +1 -0
  85. package/dist/assets/chunk-TZMSLE5B-D_lhSMp7.js +1 -0
  86. package/dist/assets/chunk-UMXZTB3W-w6XObCtJ.js +1 -0
  87. package/dist/assets/circle-check-CceJVe3L.js +1 -0
  88. package/dist/assets/circle-play-n0LbT9bZ.js +1 -0
  89. package/dist/assets/circle-plus-DfyUnSPr.js +1 -0
  90. package/dist/assets/classDiagram-2ON5EDUG-C8lxPHjc.js +1 -0
  91. package/dist/assets/classDiagram-v2-WZHVMYZB-C5kOgcAE.js +1 -0
  92. package/dist/assets/clear-button-jiwoSELH.js +1 -0
  93. package/dist/assets/clike-DPuzjNcL.js +1 -0
  94. package/dist/assets/clipboard-paste-DVaOjTFK.js +1 -0
  95. package/dist/assets/clojure-yGQavt_D.js +1 -0
  96. package/dist/assets/clone-390rHRbp.js +1 -0
  97. package/dist/assets/cmake-yLKyOybp.js +1 -0
  98. package/dist/assets/cn-d_A4rA-x.js +1 -0
  99. package/dist/assets/cobol-C5qkyUSJ.js +1 -0
  100. package/dist/assets/code-block-37QAKDTI-6EmvTShA.js +2 -0
  101. package/dist/assets/code-xml-BMv1Dtd2.js +1 -0
  102. package/dist/assets/coffeescript-CtR3eWCa.js +1 -0
  103. package/dist/assets/column-preview-UqWtgk7m.js +1 -0
  104. package/dist/assets/command-W0aMBKpO.js +1 -0
  105. package/dist/assets/command-palette-4GD_9thV.js +1 -0
  106. package/dist/assets/common-DIShU5MS.js +1 -0
  107. package/dist/assets/commonlisp-D-heOGa1.js +1 -0
  108. package/dist/assets/components-BLWMb_FO.js +1 -0
  109. package/dist/assets/components-DhxPTtfy.js +1 -0
  110. package/dist/assets/config-vle9v48l.js +1 -0
  111. package/dist/assets/context-DAH8i0ik.js +1 -0
  112. package/dist/assets/copy-CAR4dOiD.js +1 -0
  113. package/dist/assets/copy-hG3KkB-h.js +1 -0
  114. package/dist/assets/copy-icon-Cg5270DP.js +1 -0
  115. package/dist/assets/cose-bilkent-S5V4N54A-C4qI5Omf.js +1 -0
  116. package/dist/assets/createReducer-BcTiTw8T.js +1 -0
  117. package/dist/assets/crystal-PRx3aORZ.js +1 -0
  118. package/dist/assets/css-COQFxLQn.js +1 -0
  119. package/dist/assets/cypher-whf3KLcn.js +1 -0
  120. package/dist/assets/d-Rxavm_nZ.js +1 -0
  121. package/dist/assets/dagre-6UL2VRFP-7OtmcV5Q.js +4 -0
  122. package/dist/assets/dagre-Duvt3tBX.js +1 -0
  123. package/dist/assets/data-grid-overlay-editor-DcJUwxxA.js +1 -0
  124. package/dist/assets/database-zap-B3efE3T2.js +1 -0
  125. package/dist/assets/datasource-C5iY_kH6.js +3 -0
  126. package/dist/assets/dates-BL9QfUQ0.js +1 -0
  127. package/dist/assets/debounce-D8CkpJG7.js +1 -0
  128. package/dist/assets/dependency-graph-panel-BWfB8adR.js +5 -0
  129. package/dist/assets/diagram-PSM6KHXK-Bxvbx3PW.js +24 -0
  130. package/dist/assets/diagram-QEK2KX5R-ko939-gD.js +43 -0
  131. package/dist/assets/diagram-S2PKOQOG-CXW2MByb.js +24 -0
  132. package/dist/assets/dialog-DxCG9U2G.js +1 -0
  133. package/dist/assets/diff-BuBMfzxS.js +1 -0
  134. package/dist/assets/dist-0qXxt1VF.js +1 -0
  135. package/dist/assets/dist-4go66rGa.js +1 -0
  136. package/dist/assets/dist-B3emHSjb.js +1 -0
  137. package/dist/assets/dist-BDJDjQTP.js +1 -0
  138. package/dist/assets/dist-BMae4pFN.js +1 -0
  139. package/dist/assets/dist-BRjtiDLy.js +1 -0
  140. package/dist/assets/dist-BRw3dwds.js +1 -0
  141. package/dist/assets/dist-BUISUvVa.js +1 -0
  142. package/dist/assets/dist-BYah04_6.js +1 -0
  143. package/dist/assets/dist-BYbeMVLN.js +1 -0
  144. package/dist/assets/dist-BkKLXyVM.js +1 -0
  145. package/dist/assets/dist-BmupR6hJ.js +1 -0
  146. package/dist/assets/dist-BpJ2dYWn.js +1 -0
  147. package/dist/assets/dist-C0GaLmeM.js +1 -0
  148. package/dist/assets/dist-C2QWw4Xo.js +1 -0
  149. package/dist/assets/dist-C2n842c9.js +1 -0
  150. package/dist/assets/dist-C9Tymsam.js +1 -0
  151. package/dist/assets/dist-CEQIJ2pn.js +2 -0
  152. package/dist/assets/dist-CHWMEIbT.js +1 -0
  153. package/dist/assets/dist-CLn8560E.js +1 -0
  154. package/dist/assets/dist-CPbQEKNx.js +1 -0
  155. package/dist/assets/dist-CPvOfeA1.js +1 -0
  156. package/dist/assets/dist-CU-Ty5ht.js +2 -0
  157. package/dist/assets/dist-CYxfO26e.js +1 -0
  158. package/dist/assets/dist-C_w6Go0g.js +13 -0
  159. package/dist/assets/dist-CdZb2Grj.js +1 -0
  160. package/dist/assets/dist-CncFhr17.js +1 -0
  161. package/dist/assets/dist-CrRgfU8C.js +1 -0
  162. package/dist/assets/dist-D3d3ioNg.js +3 -0
  163. package/dist/assets/dist-D4Jt2p6U.js +1 -0
  164. package/dist/assets/dist-D89dID68.js +1 -0
  165. package/dist/assets/dist-DDs9pMUo.js +7 -0
  166. package/dist/assets/dist-DRM_TtJV.js +6 -0
  167. package/dist/assets/dist-DU2EJ7el.js +3 -0
  168. package/dist/assets/dist-DUY6xZX8.js +13 -0
  169. package/dist/assets/dist-DUYSgv8L.js +1 -0
  170. package/dist/assets/dist-DZhm7iRc.js +1 -0
  171. package/dist/assets/dist-DaUUgnNZ.js +1 -0
  172. package/dist/assets/dist-DnkvqAMq.js +1 -0
  173. package/dist/assets/dist-DpVoU5lF.js +1 -0
  174. package/dist/assets/dist-DqGTdKtw.js +1 -0
  175. package/dist/assets/dist-Dr0CXDHq.js +1 -0
  176. package/dist/assets/dist-OAWl1fS6.js +1 -0
  177. package/dist/assets/dist-OuzXQwz4.js +1 -0
  178. package/dist/assets/dist-Y8kplKu9.js +1 -0
  179. package/dist/assets/dist-wVMmgzGW.js +1 -0
  180. package/dist/assets/dist-x2aGlNO5.js +1 -0
  181. package/dist/assets/dist-xCxFRJqp.js +1 -0
  182. package/dist/assets/dockerfile-DsQk2-Mx.js +1 -0
  183. package/dist/assets/documentation-panel-7qSLXVrB.js +1 -0
  184. package/dist/assets/download-BG-iMGgV.js +1 -0
  185. package/dist/assets/download-BdFtkLcU.js +9 -0
  186. package/dist/assets/dropdown-menu-CYyWUG65.js +1 -0
  187. package/dist/assets/dtd-Byyl3ADK.js +1 -0
  188. package/dist/assets/dylan-zE-fWZ95.js +1 -0
  189. package/dist/assets/ecl-oGqPqdsN.js +1 -0
  190. package/dist/assets/edit-page-EW0RO0sT.js +13 -0
  191. package/dist/assets/eiffel-C_tzASKk.js +1 -0
  192. package/dist/assets/ellipsis-CnEpKti0.js +1 -0
  193. package/dist/assets/ellipsis-vertical-CqcBoxmi.js +1 -0
  194. package/dist/assets/elm-DowGsQrq.js +1 -0
  195. package/dist/assets/empty-state-DFr2pZOz.js +1 -0
  196. package/dist/assets/en-US-6llqATF7.js +1 -0
  197. package/dist/assets/erDiagram-Q2GNP2WA-F2DG5vaX.js +60 -0
  198. package/dist/assets/erlang-DXj5Mety.js +1 -0
  199. package/dist/assets/error-banner-AdDcypw3.js +1 -0
  200. package/dist/assets/error-panel-DEPfBXJ0.js +1 -0
  201. package/dist/assets/es-BLdjaIr6.js +5 -0
  202. package/dist/assets/esm-DYDEu0Nq.js +1 -0
  203. package/dist/assets/esm-YYGhitWU.js +1 -0
  204. package/dist/assets/eye-off-DgTL09j7.js +1 -0
  205. package/dist/assets/factor-BBRGvEpt.js +1 -0
  206. package/dist/assets/factor-CkLnJXKV.js +1 -0
  207. package/dist/assets/field-DVVr5TG5.js +1 -0
  208. package/dist/assets/file-DVwc11C3.js +1 -0
  209. package/dist/assets/file-explorer-panel-C5zIHrKp.js +1 -0
  210. package/dist/assets/file-plus-corner-BRwJx0yp.js +1 -0
  211. package/dist/assets/file-video-camera-Fa5c_iPb.js +1 -0
  212. package/dist/assets/floating-outline-R_VWqURd.js +1 -0
  213. package/dist/assets/flowDiagram-NV44I4VS-Cy5R0SXS.js +162 -0
  214. package/dist/assets/focus-E9cdlDyd.js +1 -0
  215. package/dist/assets/form-DbXf0B9X.js +2 -0
  216. package/dist/assets/formats-Bd3u9VU8.js +1 -0
  217. package/dist/assets/formatting-CkUjNdR1.js +1 -0
  218. package/dist/assets/forth-ir5Q2myN.js +1 -0
  219. package/dist/assets/fortran-Ckvuc18T.js +1 -0
  220. package/dist/assets/gallery-page-JQHurhaG.js +1 -0
  221. package/dist/assets/ganttDiagram-JELNMOA3-er2McpRV.js +267 -0
  222. package/dist/assets/gas-IcbZgopn.js +1 -0
  223. package/dist/assets/gherkin-BUQFbyhq.js +1 -0
  224. package/dist/assets/gitGraph-G5XIXVHT-BJUqJxuW.js +1 -0
  225. package/dist/assets/gitGraphDiagram-V2S2FVAM-BXz54piQ.js +65 -0
  226. package/dist/assets/glide-data-editor-ZP6OT6Ns.js +132 -0
  227. package/dist/assets/globals-Ce6X5cHF.js +1 -0
  228. package/dist/assets/globe-B68kre4p.js +1 -0
  229. package/dist/assets/graphlib-DG_BOc5S.js +1 -0
  230. package/dist/assets/groovy-CPRpPrR6.js +1 -0
  231. package/dist/assets/haskell-BZ64_L1W.js +1 -0
  232. package/dist/assets/haxe-u0gVVSGf.js +1 -0
  233. package/dist/assets/home-page-CIBZds6Y.js +4 -0
  234. package/dist/assets/hooks-CL179DVG.js +1 -0
  235. package/dist/assets/html-to-image-CrvxeCGx.js +2 -0
  236. package/dist/assets/icons-CHolxgW2.js +1 -0
  237. package/dist/assets/idl-D6vrTcdT.js +1 -0
  238. package/dist/assets/image-DJi6ovcV.js +1 -0
  239. package/dist/assets/index-BoyzQq0I.js +38 -0
  240. package/dist/assets/index-CvffbdXo.css +2 -0
  241. package/dist/assets/info-VBDWY6EO-CTfN_yCw.js +1 -0
  242. package/dist/assets/infoDiagram-HS3SLOUP-D9ookr-q.js +2 -0
  243. package/dist/assets/input-CRB-lq4Q.js +1 -0
  244. package/dist/assets/isArrayLikeObject-BkJc8lDE.js +1 -0
  245. package/dist/assets/isEmpty-9KlyX4nB.js +1 -0
  246. package/dist/assets/isValid-DXCp8eGi.js +1 -0
  247. package/dist/assets/javascript-DtGa6W6u.js +1 -0
  248. package/dist/assets/journeyDiagram-XKPGCS4Q-xJXwsVPO.js +139 -0
  249. package/dist/assets/julia-ChDcWdzF.js +1 -0
  250. package/dist/assets/kanban-definition-3W4ZIXB7-CCBTnZpc.js +89 -0
  251. package/dist/assets/katex-BubCv2pM.js +1 -0
  252. package/dist/assets/kbd-CNdD3jWa.js +1 -0
  253. package/dist/assets/kiosk-mode-xFsMpb4u.js +1 -0
  254. package/dist/assets/label-CGS9p44y.js +1 -0
  255. package/dist/assets/layout-S2qz-Sk_.js +5 -0
  256. package/dist/assets/line-BKm-YkCh.js +1 -0
  257. package/dist/assets/linear-DG7yljSg.js +1 -0
  258. package/dist/assets/link-BMKs5Gz_.js +1 -0
  259. package/dist/assets/links-DJ5XP9fV.js +1 -0
  260. package/dist/assets/links-DhyyPCG4.js +1 -0
  261. package/dist/assets/livescript-D3x57DP6.js +1 -0
  262. package/dist/assets/logs-panel-v1CSRp0G.js +1 -0
  263. package/dist/assets/loro_wasm_bg-D0L2fcEg.js +1 -0
  264. package/dist/assets/lua-CfeyF-5c.js +1 -0
  265. package/dist/assets/main-Cmx6WhDY.js +35 -0
  266. package/dist/assets/maps-8VTEe-0T.js +1 -0
  267. package/dist/assets/marimo-icons-B0iaQddz.js +1 -0
  268. package/dist/assets/markdown-renderer-CiOnsDJo.js +10 -0
  269. package/dist/assets/mathematica-CAUFFTVp.js +1 -0
  270. package/dist/assets/mbox-Duq1SQ_k.js +1 -0
  271. package/dist/assets/menu-items-uT9t8sb4.js +1 -0
  272. package/dist/assets/merge-DnJbrtRQ.js +1 -0
  273. package/dist/assets/mermaid-4DMBBIKO-BRWsSysM.js +1 -0
  274. package/dist/assets/mermaid-B3IDWWhK.js +11 -0
  275. package/dist/assets/mermaid-parser.core-f-6U1AUp.js +4 -0
  276. package/dist/assets/mhchem-D0np7Nq0.js +1 -0
  277. package/dist/assets/min-DXnsUn-p.js +1 -0
  278. package/dist/assets/mindmap-definition-VGOIOE7T-hpDaXNav.js +68 -0
  279. package/dist/assets/mirc-B8ay9N_G.js +1 -0
  280. package/dist/assets/mllike-Cdk-SxrR.js +1 -0
  281. package/dist/assets/modelica-cErGJ40J.js +1 -0
  282. package/dist/assets/mscgen-jRCec7TG.js +1 -0
  283. package/dist/assets/multi-icon-OxLi6M3I.js +1 -0
  284. package/dist/assets/multi-map-CDn9gple.js +1 -0
  285. package/dist/assets/mumps-CPuZtknR.js +1 -0
  286. package/dist/assets/name-cell-input-DSy4I8wZ.js +1 -0
  287. package/dist/assets/now-DIo_1hTm.js +1 -0
  288. package/dist/assets/nsis-DLIsIma3.js +1 -0
  289. package/dist/assets/nsis-ggFWkoqT.js +1 -0
  290. package/dist/assets/ntriples-eQBrW6tI.js +1 -0
  291. package/dist/assets/number-overlay-editor-BNjcKmLy.js +9 -0
  292. package/dist/assets/numbers-DD2lH3f-.js +1 -0
  293. package/dist/assets/octave-CcpumlkH.js +1 -0
  294. package/dist/assets/once-DRC4SgqY.js +1 -0
  295. package/dist/assets/ordinal-CIVqSC4M.js +1 -0
  296. package/dist/assets/outline-panel-DUHUBCxJ.js +1 -0
  297. package/dist/assets/oz-D3u6XBI4.js +1 -0
  298. package/dist/assets/packages-panel-CD4rRpCH.js +1 -0
  299. package/dist/assets/packet-DYOGHKS2-DfKNdoQU.js +1 -0
  300. package/dist/assets/panel-context-ICWm_stq.js +1 -0
  301. package/dist/assets/panels-_992W_EU.js +1 -0
  302. package/dist/assets/pascal-COvFIqNx.js +1 -0
  303. package/dist/assets/perl-BSxTN_bc.js +1 -0
  304. package/dist/assets/pick-BeVScbIo.js +1 -0
  305. package/dist/assets/pie-VRWISCQL-CfPb9Iyo.js +1 -0
  306. package/dist/assets/pieDiagram-ADFJNKIX-DYPzbM_t.js +30 -0
  307. package/dist/assets/pig-B5SEJPfW.js +1 -0
  308. package/dist/assets/play-Cb6tYyv-.js +1 -0
  309. package/dist/assets/plus-BgyD1fCH.js +1 -0
  310. package/dist/assets/popover-2GpKY98n.js +1 -0
  311. package/dist/assets/powershell-T0AiDBtK.js +1 -0
  312. package/dist/assets/precisionRound-NX56vp6K.js +1 -0
  313. package/dist/assets/process-output-CG4dqRHK.js +1 -0
  314. package/dist/assets/properties-CEyxcWzr.js +1 -0
  315. package/dist/assets/protobuf-BgP8VdyX.js +1 -0
  316. package/dist/assets/pug-D1MIs29p.js +1 -0
  317. package/dist/assets/pug-qZYhFFj7.js +1 -0
  318. package/dist/assets/puppet-DQ0s94I4.js +1 -0
  319. package/dist/assets/python-jVWqyNLt.js +1 -0
  320. package/dist/assets/q-Ddp_9iFq.js +1 -0
  321. package/dist/assets/quadrantDiagram-AYHSOK5B-DaOAbQTd.js +7 -0
  322. package/dist/assets/r-WnM9HAaQ.js +1 -0
  323. package/dist/assets/radar-ZZBFDIW7-9GhwFnEA.js +1 -0
  324. package/dist/assets/range-BGa3qZre.js +1 -0
  325. package/dist/assets/react-vega-CYEp7Hhy.js +190 -0
  326. package/dist/assets/react-vega-DDgw1_ws.js +1 -0
  327. package/dist/assets/readonly-python-code-B5GInwZp.js +1 -0
  328. package/dist/assets/reduce-DkYTQbK1.js +1 -0
  329. package/dist/assets/refresh-ccw-fkpyyW4C.js +1 -0
  330. package/dist/assets/refresh-cw-6vegZcuZ.js +1 -0
  331. package/dist/assets/renderShortcut-CMdaUbHS.js +1 -0
  332. package/dist/assets/request-registry-CbsOZIpY.js +1 -0
  333. package/dist/assets/requests-DZy_SQ_v.js +1 -0
  334. package/dist/assets/requests-KFvRjaaN.js +1 -0
  335. package/dist/assets/requirementDiagram-UZGBJVZJ-Cy9_RLyk.js +64 -0
  336. package/dist/assets/rotate-ccw-BNlUg6K6.js +1 -0
  337. package/dist/assets/rpm-Cpb0cYbF.js +1 -0
  338. package/dist/assets/ruby-npoQJqOj.js +1 -0
  339. package/dist/assets/run-page-DzZn5REc.js +1 -0
  340. package/dist/assets/runs-BMpRKQKC.js +1 -0
  341. package/dist/assets/sankeyDiagram-TZEHDZUN-VPOD73xc.js +10 -0
  342. package/dist/assets/sas-D5R_hCoQ.js +1 -0
  343. package/dist/assets/save-BShTD2ty.js +1 -0
  344. package/dist/assets/scheme-oK64G5wG.js +1 -0
  345. package/dist/assets/scratchpad-panel-DWu26mkk.js +1 -0
  346. package/dist/assets/secrets-panel-CAz6p-JQ.js +1 -0
  347. package/dist/assets/select-DjvQ3a3F.js +1 -0
  348. package/dist/assets/sequenceDiagram-WL72ISMW-BnMeGyEq.js +145 -0
  349. package/dist/assets/session-BQVN1Kxg.js +1 -0
  350. package/dist/assets/session-panel-D7so3k0L.js +1 -0
  351. package/dist/assets/settings-DuNjGb99.js +1 -0
  352. package/dist/assets/share-XjNIMk98.js +1 -0
  353. package/dist/assets/shell-D-C8eGy_.js +1 -0
  354. package/dist/assets/sieve-DPRpRdV2.js +1 -0
  355. package/dist/assets/slides-component-BZCkobYT.css +1 -0
  356. package/dist/assets/slides-component-Bjat3BTE.js +1 -0
  357. package/dist/assets/smalltalk-bsl5ZJOd.js +1 -0
  358. package/dist/assets/snippets-panel-CFa_X6Lb.js +1 -0
  359. package/dist/assets/sortBy-B9Ki4_h3.js +1 -0
  360. package/dist/assets/sparql-CJUH6gR2.js +1 -0
  361. package/dist/assets/spec-HU4WDTN0.js +1 -0
  362. package/dist/assets/spinner-Cg6xI4rq.js +1 -0
  363. package/dist/assets/square-BQ6pR0y3.js +1 -0
  364. package/dist/assets/square-function-DVqP0HiQ.js +1 -0
  365. package/dist/assets/src-lcGySDV2.js +1 -0
  366. package/dist/assets/state-BlC8AgKx.js +1 -0
  367. package/dist/assets/state-C1dI2xM8.js +1 -0
  368. package/dist/assets/state-O2Ife70c.js +1 -0
  369. package/dist/assets/stateDiagram-FKZM4ZOC-KIAr66GY.js +1 -0
  370. package/dist/assets/stateDiagram-v2-4FDKWEC3-CZBJocb3.js +1 -0
  371. package/dist/assets/step-B5y1YzZ4.js +1 -0
  372. package/dist/assets/stex-CruVQx-P.js +1 -0
  373. package/dist/assets/stylus-Dz-M3k6z.js +1 -0
  374. package/dist/assets/swift-BZHzeogd.js +1 -0
  375. package/dist/assets/switch-CvXNrFdd.js +1 -0
  376. package/dist/assets/table-BhRziAuf.js +1 -0
  377. package/dist/assets/table-CeILsq6V.js +1 -0
  378. package/dist/assets/tcl-CjjnKQKi.js +1 -0
  379. package/dist/assets/terminal-BJynXdg_.js +62 -0
  380. package/dist/assets/textarea-Bh-JbFt9.js +1 -0
  381. package/dist/assets/textile-C6DxVHfN.js +1 -0
  382. package/dist/assets/time-D8_flTb-.js +1 -0
  383. package/dist/assets/timeline-definition-IT6M3QCI-CsLwsqls.js +61 -0
  384. package/dist/assets/toDate-DDAiY7kz.js +1 -0
  385. package/dist/assets/toInteger-Cl1doThW.js +1 -0
  386. package/dist/assets/toNumber-GB_lFVaq.js +1 -0
  387. package/dist/assets/toggle-B6rNJdxn.js +1 -0
  388. package/dist/assets/toml-DTuUvOIE.js +1 -0
  389. package/dist/assets/tooltip-BrjpohcK.js +61 -0
  390. package/dist/assets/tooltip-D7xdZcKW.js +1 -0
  391. package/dist/assets/tracing-CtIjhfga.js +1 -0
  392. package/dist/assets/tracing-panel-BQQQ7QWv.js +2 -0
  393. package/dist/assets/trash-2-B00-wGoJ.js +1 -0
  394. package/dist/assets/trash-CJS9T5-q.js +1 -0
  395. package/dist/assets/tree-Rwd8OPB8.js +3 -0
  396. package/dist/assets/treemap-GDKQZRPO-BGBWZqyV.js +1 -0
  397. package/dist/assets/troff-yA83BgDZ.js +1 -0
  398. package/dist/assets/ttcn-F0FnYTMB.js +1 -0
  399. package/dist/assets/ttcn-cfg-CSr0YVH7.js +1 -0
  400. package/dist/assets/turtle-DaAbI02L.js +1 -0
  401. package/dist/assets/types-BSdeUIYH.js +17 -0
  402. package/dist/assets/types-un36DD9G.js +1 -0
  403. package/dist/assets/uniq-BcZ2NhGK.js +1 -0
  404. package/dist/assets/useAddCell-CxVx0Nv2.js +1 -0
  405. package/dist/assets/useAsyncData-D89z7Kpl.js +1 -0
  406. package/dist/assets/useBoolean-CM4hA6rT.js +1 -0
  407. package/dist/assets/useCellActionButton-QibVT_Q5.js +1 -0
  408. package/dist/assets/useDateFormatter-Dm6WIEWp.js +1 -0
  409. package/dist/assets/useDebounce-PhGkOHyw.js +1 -0
  410. package/dist/assets/useDeleteCell-8V08AJDo.js +1 -0
  411. package/dist/assets/useDependencyPanelTab-0VcOLAUG.js +1 -0
  412. package/dist/assets/useEvent-WUlsM6MC.js +1 -0
  413. package/dist/assets/useIframeCapabilities-DDClcvJ3.js +1 -0
  414. package/dist/assets/useInstallPackage-z6g4hGCr.js +1 -0
  415. package/dist/assets/useInterval-nTH-RAU5.js +1 -0
  416. package/dist/assets/useLifecycle-BDXC6oVR.js +1 -0
  417. package/dist/assets/useNonce-BY4jV7Yb.js +56 -0
  418. package/dist/assets/useNotebookActions-CedCjOAV.js +1 -0
  419. package/dist/assets/useNumberFormatter-Cvi0uMeX.js +1 -0
  420. package/dist/assets/usePress-C7hs6zHi.js +7 -0
  421. package/dist/assets/useSplitCell-Dcg7WwVF.js +1 -0
  422. package/dist/assets/useTheme-0tqyqYah.js +1 -0
  423. package/dist/assets/utilities.esm-BqS8da1L.js +3 -0
  424. package/dist/assets/utils-CORJ8yYa.js +1 -0
  425. package/dist/assets/vb-BYziWQVS.js +1 -0
  426. package/dist/assets/vbscript-CP_qFLQN.js +1 -0
  427. package/dist/assets/vega-component-BZeFK2Gj.js +1 -0
  428. package/dist/assets/vega-loader.browser-xq8miGHn.js +6 -0
  429. package/dist/assets/velocity-etCBW8YB.js +1 -0
  430. package/dist/assets/verilog-DO_FdUQ9.js +1 -0
  431. package/dist/assets/vhdl-CtT4O7WT.js +1 -0
  432. package/dist/assets/webidl-DUTo0zWa.js +1 -0
  433. package/dist/assets/workflow-BmruJ2Ti.js +1 -0
  434. package/dist/assets/write-secret-modal-lM40RNrZ.js +1 -0
  435. package/dist/assets/x-yqLqiq5Q.js +1 -0
  436. package/dist/assets/xquery-B0wH9AmB.js +1 -0
  437. package/dist/assets/xychartDiagram-PRI3JC2R-CvSP67JF.js +7 -0
  438. package/dist/assets/yacas-UtDKR_RQ.js +1 -0
  439. package/dist/assets/youtube-C6LYzJHy.js +1 -0
  440. package/dist/assets/z80-gTLyuPxz.js +1 -0
  441. package/dist/index.html +180 -177
  442. package/package.json +11 -11
  443. package/src/__mocks__/requests.ts +2 -0
  444. package/src/components/app-config/ai-config.tsx +1 -1
  445. package/src/components/app-config/user-config-form.tsx +27 -0
  446. package/src/components/data-table/__tests__/pagination.test.tsx +16 -24
  447. package/src/components/data-table/charts/lazy-chart.tsx +1 -1
  448. package/src/components/data-table/data-table.tsx +20 -18
  449. package/src/components/data-table/pagination.tsx +138 -56
  450. package/src/components/data-table/range-focus/__tests__/cell-selection-stats.test.tsx +365 -0
  451. package/src/components/data-table/range-focus/__tests__/test-utils.ts +77 -0
  452. package/src/components/data-table/range-focus/__tests__/utils.test.ts +205 -65
  453. package/src/components/data-table/range-focus/cell-selection-stats.tsx +79 -0
  454. package/src/components/data-table/range-focus/utils.ts +69 -7
  455. package/src/components/data-table/types.ts +4 -0
  456. package/src/components/databases/engine-variable.tsx +2 -1
  457. package/src/components/databases/icons/google-cloud-storage.svg +38 -0
  458. package/src/components/datasources/components.tsx +6 -2
  459. package/src/components/dependency-graph/minimap-content.tsx +3 -5
  460. package/src/components/dependency-graph/utils/__tests__/cell-preview.test.ts +143 -0
  461. package/src/components/dependency-graph/utils/cell-preview.ts +46 -0
  462. package/src/components/editor/Output.tsx +3 -28
  463. package/src/components/editor/cell/cell-actions.tsx +6 -5
  464. package/src/components/editor/cell/cell-context-menu.tsx +11 -7
  465. package/src/components/editor/chrome/panels/components.tsx +88 -0
  466. package/src/components/editor/chrome/panels/file-explorer-panel.tsx +120 -7
  467. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +27 -15
  468. package/src/components/editor/chrome/panels/session-panel.tsx +24 -35
  469. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +17 -1
  470. package/src/components/editor/file-tree/file-explorer.tsx +38 -6
  471. package/src/components/editor/file-tree/file-header.tsx +61 -0
  472. package/src/components/editor/file-tree/file-viewer.tsx +88 -167
  473. package/src/components/editor/file-tree/renderers.tsx +142 -21
  474. package/src/components/editor/file-tree/requesting-tree.tsx +6 -2
  475. package/src/components/editor/output/console/ConsoleOutput.tsx +34 -2
  476. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +13 -0
  477. package/src/components/icons/marimo-icons.tsx +173 -0
  478. package/src/components/markdown/markdown-renderer.tsx +3 -20
  479. package/src/components/pages/run-page.tsx +2 -2
  480. package/src/components/storage/components.tsx +86 -0
  481. package/src/components/storage/storage-file-viewer.tsx +225 -0
  482. package/src/components/storage/storage-inspector.tsx +610 -0
  483. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +79 -0
  484. package/src/core/ai/tools/edit-notebook-tool.ts +5 -0
  485. package/src/core/cells/__tests__/cells.test.ts +30 -0
  486. package/src/core/cells/cells.ts +6 -1
  487. package/src/core/cells/outline.ts +7 -1
  488. package/src/core/cells/outputs.ts +20 -8
  489. package/src/core/codemirror/language/languages/sql/sql.ts +76 -62
  490. package/src/core/codemirror/language/panel/sql.tsx +3 -3
  491. package/src/core/codemirror/lsp/__tests__/normalize-markdown-math.test.ts +123 -0
  492. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +196 -0
  493. package/src/core/codemirror/lsp/normalize-markdown-math.ts +381 -0
  494. package/src/core/codemirror/lsp/notebook-lsp.ts +59 -3
  495. package/src/core/config/feature-flag.tsx +2 -0
  496. package/src/core/dom/__tests__/outline.test.ts +48 -0
  497. package/src/core/dom/outline.ts +13 -2
  498. package/src/core/islands/bridge.ts +2 -0
  499. package/src/core/islands/main.ts +2 -0
  500. package/src/core/network/requests-lazy.ts +2 -0
  501. package/src/core/network/requests-network.ts +16 -0
  502. package/src/core/network/requests-static.ts +2 -0
  503. package/src/core/network/requests-toasting.tsx +2 -0
  504. package/src/core/network/types.ts +6 -0
  505. package/src/core/storage/__tests__/state.test.ts +345 -0
  506. package/src/core/storage/__tests__/types.test.ts +83 -0
  507. package/src/core/storage/__tests__/useStorageEntries.test.tsx +187 -0
  508. package/src/core/storage/request-registry.ts +36 -0
  509. package/src/core/storage/state.ts +132 -0
  510. package/src/core/storage/types.ts +57 -0
  511. package/src/core/wasm/bridge.ts +2 -0
  512. package/src/core/websocket/useMarimoKernelConnection.tsx +19 -1
  513. package/src/hooks/__tests__/useNonce.test.tsx +127 -0
  514. package/src/hooks/__tests__/useOverflowDetection.test.tsx +127 -0
  515. package/src/hooks/useNonce.ts +6 -5
  516. package/src/hooks/useOverflowDetection.ts +36 -0
  517. package/src/plugins/impl/MatrixPlugin.tsx +5 -2
  518. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +1 -1
  519. package/src/plugins/impl/code/any-language-editor.tsx +14 -3
  520. package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +37 -2
  521. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +13 -1
  522. package/src/utils/__tests__/filenames.test.ts +54 -1
  523. package/src/utils/filenames.ts +42 -0
  524. package/dist/assets/CellStatus-CXzj7sRm.js +0 -1
  525. package/dist/assets/Combination-CdkqT4eF.js +0 -41
  526. package/dist/assets/ConnectedDataExplorerComponent-BtaufJqg.js +0 -1
  527. package/dist/assets/DeferredRequestRegistry-ODyALcIJ.js +0 -1
  528. package/dist/assets/ErrorBoundary-CL8ByR73.js +0 -1
  529. package/dist/assets/ImageComparisonComponent-DaRs7UvQ.js +0 -1
  530. package/dist/assets/ImperativeModal-BcWA2M3r.js +0 -1
  531. package/dist/assets/Inputs-fHea2UE1.js +0 -1
  532. package/dist/assets/JsonOutput-Cf8A51yY.js +0 -46
  533. package/dist/assets/LazyAnyLanguageCodeMirror-Bd0XX4es.js +0 -2
  534. package/dist/assets/MarimoErrorOutput-DDh0mN6J.js +0 -7
  535. package/dist/assets/Plot-UGYbSTJ3.js +0 -3789
  536. package/dist/assets/RenderHTML-BtyszmRY.js +0 -1
  537. package/dist/assets/_baseEach-BhAgFun2.js +0 -1
  538. package/dist/assets/_baseFlatten-CUZNxU8H.js +0 -1
  539. package/dist/assets/_baseFor-Duhs3RiJ.js +0 -1
  540. package/dist/assets/_baseIsEqual-B9N9Mw_N.js +0 -1
  541. package/dist/assets/_baseMap-D3aN2j3O.js +0 -1
  542. package/dist/assets/_baseSet-5Rdwpmr3.js +0 -1
  543. package/dist/assets/_baseUniq-BP3iN0f3.js +0 -1
  544. package/dist/assets/add-cell-with-ai-BCTdiv0p.js +0 -90
  545. package/dist/assets/add-database-form-Be5HSGc6.js +0 -111
  546. package/dist/assets/agent-panel-2Q2T5S16.js +0 -287
  547. package/dist/assets/ai-model-dropdown-BC0cdhi9.js +0 -5
  548. package/dist/assets/alert-Djvdl92y.js +0 -1
  549. package/dist/assets/alert-dialog-Btfo5nE7.js +0 -11
  550. package/dist/assets/any-language-editor-D6_jIAss.js +0 -3
  551. package/dist/assets/apl-m-AMVo9Q.js +0 -1
  552. package/dist/assets/app-config-button-DmKmnxml.js +0 -1
  553. package/dist/assets/arc-ONRhTAm2.js +0 -1
  554. package/dist/assets/architecture-U656AL7Q-BXMjPYuG.js +0 -1
  555. package/dist/assets/architectureDiagram-VXUJARFQ-C7m5iL4C.js +0 -36
  556. package/dist/assets/arrow-left-CgqvfuXk.js +0 -1
  557. package/dist/assets/asciiarmor-BCgPMx-s.js +0 -1
  558. package/dist/assets/asn1-f2_lxsgc.js +0 -1
  559. package/dist/assets/assertNever-eF2N5g4Y.js +0 -1
  560. package/dist/assets/badge-Duqg7hNv.js +0 -1
  561. package/dist/assets/blockDiagram-VD42YOAC-D3VTcGtQ.js +0 -122
  562. package/dist/assets/bot-message-square-BNUYewXt.js +0 -1
  563. package/dist/assets/brainfuck-ZYebo2B9.js +0 -1
  564. package/dist/assets/button-DOOm_ggu.js +0 -1
  565. package/dist/assets/c4Diagram-YG6GDRKO-DeGX1mCC.js +0 -10
  566. package/dist/assets/cache-panel-DTR5L2Ml.js +0 -1
  567. package/dist/assets/capabilities-DTeDSdGM.js +0 -1
  568. package/dist/assets/capitalize-O1rWkjI6.js +0 -1
  569. package/dist/assets/card-Cl7Rwjou.js +0 -1
  570. package/dist/assets/cell-editor-DW3vX0Hr.js +0 -23
  571. package/dist/assets/cell-link-HggHOhac.js +0 -1
  572. package/dist/assets/cells-BvQJ_wGv.js +0 -254
  573. package/dist/assets/channel-uqHqvwkh.js +0 -1
  574. package/dist/assets/chart-no-axes-column-BXq2PuKd.js +0 -1
  575. package/dist/assets/chat-display-Bvu3qbng.js +0 -1
  576. package/dist/assets/chat-panel-BGfg1SLf.js +0 -3
  577. package/dist/assets/check-CAiA4SIb.js +0 -1
  578. package/dist/assets/chevron-right-Cez-Jqdk.js +0 -1
  579. package/dist/assets/chunk-4BX2VUAB-KawmK-5L.js +0 -1
  580. package/dist/assets/chunk-55IACEB6-yE5HX-Wz.js +0 -1
  581. package/dist/assets/chunk-5FQGJX7Z-BuHQ2zZJ.js +0 -113
  582. package/dist/assets/chunk-76Q3JFCE-DgTNlWLG.js +0 -1
  583. package/dist/assets/chunk-ABZYJK2D-zjU2RqNw.js +0 -80
  584. package/dist/assets/chunk-ATLVNIR6-D5Snp2DL.js +0 -1
  585. package/dist/assets/chunk-B4BG7PRW-kcvpFVyq.js +0 -165
  586. package/dist/assets/chunk-CVBHYZKI-DU48rJVu.js +0 -1
  587. package/dist/assets/chunk-DI55MBZ5-CuaKj0HK.js +0 -220
  588. package/dist/assets/chunk-EXTU4WIE-DQBwRCkx.js +0 -1
  589. package/dist/assets/chunk-FMBD7UC4-CHJv683r.js +0 -15
  590. package/dist/assets/chunk-FPAJGGOC-CbeZEPWm.js +0 -125
  591. package/dist/assets/chunk-FWNWRKHM-BJqoIuVF.js +0 -1
  592. package/dist/assets/chunk-HN2XXSSU-Bdbi3Mns.js +0 -1
  593. package/dist/assets/chunk-JA3XYJ7Z-DX4bo94N.js +0 -70
  594. package/dist/assets/chunk-JZLCHNYA-DYuUuKtZ.js +0 -54
  595. package/dist/assets/chunk-LBM3YZW2-XGgejlQq.js +0 -1
  596. package/dist/assets/chunk-LHMN2FUI-BEi6IUQb.js +0 -1
  597. package/dist/assets/chunk-MI3HLSF2-n3vxgSbN.js +0 -32
  598. package/dist/assets/chunk-N4CR4FBY-BON0Mwrl.js +0 -2
  599. package/dist/assets/chunk-O7ZBX7Z2-LHfZUTOA.js +0 -1
  600. package/dist/assets/chunk-QN33PNHL-CVYbno5t.js +0 -1
  601. package/dist/assets/chunk-QXUST7PY-BIvSztQy.js +0 -7
  602. package/dist/assets/chunk-QZHKN3VN-Cp_TxrNJ.js +0 -1
  603. package/dist/assets/chunk-S3R3BYOJ-v5Xg6aqf.js +0 -2
  604. package/dist/assets/chunk-S6J4BHB3-CrigYXUL.js +0 -1
  605. package/dist/assets/chunk-T53DSG4Q-gqM1xQ36.js +0 -1
  606. package/dist/assets/chunk-TZMSLE5B-BxAGWPcZ.js +0 -1
  607. package/dist/assets/chunk-XAJISQIX-0gvwv13B.js +0 -1
  608. package/dist/assets/circle-check-DwXZ6wul.js +0 -1
  609. package/dist/assets/circle-play-DjSRfMkE.js +0 -1
  610. package/dist/assets/circle-plus-yTkn5aIV.js +0 -1
  611. package/dist/assets/classDiagram-2ON5EDUG-UKFp8UX6.js +0 -1
  612. package/dist/assets/classDiagram-v2-WZHVMYZB-DP5SaZcv.js +0 -1
  613. package/dist/assets/clear-button-Iy93qpY9.js +0 -1
  614. package/dist/assets/clike-O99jWPIc.js +0 -1
  615. package/dist/assets/clipboard-paste-D6NlptzF.js +0 -1
  616. package/dist/assets/clojure-NE6UT6b9.js +0 -1
  617. package/dist/assets/clone-bEECh4rs.js +0 -1
  618. package/dist/assets/cmake-7TIUAxVu.js +0 -1
  619. package/dist/assets/cn-BfqzeB_k.js +0 -1
  620. package/dist/assets/cobol-BdI6-uBH.js +0 -1
  621. package/dist/assets/code-block-37QAKDTI-VG5NaJEQ.js +0 -2
  622. package/dist/assets/code-xml-CAMyACkU.js +0 -1
  623. package/dist/assets/coffeescript-CLx5m4GS.js +0 -1
  624. package/dist/assets/column-preview-CJ3a0IPi.js +0 -1
  625. package/dist/assets/command-D2UvWA5R.js +0 -1
  626. package/dist/assets/command-palette-D8rmVaQE.js +0 -1
  627. package/dist/assets/common-CdY4MV1-.js +0 -1
  628. package/dist/assets/commonlisp-8d9AwdCm.js +0 -1
  629. package/dist/assets/config-BHy9GZrJ.js +0 -1
  630. package/dist/assets/context-DoXuYYBM.js +0 -1
  631. package/dist/assets/copy-CmJTXGCp.js +0 -1
  632. package/dist/assets/copy-fZotD7fi.js +0 -1
  633. package/dist/assets/copy-icon-DQ4_WQe7.js +0 -1
  634. package/dist/assets/cose-bilkent-S5V4N54A-CbgVOhIY.js +0 -1
  635. package/dist/assets/createReducer-DhUZtGnB.js +0 -1
  636. package/dist/assets/crystal-Bn-cOTHZ.js +0 -1
  637. package/dist/assets/css-Ctj1grpW.js +0 -1
  638. package/dist/assets/cypher-DnT9gfY3.js +0 -1
  639. package/dist/assets/d-DCjbmG72.js +0 -1
  640. package/dist/assets/dagre-6UL2VRFP-DU6p50BW.js +0 -4
  641. package/dist/assets/dagre-DFula7I5.js +0 -1
  642. package/dist/assets/data-grid-overlay-editor-P1nXBnKB.js +0 -1
  643. package/dist/assets/database-zap-DjyjptVG.js +0 -1
  644. package/dist/assets/datasource-ow4Y3Yl7.js +0 -3
  645. package/dist/assets/dates-CeHtKOEz.js +0 -1
  646. package/dist/assets/debounce-B3mjKxHe.js +0 -1
  647. package/dist/assets/dependency-graph-panel-G7LHU1W_.js +0 -4
  648. package/dist/assets/diagram-PSM6KHXK-DE5xwnbv.js +0 -24
  649. package/dist/assets/diagram-QEK2KX5R-D2cX-DID.js +0 -43
  650. package/dist/assets/diagram-S2PKOQOG-ruaXlG20.js +0 -24
  651. package/dist/assets/dialog-BY1JTkTv.js +0 -1
  652. package/dist/assets/diff-DtVdhdPz.js +0 -1
  653. package/dist/assets/dist-58osgSTy.js +0 -1
  654. package/dist/assets/dist-B3moP5J0.js +0 -1
  655. package/dist/assets/dist-B9UvQEKY.js +0 -1
  656. package/dist/assets/dist-BDH5XYf0.js +0 -1
  657. package/dist/assets/dist-BFIBAOoU.js +0 -3
  658. package/dist/assets/dist-BGj9ey0m.js +0 -1
  659. package/dist/assets/dist-BGl4L4Qw.js +0 -1
  660. package/dist/assets/dist-BKGFUG98.js +0 -1
  661. package/dist/assets/dist-BPM4RU79.js +0 -1
  662. package/dist/assets/dist-BZl-Tewq.js +0 -1
  663. package/dist/assets/dist-BbnY99Cn.js +0 -1
  664. package/dist/assets/dist-Bie__U8O.js +0 -1
  665. package/dist/assets/dist-Bsp55hDJ.js +0 -2
  666. package/dist/assets/dist-C4tIy6GA.js +0 -1
  667. package/dist/assets/dist-C8PtNoUO.js +0 -1
  668. package/dist/assets/dist-CCYZUpo1.js +0 -1
  669. package/dist/assets/dist-CFRIjHXV.js +0 -1
  670. package/dist/assets/dist-CY9T8Ye8.js +0 -1
  671. package/dist/assets/dist-CaKf4gjo.js +0 -1
  672. package/dist/assets/dist-CehSYLRr.js +0 -1
  673. package/dist/assets/dist-CfOw57vq.js +0 -1
  674. package/dist/assets/dist-ChjglRRU.js +0 -13
  675. package/dist/assets/dist-CkDKNI-t.js +0 -1
  676. package/dist/assets/dist-Cka1pjxF.js +0 -1
  677. package/dist/assets/dist-D-SgQKH_.js +0 -1
  678. package/dist/assets/dist-D9xGHqiw.js +0 -2
  679. package/dist/assets/dist-DAxpo7DH.js +0 -1
  680. package/dist/assets/dist-DP8UD8yK.js +0 -1
  681. package/dist/assets/dist-DQ1HIq9U.js +0 -1
  682. package/dist/assets/dist-DXEbN9dc.js +0 -1
  683. package/dist/assets/dist-DitzHVlf.js +0 -1
  684. package/dist/assets/dist-Dq6dViu8.js +0 -3
  685. package/dist/assets/dist-DrUzA1yp.js +0 -1
  686. package/dist/assets/dist-DvlYinQM.js +0 -1
  687. package/dist/assets/dist-Dw5p3QBM.js +0 -1
  688. package/dist/assets/dist-GhfjlQt5.js +0 -1
  689. package/dist/assets/dist-HoBrI5Oq.js +0 -1
  690. package/dist/assets/dist-Qq3FmokF.js +0 -1
  691. package/dist/assets/dist-Sapk1n6W.js +0 -6
  692. package/dist/assets/dist-XYfs_NJs.js +0 -1
  693. package/dist/assets/dist-bE7sV_bx.js +0 -7
  694. package/dist/assets/dist-m6mzfYjs.js +0 -13
  695. package/dist/assets/dist-oFpLdR8n.js +0 -1
  696. package/dist/assets/dist-qpoyijSp.js +0 -1
  697. package/dist/assets/dist-sLPsrFJ9.js +0 -1
  698. package/dist/assets/dist-slVnaZ55.js +0 -1
  699. package/dist/assets/dist-vZkxMoNS.js +0 -1
  700. package/dist/assets/dist-yCrXzwf-.js +0 -1
  701. package/dist/assets/dockerfile-DLv42vp6.js +0 -1
  702. package/dist/assets/documentation-panel-C1BKTYu6.js +0 -1
  703. package/dist/assets/download-FoG6dAm7.js +0 -9
  704. package/dist/assets/download-Jiq5cuc9.js +0 -1
  705. package/dist/assets/dropdown-menu-BjqFXaqX.js +0 -1
  706. package/dist/assets/dtd-CHKGQo-k.js +0 -1
  707. package/dist/assets/dylan-DKXsKw9e.js +0 -1
  708. package/dist/assets/ecl-BJuToLkm.js +0 -1
  709. package/dist/assets/edit-page-qkwPqNNl.js +0 -13
  710. package/dist/assets/eiffel-Bs0gRCeB.js +0 -1
  711. package/dist/assets/ellipsis-3ww_PRTI.js +0 -1
  712. package/dist/assets/ellipsis-vertical-49SoChzg.js +0 -1
  713. package/dist/assets/elm-BXUbhN4m.js +0 -1
  714. package/dist/assets/empty-state-DlQg-nUq.js +0 -1
  715. package/dist/assets/en-US-DyCX-qVi.js +0 -1
  716. package/dist/assets/erDiagram-Q2GNP2WA-mfrxCDrL.js +0 -60
  717. package/dist/assets/erlang-B9b7RAaI.js +0 -1
  718. package/dist/assets/error-banner-ClreFLcv.js +0 -1
  719. package/dist/assets/error-panel-Cse2qyD7.js +0 -1
  720. package/dist/assets/es-BAwLP160.js +0 -5
  721. package/dist/assets/esm-CP9RsJ4O.js +0 -1
  722. package/dist/assets/esm-DPool9PJ.js +0 -1
  723. package/dist/assets/eye-off-D6Gma1GF.js +0 -1
  724. package/dist/assets/factor-BbYo7zsD.js +0 -1
  725. package/dist/assets/factor-C2NWkG3V.js +0 -1
  726. package/dist/assets/field-0rGb7K7u.js +0 -1
  727. package/dist/assets/file-BH6mbfdw.js +0 -1
  728. package/dist/assets/file-explorer-panel-I8XsTAeG.js +0 -1
  729. package/dist/assets/file-plus-corner-BEHHIF2L.js +0 -1
  730. package/dist/assets/file-video-camera-o8CZtjRQ.js +0 -1
  731. package/dist/assets/flatten-D-7VEN0q.js +0 -1
  732. package/dist/assets/floating-outline-D3kzMiv3.js +0 -1
  733. package/dist/assets/flowDiagram-NV44I4VS-BEP3c13J.js +0 -162
  734. package/dist/assets/focus-CPRFg4kn.js +0 -1
  735. package/dist/assets/form-DISpbGyw.js +0 -2
  736. package/dist/assets/formats-DekCK0sB.js +0 -1
  737. package/dist/assets/forth-DAh7UX6C.js +0 -1
  738. package/dist/assets/fortran-Dy64-0b5.js +0 -1
  739. package/dist/assets/gallery-page-DST6-asz.js +0 -1
  740. package/dist/assets/ganttDiagram-JELNMOA3-Bh21ZsxH.js +0 -267
  741. package/dist/assets/gas-DC-7PUFB.js +0 -1
  742. package/dist/assets/gherkin-ByiMyVl5.js +0 -1
  743. package/dist/assets/gitGraph-F6HP7TQM-DWQaw9OD.js +0 -1
  744. package/dist/assets/gitGraphDiagram-NY62KEGX-BT8AJ_oS.js +0 -65
  745. package/dist/assets/glide-data-editor-CcAOmSAy.js +0 -132
  746. package/dist/assets/globals-g_NWGBtF.js +0 -1
  747. package/dist/assets/graphlib-B4SLw_H3.js +0 -1
  748. package/dist/assets/groovy-DaM0RAwa.js +0 -1
  749. package/dist/assets/haskell-BwRtIbXW.js +0 -1
  750. package/dist/assets/haxe-DFGSCjmC.js +0 -1
  751. package/dist/assets/home-page-DFksLw4j.js +0 -4
  752. package/dist/assets/hooks-DDDn7T5i.js +0 -1
  753. package/dist/assets/html-to-image-DvPYLUI8.js +0 -2
  754. package/dist/assets/icon-32x32-BRWY2pQ7.js +0 -1
  755. package/dist/assets/icons-iU3GgPzu.js +0 -1
  756. package/dist/assets/idl-Ip8qszMi.js +0 -1
  757. package/dist/assets/index-DEPjuBkG.js +0 -38
  758. package/dist/assets/index-DHVzmQ5n.css +0 -2
  759. package/dist/assets/info-NVLQJR56-1OAJDwaV.js +0 -1
  760. package/dist/assets/infoDiagram-WHAUD3N6-DGsING1X.js +0 -2
  761. package/dist/assets/input-lGnR5jA2.js +0 -1
  762. package/dist/assets/isEmpty-CgX_-6Mt.js +0 -1
  763. package/dist/assets/isValid-B3O42hgP.js +0 -1
  764. package/dist/assets/javascript-DmUu6wxV.js +0 -1
  765. package/dist/assets/journeyDiagram-XKPGCS4Q-DSd8IIQu.js +0 -139
  766. package/dist/assets/julia-C8K-9kxt.js +0 -1
  767. package/dist/assets/kanban-definition-3W4ZIXB7-ArgMxQwL.js +0 -89
  768. package/dist/assets/katex-DKG5nadA.js +0 -1
  769. package/dist/assets/kbd-CxD_4JZI.js +0 -1
  770. package/dist/assets/kiosk-mode-DChTDQjX.js +0 -1
  771. package/dist/assets/label-DjfzNSto.js +0 -1
  772. package/dist/assets/layout-W7LHtlpD.js +0 -5
  773. package/dist/assets/line-j0cbFv7-.js +0 -1
  774. package/dist/assets/linear-CuVR7XfL.js +0 -1
  775. package/dist/assets/link-mqDMswUJ.js +0 -1
  776. package/dist/assets/links-BJkZcoxM.js +0 -1
  777. package/dist/assets/links-C5-xPFlM.js +0 -1
  778. package/dist/assets/livescript-B3MfBDE2.js +0 -1
  779. package/dist/assets/logs-panel-WG80bH91.js +0 -1
  780. package/dist/assets/loro_wasm_bg-C00qP84v.js +0 -1
  781. package/dist/assets/lua-B2YpVx0h.js +0 -1
  782. package/dist/assets/main-Drs5hZkn.js +0 -5
  783. package/dist/assets/maps-BNf8B88H.js +0 -1
  784. package/dist/assets/markdown-renderer-Dyy86-0S.js +0 -10
  785. package/dist/assets/mathematica-D9tSC-hw.js +0 -1
  786. package/dist/assets/mbox-CjoMCyMH.js +0 -1
  787. package/dist/assets/menu-items-BrytomlJ.js +0 -1
  788. package/dist/assets/merge-BBX6ug-N.js +0 -1
  789. package/dist/assets/mermaid-4DMBBIKO-8jBrJ6he.js +0 -1
  790. package/dist/assets/mermaid-D0AUvq3m.js +0 -11
  791. package/dist/assets/mermaid-parser.core-Bxb_w1Y_.js +0 -4
  792. package/dist/assets/mhchem-DL3I7eG_.js +0 -1
  793. package/dist/assets/min-Ci3LzCQg.js +0 -1
  794. package/dist/assets/mindmap-definition-VGOIOE7T-CO9Z_oJe.js +0 -68
  795. package/dist/assets/mirc-DvJdMBLZ.js +0 -1
  796. package/dist/assets/mllike-5ykSeapn.js +0 -1
  797. package/dist/assets/mode-COhtYT4e.js +0 -1
  798. package/dist/assets/modelica-laYOX8Zo.js +0 -1
  799. package/dist/assets/mscgen-z_sYErek.js +0 -1
  800. package/dist/assets/multi-icon-D7W4mYWz.js +0 -1
  801. package/dist/assets/multi-map-CfaU7is9.js +0 -1
  802. package/dist/assets/mumps-BwcCoPkA.js +0 -1
  803. package/dist/assets/name-cell-input-Cga4BASx.js +0 -1
  804. package/dist/assets/now-6sUe0ZdD.js +0 -1
  805. package/dist/assets/nsis-CpSPdWjV.js +0 -1
  806. package/dist/assets/nsis-Cr8jf68z.js +0 -1
  807. package/dist/assets/ntriples-D2ki9JZ6.js +0 -1
  808. package/dist/assets/number-overlay-editor-C-FFb-0C.js +0 -9
  809. package/dist/assets/numbers-C8M1-yNT.js +0 -1
  810. package/dist/assets/octave-D817mWs9.js +0 -1
  811. package/dist/assets/once-BF7GI0Uf.js +0 -1
  812. package/dist/assets/ordinal-BgBuquWg.js +0 -1
  813. package/dist/assets/outline-panel-oVyrH0zg.js +0 -1
  814. package/dist/assets/oz-3GS03IG4.js +0 -1
  815. package/dist/assets/packages-panel-CAj1iddH.js +0 -1
  816. package/dist/assets/packet-BFZMPI3H-OC_C0-SD.js +0 -1
  817. package/dist/assets/panel-context-Dt_6WOwy.js +0 -1
  818. package/dist/assets/panels-BP4rsYL6.js +0 -1
  819. package/dist/assets/pascal-C08wXab2.js +0 -1
  820. package/dist/assets/perl-Ija-iETI.js +0 -1
  821. package/dist/assets/pick-B_6Qi5aM.js +0 -1
  822. package/dist/assets/pie-7BOR55EZ-BSzfjxO9.js +0 -1
  823. package/dist/assets/pieDiagram-ADFJNKIX-crDibg1h.js +0 -30
  824. package/dist/assets/pig-BlBD3yVJ.js +0 -1
  825. package/dist/assets/play-BqVslMWT.js +0 -1
  826. package/dist/assets/plus-lLt9OnHP.js +0 -1
  827. package/dist/assets/popover-Ds94yD5w.js +0 -1
  828. package/dist/assets/powershell-CjOQ_PjD.js +0 -1
  829. package/dist/assets/precisionRound-CC3g-1mL.js +0 -1
  830. package/dist/assets/process-output-WvCcApgB.js +0 -1
  831. package/dist/assets/properties-5yVGVBrw.js +0 -1
  832. package/dist/assets/protobuf-hlm5v2rk.js +0 -1
  833. package/dist/assets/pug-CKg66ZCy.js +0 -1
  834. package/dist/assets/pug-DifRb20b.js +0 -1
  835. package/dist/assets/puppet-BpFPuj45.js +0 -1
  836. package/dist/assets/python-B_AEFhuO.js +0 -1
  837. package/dist/assets/q-BzDxfEQq.js +0 -1
  838. package/dist/assets/quadrantDiagram-AYHSOK5B-CJc8o4d8.js +0 -7
  839. package/dist/assets/r-BJ9VYyYa.js +0 -1
  840. package/dist/assets/radar-NHE76QYJ-B6FFI1V5.js +0 -1
  841. package/dist/assets/range-D2UKkEg-.js +0 -1
  842. package/dist/assets/react-vega-BAVgRRRE.js +0 -190
  843. package/dist/assets/react-vega-DgZywl4q.js +0 -1
  844. package/dist/assets/readonly-python-code-ZwGAfelJ.js +0 -1
  845. package/dist/assets/reduce-CaioMeUx.js +0 -1
  846. package/dist/assets/refresh-ccw-ClD7bKJN.js +0 -1
  847. package/dist/assets/refresh-cw-g2lXkmkk.js +0 -1
  848. package/dist/assets/renderShortcut-DpJiiIXp.js +0 -1
  849. package/dist/assets/request-registry-BSmhL1H2.js +0 -1
  850. package/dist/assets/requests-BBq_BAOb.js +0 -1
  851. package/dist/assets/requests-DqPjMMrg.js +0 -1
  852. package/dist/assets/requirementDiagram-UZGBJVZJ-BYtm3tqW.js +0 -64
  853. package/dist/assets/rotate-ccw-ek_QGiK_.js +0 -1
  854. package/dist/assets/rpm-Ez4HwV9T.js +0 -1
  855. package/dist/assets/ruby-BcHOM0EI.js +0 -1
  856. package/dist/assets/run-page-BsDIxokV.js +0 -1
  857. package/dist/assets/runs-CeGA8yfw.js +0 -1
  858. package/dist/assets/sankeyDiagram-TZEHDZUN-CITCOQqx.js +0 -10
  859. package/dist/assets/sas-Qmf5gHIU.js +0 -1
  860. package/dist/assets/save-XAnt-ceT.js +0 -1
  861. package/dist/assets/scheme-Ctib9V77.js +0 -1
  862. package/dist/assets/scratchpad-panel-Bl5zLNBf.js +0 -1
  863. package/dist/assets/secrets-panel-BVIrZtkg.js +0 -1
  864. package/dist/assets/select-BvXsf3Xf.js +0 -1
  865. package/dist/assets/sequenceDiagram-WL72ISMW-C0F5nOqB.js +0 -145
  866. package/dist/assets/session-BH_ggR75.js +0 -1
  867. package/dist/assets/session-panel-C2uwzFbP.js +0 -1
  868. package/dist/assets/settings-CfA0GMiv.js +0 -1
  869. package/dist/assets/share-ZGgmy4Y2.js +0 -1
  870. package/dist/assets/shell-BtgVCAhn.js +0 -1
  871. package/dist/assets/sieve-CMsTkuH0.js +0 -1
  872. package/dist/assets/slides-component-C82fZBn2.js +0 -1
  873. package/dist/assets/slides-component-vtdQFHpk.css +0 -1
  874. package/dist/assets/smalltalk-BKSCdMTS.js +0 -1
  875. package/dist/assets/snippets-panel-DE-LV-IU.js +0 -1
  876. package/dist/assets/sortBy-CGfmqUg5.js +0 -1
  877. package/dist/assets/sparql-TK6HapG4.js +0 -1
  878. package/dist/assets/spec-D4b3DLJL.js +0 -1
  879. package/dist/assets/spinner-BBkRPIE-.js +0 -1
  880. package/dist/assets/square-H4PcQmi-.js +0 -1
  881. package/dist/assets/square-function-anVqGjs0.js +0 -1
  882. package/dist/assets/src-CyeQdfB6.js +0 -1
  883. package/dist/assets/state-CcHiS-2P.js +0 -1
  884. package/dist/assets/state-D0hcaf71.js +0 -1
  885. package/dist/assets/stateDiagram-FKZM4ZOC-uYDMAqgO.js +0 -1
  886. package/dist/assets/stateDiagram-v2-4FDKWEC3-uOKkKYXc.js +0 -1
  887. package/dist/assets/step-BE8c2ivx.js +0 -1
  888. package/dist/assets/stex-CttlPN-j.js +0 -1
  889. package/dist/assets/stylus-C8FKVvgQ.js +0 -1
  890. package/dist/assets/swift-D7BZKS_y.js +0 -1
  891. package/dist/assets/switch-C3e8vdXY.js +0 -1
  892. package/dist/assets/table-CP7epTk0.js +0 -1
  893. package/dist/assets/table-CqXVb6os.js +0 -1
  894. package/dist/assets/tcl-DFrjfFmM.js +0 -1
  895. package/dist/assets/terminal-CX81S9mS.js +0 -62
  896. package/dist/assets/textarea-DIGVRG-E.js +0 -1
  897. package/dist/assets/textile-Bj913nF7.js +0 -1
  898. package/dist/assets/time-DsekpC83.js +0 -1
  899. package/dist/assets/timeline-definition-IT6M3QCI-CoII4u2b.js +0 -61
  900. package/dist/assets/toDate-D_5B1mPf.js +0 -1
  901. package/dist/assets/toInteger-CDcO32Gx.js +0 -1
  902. package/dist/assets/toggle-CUhRontP.js +0 -1
  903. package/dist/assets/toml-B6qgmS36.js +0 -1
  904. package/dist/assets/tooltip-D13BIptq.js +0 -1
  905. package/dist/assets/tooltip-DuBjDOOi.js +0 -61
  906. package/dist/assets/tracing-h7TdA1_p.js +0 -1
  907. package/dist/assets/tracing-panel-Babikkit.js +0 -2
  908. package/dist/assets/trash-2-xM9f8S8N.js +0 -1
  909. package/dist/assets/trash-dqgOOChU.js +0 -1
  910. package/dist/assets/tree-CLkssdQm.js +0 -3
  911. package/dist/assets/treemap-KMMF4GRG-Dm59wMtG.js +0 -1
  912. package/dist/assets/triangle-alert-CEPiiwZT.js +0 -1
  913. package/dist/assets/troff-CysSpyUG.js +0 -1
  914. package/dist/assets/ttcn-DG1k5i1B.js +0 -1
  915. package/dist/assets/ttcn-cfg-p1jV7x_I.js +0 -1
  916. package/dist/assets/turtle-DSkxUncB.js +0 -1
  917. package/dist/assets/types-B02j-0zo.js +0 -1
  918. package/dist/assets/types-B0GfsfZC.js +0 -17
  919. package/dist/assets/useAddCell-DWpYLvcR.js +0 -1
  920. package/dist/assets/useAsyncData-BwpzRwt1.js +0 -1
  921. package/dist/assets/useBoolean-YzhJ5RKx.js +0 -1
  922. package/dist/assets/useCellActionButton-Db9MI9XQ.js +0 -1
  923. package/dist/assets/useDateFormatter-D2wb2n1M.js +0 -1
  924. package/dist/assets/useDebounce-WGQaRdB8.js +0 -1
  925. package/dist/assets/useDeleteCell-87_Oh8sv.js +0 -1
  926. package/dist/assets/useDependencyPanelTab-BloSVZ6I.js +0 -1
  927. package/dist/assets/useEvent-BhXAndur.js +0 -1
  928. package/dist/assets/useIframeCapabilities-C-JfwMug.js +0 -1
  929. package/dist/assets/useInstallPackage-BPxx1pVW.js +0 -1
  930. package/dist/assets/useInterval-BjNoiPwK.js +0 -1
  931. package/dist/assets/useLifecycle-CKk7uG4E.js +0 -1
  932. package/dist/assets/useNonce-CGCAoh-I.js +0 -56
  933. package/dist/assets/useNotebookActions-_M_GKcKV.js +0 -1
  934. package/dist/assets/useNumberFormatter-DBQ_eVX1.js +0 -1
  935. package/dist/assets/usePress-a6K9HmSS.js +0 -7
  936. package/dist/assets/useRunCells-DCLlGGDx.js +0 -1
  937. package/dist/assets/useSplitCell-BGRLlxZG.js +0 -1
  938. package/dist/assets/useTheme-BHn95Ieq.js +0 -1
  939. package/dist/assets/utilities.esm-C57m8aJQ.js +0 -3
  940. package/dist/assets/utils-Cul5vKXJ.js +0 -1
  941. package/dist/assets/vb-BIvYC4My.js +0 -1
  942. package/dist/assets/vbscript-Coxg2EVQ.js +0 -1
  943. package/dist/assets/vega-component-DL4Ss3K1.js +0 -1
  944. package/dist/assets/vega-loader.browser-BR6dmQ_3.js +0 -6
  945. package/dist/assets/velocity-Cy90c7hC.js +0 -1
  946. package/dist/assets/verilog-CTtn3HA0.js +0 -1
  947. package/dist/assets/vhdl-D3r3mwOF.js +0 -1
  948. package/dist/assets/webidl-CHPMhkWI.js +0 -1
  949. package/dist/assets/workflow-DJ_gxPAG.js +0 -1
  950. package/dist/assets/write-secret-modal-D7m5yRRP.js +0 -1
  951. package/dist/assets/x-CvUjX6Qu.js +0 -1
  952. package/dist/assets/xquery-d-YlNlXH.js +0 -1
  953. package/dist/assets/xychartDiagram-PRI3JC2R-CUZdyvgx.js +0 -7
  954. package/dist/assets/yacas-BfZ0gs5_.js +0 -1
  955. package/dist/assets/youtube-B6DpFVdU.js +0 -1
  956. package/dist/assets/z80-cYJ4lyZA.js +0 -1
  957. /package/dist/assets/{Deferred-C3YDyEAR.js → Deferred-CfyqLOPG.js} +0 -0
  958. /package/dist/assets/{SSRProvider-CkFAAHXw.js → SSRProvider-BkypbMcb.js} +0 -0
  959. /package/dist/assets/{_arrayReduce-TT0iOGKY.js → _arrayReduce-BKEr35uH.js} +0 -0
  960. /package/dist/assets/{_baseProperty-NKyJO2oh.js → _baseProperty-DuoFhI7N.js} +0 -0
  961. /package/dist/assets/{_hasUnicode-CWqKLxBC.js → _hasUnicode-QS_pSfjY.js} +0 -0
  962. /package/dist/assets/{apl-T0uH_RjM.js → apl-_OaVDIdj.js} +0 -0
  963. /package/dist/assets/{array-BCwZq3ts.js → array-CEZNxKGf.js} +0 -0
  964. /package/dist/assets/{asciiarmor-D3ol7c2G.js → asciiarmor-C9F03XGV.js} +0 -0
  965. /package/dist/assets/{asn1-DA-fXXsk.js → asn1-BnyFT2xh.js} +0 -0
  966. /package/dist/assets/{asterisk-B04IJwAt.js → asterisk-Dykb_Qas.js} +0 -0
  967. /package/dist/assets/{blob-CTort_or.js → blob-C3EfaMOb.js} +0 -0
  968. /package/dist/assets/{brainfuck-exn1QR7H.js → brainfuck-BDCj_8tQ.js} +0 -0
  969. /package/dist/assets/{bundle.esm-CvMga-X6.js → bundle.esm-cfPbrCwe.js} +0 -0
  970. /package/dist/assets/{cjs-BFk44HyO.js → cjs-CVt8hZ5L.js} +0 -0
  971. /package/dist/assets/{click-outside-container-ChOZeHlm.js → click-outside-container-gHk0jCel.js} +0 -0
  972. /package/dist/assets/{clike-BK27e5qn.js → clike-CoedqJfF.js} +0 -0
  973. /package/dist/assets/{clojure-Df1U5nhC.js → clojure-BEClvbJJ.js} +0 -0
  974. /package/dist/assets/{clsx-nlQpVU_5.js → clsx-A78R3nYl.js} +0 -0
  975. /package/dist/assets/{cmake-DrCf0yvp.js → cmake-CCoJFsI7.js} +0 -0
  976. /package/dist/assets/{cobol-BWxHqof4.js → cobol-CrncQb9J.js} +0 -0
  977. /package/dist/assets/{coffeescript-nKvg8y_U.js → coffeescript-DwVkfncu.js} +0 -0
  978. /package/dist/assets/{colors-CI3VyX7X.js → colors-Dm6L93c7.js} +0 -0
  979. /package/dist/assets/{common-keywords-D6ImdZX8.js → common-keywords-sop6vXJR.js} +0 -0
  980. /package/dist/assets/{commonlisp-Dm562cBV.js → commonlisp-CJ40YQuw.js} +0 -0
  981. /package/dist/assets/{constants-B6Cb__3x.js → constants-CdR60lKM.js} +0 -0
  982. /package/dist/assets/{createLucideIcon-C5NDK5NL.js → createLucideIcon-BvP5LBIs.js} +0 -0
  983. /package/dist/assets/{crystal-CrCmK2Cb.js → crystal-YUhScjFU.js} +0 -0
  984. /package/dist/assets/{css-jpfGFPDE.js → css-BpYxrU6m.js} +0 -0
  985. /package/dist/assets/{cypher-RQ5M28al.js → cypher-DtBx1FxP.js} +0 -0
  986. /package/dist/assets/{cytoscape.esm-BauVghWH.js → cytoscape.esm-CuwfIk-V.js} +0 -0
  987. /package/dist/assets/{d-CNQ_nPqU.js → d-Dah-rTjO.js} +0 -0
  988. /package/dist/assets/{defaultLocale-YxeC1tYk.js → defaultLocale-DPBdGRrH.js} +0 -0
  989. /package/dist/assets/{defaultLocale-BgG6rTtO.js → defaultLocale-Lfi0pexn.js} +0 -0
  990. /package/dist/assets/{diff-DOODcY7A.js → diff-CbRoYxJw.js} +0 -0
  991. /package/dist/assets/{dist-C1VXabOr.js → dist-BjCIGEdQ.js} +0 -0
  992. /package/dist/assets/{dtd-CRYKjxdR.js → dtd-DnxzgohM.js} +0 -0
  993. /package/dist/assets/{duckdb-keywords-5i8us9ML.js → duckdb-keywords-CEWQs1NJ.js} +0 -0
  994. /package/dist/assets/{dylan-Bg0sO2y3.js → dylan-DV-GV0Um.js} +0 -0
  995. /package/dist/assets/{ebnf--2SLsnbd.js → ebnf-BoS8ZFT2.js} +0 -0
  996. /package/dist/assets/{ecl-DaBeV7OZ.js → ecl-D5jDMU68.js} +0 -0
  997. /package/dist/assets/{eiffel-BtJc6fqQ.js → eiffel-DKJu2v1N.js} +0 -0
  998. /package/dist/assets/{elm-D9Rly7Qq.js → elm-jc1dahX5.js} +0 -0
  999. /package/dist/assets/{emotion-is-prop-valid.esm-C4tLsq6-.js → emotion-is-prop-valid.esm-CK2zY6a8.js} +0 -0
  1000. /package/dist/assets/{erlang-FZMRuv-7.js → erlang-xV-AfkqS.js} +0 -0
  1001. /package/dist/assets/{errors-CZb6hI2x.js → errors-iwK4b4VF.js} +0 -0
  1002. /package/dist/assets/{esm-CMMkDitC.js → esm-DM72gy9Q.js} +0 -0
  1003. /package/dist/assets/{extends-C9xCLRj9.js → extends-CeSFM22p.js} +0 -0
  1004. /package/dist/assets/{fcl-CcJxrJDr.js → fcl-JwfU5Rr4.js} +0 -0
  1005. /package/dist/assets/{forth-C6jh4lHA.js → forth-C9zvylLL.js} +0 -0
  1006. /package/dist/assets/{fortran-DuxTe5qi.js → fortran-CyOyVtLP.js} +0 -0
  1007. /package/dist/assets/{gas-D7RWbiQ0.js → gas-B3PseLpk.js} +0 -0
  1008. /package/dist/assets/{gherkin-DV4l4nlf.js → gherkin-BJegP8jG.js} +0 -0
  1009. /package/dist/assets/{groovy-Ij7mXzwd.js → groovy-B7OnG3ZU.js} +0 -0
  1010. /package/dist/assets/{hasIn-CycJImp8.js → hasIn-Dzwrcr75.js} +0 -0
  1011. /package/dist/assets/{haskell-BT_ZNgUJ.js → haskell-BtINGz8b.js} +0 -0
  1012. /package/dist/assets/{haxe-DYYwGmM8.js → haxe-DG3vLZ0S.js} +0 -0
  1013. /package/dist/assets/{http-BBXW5Cu0.js → http-BSf7msSy.js} +0 -0
  1014. /package/dist/assets/{idl-CjBvIccU.js → idl-ARaXQ5Lo.js} +0 -0
  1015. /package/dist/assets/{init-DE_uL9Ns.js → init-BpLL1fe9.js} +0 -0
  1016. /package/dist/assets/{invariant-CAG_dYON.js → invariant-awXiPaF0.js} +0 -0
  1017. /package/dist/assets/{isString-DtNk7ov1.js → isString-CqoLqJdS.js} +0 -0
  1018. /package/dist/assets/{javascript-DQz7szA1.js → javascript-DbuC-gIm.js} +0 -0
  1019. /package/dist/assets/{jsx-runtime-BttUhiRM.js → jsx-runtime-CP2fAiZX.js} +0 -0
  1020. /package/dist/assets/{julia-U0NSUEwm.js → julia-C2ly3uah.js} +0 -0
  1021. /package/dist/assets/{katex-bTFStUqL.js → katex-0Z75JF53.js} +0 -0
  1022. /package/dist/assets/{livescript-D7jeebX7.js → livescript-BHGtnzZk.js} +0 -0
  1023. /package/dist/assets/{loro_wasm_bg-CDlYurK8.js → loro_wasm_bg-DNKZeVyM.js} +0 -0
  1024. /package/dist/assets/{lua-CT4vrRvN.js → lua-0hHWC4O5.js} +0 -0
  1025. /package/dist/assets/{math-Bf0RgaKx.js → math-CpvW-dlE.js} +0 -0
  1026. /package/dist/assets/{mathematica-DmzlinOc.js → mathematica-BeUaygJp.js} +0 -0
  1027. /package/dist/assets/{mbox-DYDL20A1.js → mbox-CR4_Euk_.js} +0 -0
  1028. /package/dist/assets/{mirc-6LiBC6Dw.js → mirc-Cc0cHJWO.js} +0 -0
  1029. /package/dist/assets/{mllike-orSu1SHG.js → mllike-D58Jm9uo.js} +0 -0
  1030. /package/dist/assets/{modelica-BsibU-7c.js → modelica-CVUPArJj.js} +0 -0
  1031. /package/dist/assets/{mscgen-vX4NsSXf.js → mscgen-B_Av7U7x.js} +0 -0
  1032. /package/dist/assets/{mumps-DIZYQE11.js → mumps-CSXER37P.js} +0 -0
  1033. /package/dist/assets/{nginx-CiiHaY6Q.js → nginx-CNcs7tVC.js} +0 -0
  1034. /package/dist/assets/{node-sql-parser-Bzh-sm1v.js → node-sql-parser-fWuidk6P.js} +0 -0
  1035. /package/dist/assets/{ntriples-CwlUIE0o.js → ntriples-BH96LyUh.js} +0 -0
  1036. /package/dist/assets/{objectWithoutPropertiesLoose-B0M-wzEz.js → objectWithoutPropertiesLoose-BkUn3I0-.js} +0 -0
  1037. /package/dist/assets/{octave-BWtN_wao.js → octave-MtIOg8Xr.js} +0 -0
  1038. /package/dist/assets/{oz-CJMVKlqL.js → oz-CQSW4u2r.js} +0 -0
  1039. /package/dist/assets/{pascal-C9rPtth-.js → pascal-kJIfJeBL.js} +0 -0
  1040. /package/dist/assets/{path-LDcaQ64B.js → path-DtYs9Dst.js} +0 -0
  1041. /package/dist/assets/{paths-gUC_uwid.js → paths-BVwhPRFT.js} +0 -0
  1042. /package/dist/assets/{perl-CF7pKLbl.js → perl-DDhi21z2.js} +0 -0
  1043. /package/dist/assets/{pig-Bu0nn8JT.js → pig-BdUzMo_O.js} +0 -0
  1044. /package/dist/assets/{powershell-Bzwpi8yQ.js → powershell-D_qEipPM.js} +0 -0
  1045. /package/dist/assets/{preload-helper-reX6CfMN.js → preload-helper-y72bE5iF.js} +0 -0
  1046. /package/dist/assets/{prop-types-dQH5VuL1.js → prop-types-B6Y2e__V.js} +0 -0
  1047. /package/dist/assets/{properties-Cfh_Lj0j.js → properties-CS6vA6nt.js} +0 -0
  1048. /package/dist/assets/{protobuf-Vz3fs9Hb.js → protobuf-COtqlKri.js} +0 -0
  1049. /package/dist/assets/{puppet-JwSHf4DX.js → puppet-Ctozq3R1.js} +0 -0
  1050. /package/dist/assets/{purify.es-CPiHmTAE.js → purify.es-DFAhPV1y.js} +0 -0
  1051. /package/dist/assets/{python-BRHQZrcc.js → python-D9pCSume.js} +0 -0
  1052. /package/dist/assets/{q-DWFQ7YI_.js → q-CKhLXEtL.js} +0 -0
  1053. /package/dist/assets/{r-DHkTNFL2.js → r-BvAfMHMS.js} +0 -0
  1054. /package/dist/assets/{range-CRQCYhPr.js → range-Dk7lXDev.js} +0 -0
  1055. /package/dist/assets/{react-resizable-panels.browser.esm-DzNEmH2W.js → react-resizable-panels.browser.esm-RgA6v8U3.js} +0 -0
  1056. /package/dist/assets/{rpm-zbaZz_dk.js → rpm-CUTjLkz_.js} +0 -0
  1057. /package/dist/assets/{ruby-COvM5Bj_.js → ruby-jDDZwg5-.js} +0 -0
  1058. /package/dist/assets/{sas-Be8P6y_s.js → sas-mA9119dU.js} +0 -0
  1059. /package/dist/assets/{scheme-B9Zors0b.js → scheme-Bw6sYvQh.js} +0 -0
  1060. /package/dist/assets/{shell-CaaQwZ-W.js → shell-BSG_6EVv.js} +0 -0
  1061. /package/dist/assets/{sieve-CdflT_3W.js → sieve-BvqlFANQ.js} +0 -0
  1062. /package/dist/assets/{simple-mode-BJAT_N3M.js → simple-mode-C0eLpHUg.js} +0 -0
  1063. /package/dist/assets/{smalltalk-CRO88y3z.js → smalltalk-CarfjYvX.js} +0 -0
  1064. /package/dist/assets/{solr-DYYuHZ7Q.js → solr-B928KjNx.js} +0 -0
  1065. /package/dist/assets/{sparql-DEker8ZS.js → sparql-DpdbGHkw.js} +0 -0
  1066. /package/dist/assets/{spreadsheet-hVThRh5Z.js → spreadsheet-CAG48M_e.js} +0 -0
  1067. /package/dist/assets/{sql-DG1AJQLP.js → sql-nk70rjN1.js} +0 -0
  1068. /package/dist/assets/{src-CsZby044.js → src-BRLtyMKi.js} +0 -0
  1069. /package/dist/assets/{stex-iJ-Q_35P.js → stex-C6JeW1YI.js} +0 -0
  1070. /package/dist/assets/{stylus-DAJwnVOa.js → stylus-DwqF5JX3.js} +0 -0
  1071. /package/dist/assets/{swift-D5F-FU3-.js → swift-XQW_3Dnq.js} +0 -0
  1072. /package/dist/assets/{tcl-DirNbhYm.js → tcl-DSytfKxX.js} +0 -0
  1073. /package/dist/assets/{textile-DhHo4rKl.js → textile-C0sJ895O.js} +0 -0
  1074. /package/dist/assets/{tiddlywiki-Dc8c_QaF.js → tiddlywiki-BiHxc-2_.js} +0 -0
  1075. /package/dist/assets/{tiki-CwGnGueS.js → tiki-Cwip62d7.js} +0 -0
  1076. /package/dist/assets/{timer-BgiWPhV9.js → timer-BEJidwwG.js} +0 -0
  1077. /package/dist/assets/{toml-CrP9HWVu.js → toml-Bduwr9FD.js} +0 -0
  1078. /package/dist/assets/{treemap-BKxvGXqJ.js → treemap-qinQgXo1.js} +0 -0
  1079. /package/dist/assets/{troff-BWD1WiE0.js → troff-DhuvYLXE.js} +0 -0
  1080. /package/dist/assets/{ttcn-CQzcRj0D.js → ttcn-C2K9hXYD.js} +0 -0
  1081. /package/dist/assets/{ttcn-cfg-jzTcqwRW.js → ttcn-cfg-DWjJYHn-.js} +0 -0
  1082. /package/dist/assets/{turtle-BAqH2D2z.js → turtle-q-WiynB8.js} +0 -0
  1083. /package/dist/assets/{types-Cpe-qFT-.js → types-Myu7G9iV.js} +0 -0
  1084. /package/dist/assets/{use-toast-CAzHts2e.js → use-toast-BtZldTi5.js} +0 -0
  1085. /package/dist/assets/{useDeepCompareMemoize-BharaTWq.js → useDeepCompareMemoize-D1hTncYV.js} +0 -0
  1086. /package/dist/assets/{useEventListener-B3HCnU20.js → useEventListener-CjXriKgk.js} +0 -0
  1087. /package/dist/assets/{uuid-BW_8PQB5.js → uuid-BukULOeS.js} +0 -0
  1088. /package/dist/assets/{vb-CrUpzy4g.js → vb-BzUPMIAg.js} +0 -0
  1089. /package/dist/assets/{vbscript-DEuHZ0Y0.js → vbscript-CUBxk5hi.js} +0 -0
  1090. /package/dist/assets/{velocity-D99sTvXl.js → velocity-CFrdKnJ-.js} +0 -0
  1091. /package/dist/assets/{verilog-XWBMMjwd.js → verilog-uIU1FX2_.js} +0 -0
  1092. /package/dist/assets/{vhdl-BAGmVXDV.js → vhdl-Ca2_GOin.js} +0 -0
  1093. /package/dist/assets/{web-vitals-BV7RJGkj.js → web-vitals-CJ8ovao_.js} +0 -0
  1094. /package/dist/assets/{webidl-xagG_7hd.js → webidl-Fd2zBPO0.js} +0 -0
  1095. /package/dist/assets/{ws-BZQmQxZ7.js → ws-Sb1KIggW.js} +0 -0
  1096. /package/dist/assets/{xquery-B8Mguhly.js → xquery-S8ffVcwS.js} +0 -0
  1097. /package/dist/assets/{yacas-XW2NxGKw.js → yacas-BFgZPXn6.js} +0 -0
  1098. /package/dist/assets/{z80-DhICfTcL.js → z80-P5o2E6_C.js} +0 -0
  1099. /package/src/components/editor/file-tree/__tests__/{file-expolorer.test.ts → file-explorer.test.ts} +0 -0
@@ -0,0 +1,610 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { CommandList } from "cmdk";
4
+ import {
5
+ ChevronRightIcon,
6
+ CopyIcon,
7
+ DownloadIcon,
8
+ FolderIcon,
9
+ HardDriveIcon,
10
+ HelpCircleIcon,
11
+ LoaderCircle,
12
+ MoreVerticalIcon,
13
+ RefreshCwIcon,
14
+ ViewIcon,
15
+ XIcon,
16
+ } from "lucide-react";
17
+ import React, { useCallback, useState } from "react";
18
+ import { useLocale } from "react-aria";
19
+ import { EngineVariable } from "@/components/databases/engine-variable";
20
+ import { PanelEmptyState } from "@/components/editor/chrome/panels/empty-state";
21
+ import { Command, CommandInput, CommandItem } from "@/components/ui/command";
22
+ import {
23
+ DropdownMenu,
24
+ DropdownMenuContent,
25
+ DropdownMenuItem,
26
+ DropdownMenuTrigger,
27
+ } from "@/components/ui/dropdown-menu";
28
+ import { Tooltip } from "@/components/ui/tooltip";
29
+ import { toast } from "@/components/ui/use-toast";
30
+ import { DownloadStorage } from "@/core/storage/request-registry";
31
+ import {
32
+ useStorage,
33
+ useStorageActions,
34
+ useStorageEntries,
35
+ } from "@/core/storage/state";
36
+ import type {
37
+ StorageEntry,
38
+ StorageNamespace,
39
+ StoragePathKey,
40
+ } from "@/core/storage/types";
41
+ import { storagePathKey, storageUrl } from "@/core/storage/types";
42
+ import type { VariableName } from "@/core/variables/types";
43
+ import { cn } from "@/utils/cn";
44
+ import { copyToClipboard } from "@/utils/copy";
45
+ import { downloadByURL } from "@/utils/download";
46
+ import { formatBytes } from "@/utils/formatting";
47
+ import { Logger } from "@/utils/Logger";
48
+ import { ErrorState } from "../datasources/components";
49
+ import { Button } from "../ui/button";
50
+ import { ProtocolIcon, renderFileIcon } from "./components";
51
+ import { StorageFileViewer } from "./storage-file-viewer";
52
+
53
+ interface OpenFileInfo {
54
+ entry: StorageEntry;
55
+ namespace: string;
56
+ }
57
+
58
+ // Pixels per depth level. Applied as paddingLeft on each full-width item
59
+ // so the selection highlight still spans the entire panel.
60
+ const INDENT_PX = 16;
61
+
62
+ function indentStyle(depth: number): React.CSSProperties {
63
+ return { paddingLeft: depth * INDENT_PX };
64
+ }
65
+
66
+ function formatDate(timestamp: number, locale: string): string {
67
+ const date = new Date(timestamp * 1000);
68
+ return date.toLocaleDateString(locale, {
69
+ month: "short",
70
+ day: "numeric",
71
+ hour: "2-digit",
72
+ minute: "2-digit",
73
+ });
74
+ }
75
+
76
+ /** Extract display name from a full path (e.g., "folder/subfolder/" -> "subfolder") */
77
+ function displayName(path: string): string {
78
+ // Remove trailing slash
79
+ const trimmed = path.endsWith("/") ? path.slice(0, -1) : path;
80
+ const parts = trimmed.split("/");
81
+ return parts[parts.length - 1] || trimmed;
82
+ }
83
+
84
+ /**
85
+ * Recursively check whether an entry (or any of its loaded descendants)
86
+ * matches the search query.
87
+ */
88
+ function entryMatchesSearch(
89
+ entry: StorageEntry,
90
+ namespace: string,
91
+ searchValue: string,
92
+ entriesByPath: ReadonlyMap<StoragePathKey, StorageEntry[]>,
93
+ ): boolean {
94
+ const query = searchValue.toLowerCase();
95
+
96
+ if (displayName(entry.path).toLowerCase().includes(query)) {
97
+ return true;
98
+ }
99
+
100
+ // For directories, check loaded children recursively
101
+ if (entry.kind === "directory") {
102
+ const children = entriesByPath.get(storagePathKey(namespace, entry.path));
103
+ if (children) {
104
+ return children.some((child) =>
105
+ entryMatchesSearch(child, namespace, searchValue, entriesByPath),
106
+ );
107
+ }
108
+ }
109
+
110
+ return false;
111
+ }
112
+
113
+ /**
114
+ * Filter entries to those matching the search (or having loaded descendants
115
+ * that match). Returns all entries when there is no active search.
116
+ */
117
+ function filterEntries(
118
+ entries: StorageEntry[],
119
+ namespace: string,
120
+ searchValue: string,
121
+ entriesByPath: ReadonlyMap<StoragePathKey, StorageEntry[]>,
122
+ ): StorageEntry[] {
123
+ if (!searchValue.trim()) {
124
+ return entries;
125
+ }
126
+ return entries.filter((entry) =>
127
+ entryMatchesSearch(entry, namespace, searchValue, entriesByPath),
128
+ );
129
+ }
130
+
131
+ /**
132
+ * Lazily loaded children of a directory entry.
133
+ * Caches fetched entries in the Jotai store so re-expanding doesn't re-fetch.
134
+ */
135
+ const StorageEntryChildren: React.FC<{
136
+ namespace: string;
137
+ protocol: string;
138
+ rootPath: string;
139
+ prefix: string;
140
+ depth: number;
141
+ locale: string;
142
+ searchValue: string;
143
+ onOpenFile: (info: OpenFileInfo) => void;
144
+ }> = ({
145
+ namespace,
146
+ protocol,
147
+ rootPath,
148
+ prefix,
149
+ depth,
150
+ locale,
151
+ searchValue,
152
+ onOpenFile,
153
+ }) => {
154
+ const { entriesByPath } = useStorage();
155
+ const {
156
+ entries: children,
157
+ isPending,
158
+ error,
159
+ } = useStorageEntries(namespace, prefix);
160
+
161
+ if (isPending) {
162
+ return (
163
+ <div
164
+ className="flex items-center gap-1.5 py-1 text-xs text-muted-foreground"
165
+ style={indentStyle(depth)}
166
+ >
167
+ <LoaderCircle className="h-3 w-3 animate-spin" />
168
+ Loading...
169
+ </div>
170
+ );
171
+ }
172
+
173
+ if (error) {
174
+ return (
175
+ <div className="py-1 text-xs text-destructive" style={indentStyle(depth)}>
176
+ Failed to load: {error.message}
177
+ </div>
178
+ );
179
+ }
180
+
181
+ if (children.length === 0) {
182
+ return (
183
+ <div
184
+ className="py-1 text-xs text-muted-foreground italic"
185
+ style={indentStyle(depth)}
186
+ >
187
+ Empty
188
+ </div>
189
+ );
190
+ }
191
+
192
+ const filtered = filterEntries(
193
+ children,
194
+ namespace,
195
+ searchValue,
196
+ entriesByPath,
197
+ );
198
+
199
+ return (
200
+ <>
201
+ {filtered.map((child) => (
202
+ <StorageEntryRow
203
+ key={child.path}
204
+ entry={child}
205
+ namespace={namespace}
206
+ protocol={protocol}
207
+ rootPath={rootPath}
208
+ depth={depth}
209
+ locale={locale}
210
+ searchValue={searchValue}
211
+ onOpenFile={onOpenFile}
212
+ />
213
+ ))}
214
+ </>
215
+ );
216
+ };
217
+
218
+ const StorageEntryRow: React.FC<{
219
+ entry: StorageEntry;
220
+ namespace: string;
221
+ protocol: string;
222
+ rootPath: string;
223
+ depth: number;
224
+ locale: string;
225
+ searchValue: string;
226
+ onOpenFile: (info: OpenFileInfo) => void;
227
+ }> = ({
228
+ entry,
229
+ namespace,
230
+ protocol,
231
+ rootPath,
232
+ depth,
233
+ locale,
234
+ searchValue,
235
+ onOpenFile,
236
+ }) => {
237
+ const [isExpanded, setIsExpanded] = useState(false);
238
+ const { entriesByPath } = useStorage();
239
+ const isDir = entry.kind === "directory";
240
+ const name = displayName(entry.path);
241
+ const hasSearch = !!searchValue.trim();
242
+
243
+ // During a search, auto-expand directories whose loaded descendants match
244
+ const hasMatchingDescendants =
245
+ isDir &&
246
+ hasSearch &&
247
+ !!entriesByPath
248
+ .get(storagePathKey(namespace, entry.path))
249
+ ?.some((child) =>
250
+ entryMatchesSearch(child, namespace, searchValue, entriesByPath),
251
+ );
252
+
253
+ // Folder is shown expanded by manual toggle OR by search auto-expand
254
+ const effectiveExpanded = isExpanded || hasMatchingDescendants;
255
+
256
+ const handleDownload = useCallback(async () => {
257
+ try {
258
+ const result = await DownloadStorage.request({
259
+ namespace,
260
+ path: entry.path,
261
+ });
262
+ if (result.error) {
263
+ toast({
264
+ title: "Download failed",
265
+ description: result.error,
266
+ variant: "danger",
267
+ });
268
+ return;
269
+ }
270
+ if (result.url) {
271
+ downloadByURL(result.url, result.filename ?? "download");
272
+ }
273
+ } catch (error) {
274
+ Logger.error("Failed to download storage entry", error);
275
+ toast({
276
+ title: "Download failed",
277
+ description: String(error),
278
+ variant: "danger",
279
+ });
280
+ }
281
+ }, [namespace, entry.path]);
282
+
283
+ return (
284
+ <>
285
+ <CommandItem
286
+ className={cn(
287
+ "text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5",
288
+ isDir && "font-medium",
289
+ )}
290
+ style={indentStyle(depth)}
291
+ value={`${namespace}:${entry.path}`}
292
+ onSelect={() => {
293
+ if (isDir) {
294
+ setIsExpanded(!effectiveExpanded);
295
+ } else {
296
+ onOpenFile({ entry, namespace });
297
+ }
298
+ }}
299
+ >
300
+ {isDir ? (
301
+ <ChevronRightIcon
302
+ className={cn(
303
+ "h-3 w-3 shrink-0 transition-transform",
304
+ effectiveExpanded && "rotate-90",
305
+ )}
306
+ />
307
+ ) : (
308
+ <span className="w-3 shrink-0" />
309
+ )}
310
+ {isDir ? (
311
+ <FolderIcon className="h-3.5 w-3.5 text-amber-500 shrink-0" />
312
+ ) : (
313
+ renderFileIcon(name)
314
+ )}
315
+ <span className="truncate flex-1 text-left">{name}</span>
316
+ <div className="flex items-center">
317
+ {entry.size > 0 && (
318
+ <span className="text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums">
319
+ {formatBytes(entry.size, locale)}
320
+ </span>
321
+ )}
322
+ {entry.lastModified != null && (
323
+ <Tooltip
324
+ content={`Last modified: ${new Date(entry.lastModified * 1000).toLocaleString()}`}
325
+ >
326
+ <span className="text-[10px] text-muted-foreground pr-1 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">
327
+ {formatDate(entry.lastModified, locale)}
328
+ </span>
329
+ </Tooltip>
330
+ )}
331
+ <DropdownMenu>
332
+ <DropdownMenuTrigger asChild={true}>
333
+ <Button
334
+ variant="text"
335
+ size="icon"
336
+ className="opacity-0 group-hover:opacity-100 transition-opacity hover:shadow-none hover:text-link text-muted-foreground"
337
+ onClick={(e) => e.stopPropagation()}
338
+ >
339
+ <MoreVerticalIcon className="h-3 w-3" />
340
+ </Button>
341
+ </DropdownMenuTrigger>
342
+ <DropdownMenuContent
343
+ align="end"
344
+ onClick={(e) => e.stopPropagation()}
345
+ onCloseAutoFocus={(e) => e.preventDefault()}
346
+ >
347
+ {!isDir && (
348
+ <DropdownMenuItem
349
+ onSelect={() => onOpenFile({ entry, namespace })}
350
+ >
351
+ <ViewIcon className="h-3.5 w-3.5 mr-2" />
352
+ View
353
+ </DropdownMenuItem>
354
+ )}
355
+ <DropdownMenuItem
356
+ onSelect={async () => {
357
+ const url = storageUrl(protocol, rootPath, entry.path);
358
+ await copyToClipboard(url.toString());
359
+ toast({ title: "Copied to clipboard" });
360
+ }}
361
+ >
362
+ <CopyIcon className="h-3.5 w-3.5 mr-2" />
363
+ Copy URL
364
+ </DropdownMenuItem>
365
+ {!isDir && (
366
+ <DropdownMenuItem onSelect={() => handleDownload()}>
367
+ <DownloadIcon className="h-3.5 w-3.5 mr-2" />
368
+ Download
369
+ </DropdownMenuItem>
370
+ )}
371
+ </DropdownMenuContent>
372
+ </DropdownMenu>
373
+ </div>
374
+ </CommandItem>
375
+ {isDir && effectiveExpanded && (
376
+ <StorageEntryChildren
377
+ namespace={namespace}
378
+ protocol={protocol}
379
+ rootPath={rootPath}
380
+ prefix={entry.path}
381
+ depth={depth + 1}
382
+ locale={locale}
383
+ searchValue={searchValue}
384
+ onOpenFile={onOpenFile}
385
+ />
386
+ )}
387
+ </>
388
+ );
389
+ };
390
+
391
+ const StorageNamespaceSection: React.FC<{
392
+ namespace: StorageNamespace;
393
+ locale: string;
394
+ searchValue: string;
395
+ onOpenFile: (info: OpenFileInfo) => void;
396
+ }> = ({ namespace, locale, searchValue, onOpenFile }) => {
397
+ const [isExpanded, setIsExpanded] = useState(true);
398
+ const [isSpinning, setIsSpinning] = useState(false);
399
+ const { entriesByPath } = useStorage();
400
+ const { clearNamespaceCache } = useStorageActions();
401
+ const namespaceName = namespace.name ?? namespace.displayName;
402
+
403
+ const {
404
+ entries: fetchedEntries,
405
+ isPending,
406
+ error,
407
+ refetch,
408
+ } = useStorageEntries(namespaceName);
409
+
410
+ const handleRefresh = useCallback(
411
+ (e: React.MouseEvent) => {
412
+ e.stopPropagation();
413
+ setIsSpinning(true);
414
+ clearNamespaceCache(namespaceName);
415
+ refetch();
416
+ setTimeout(() => setIsSpinning(false), 500);
417
+ },
418
+ [namespaceName, clearNamespaceCache, refetch],
419
+ );
420
+
421
+ // While loading, fall back to initial entries from the namespace notification
422
+ const entries = isPending ? namespace.storageEntries : fetchedEntries;
423
+ const filtered = filterEntries(
424
+ entries,
425
+ namespaceName,
426
+ searchValue,
427
+ entriesByPath,
428
+ );
429
+
430
+ return (
431
+ <>
432
+ <CommandItem
433
+ value={namespace.name}
434
+ onSelect={() => setIsExpanded(!isExpanded)}
435
+ className="flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none"
436
+ >
437
+ <ChevronRightIcon
438
+ className={cn(
439
+ "h-3 w-3 shrink-0 transition-transform",
440
+ isExpanded && "rotate-90",
441
+ )}
442
+ />
443
+ <ProtocolIcon protocol={namespace.protocol} />
444
+ <span>{namespace.displayName}</span>
445
+ {namespace.name && (
446
+ <span className="text-xs text-muted-foreground font-normal">
447
+ (<EngineVariable variableName={namespace.name as VariableName} />)
448
+ </span>
449
+ )}
450
+ <Tooltip content="Refresh storage connection">
451
+ <Button
452
+ variant="ghost"
453
+ size="icon"
454
+ className="hover:bg-transparent hover:shadow-none"
455
+ onClick={handleRefresh}
456
+ >
457
+ <RefreshCwIcon
458
+ className={cn(
459
+ "h-3 w-3 text-muted-foreground hover:text-foreground",
460
+ isSpinning && "animate-[spin_0.5s]",
461
+ )}
462
+ />
463
+ </Button>
464
+ </Tooltip>
465
+ <span className="text-[10px] text-muted-foreground font-normal tabular-nums ml-auto">
466
+ {namespace.rootPath || "(root)"}
467
+ </span>
468
+ </CommandItem>
469
+ {isExpanded && (
470
+ <>
471
+ {isPending && entries.length === 0 && (
472
+ <div
473
+ className="flex items-center gap-1.5 py-1 text-xs text-muted-foreground"
474
+ style={indentStyle(1)}
475
+ >
476
+ <LoaderCircle className="h-3 w-3 animate-spin" />
477
+ Loading...
478
+ </div>
479
+ )}
480
+ {error && entries.length === 0 && (
481
+ <ErrorState
482
+ error={error}
483
+ style={indentStyle(1)}
484
+ className="py-1 text-xs h-auto"
485
+ showIcon={false}
486
+ />
487
+ )}
488
+ {!isPending && entries.length === 0 && !error && (
489
+ <div
490
+ className="py-1 text-xs text-muted-foreground italic"
491
+ style={indentStyle(1)}
492
+ >
493
+ No entries
494
+ </div>
495
+ )}
496
+ {searchValue && filtered.length === 0 && entries.length > 0 && (
497
+ <div
498
+ className="py-1 text-xs text-muted-foreground italic"
499
+ style={indentStyle(1)}
500
+ >
501
+ No matches
502
+ </div>
503
+ )}
504
+ {filtered.map((entry) => (
505
+ <StorageEntryRow
506
+ key={entry.path}
507
+ entry={entry}
508
+ namespace={namespaceName}
509
+ protocol={namespace.protocol}
510
+ rootPath={namespace.rootPath}
511
+ depth={1}
512
+ locale={locale}
513
+ searchValue={searchValue}
514
+ onOpenFile={onOpenFile}
515
+ />
516
+ ))}
517
+ </>
518
+ )}
519
+ </>
520
+ );
521
+ };
522
+
523
+ export const StorageInspector: React.FC = () => {
524
+ const { namespaces } = useStorage();
525
+ const { locale } = useLocale();
526
+ const [searchValue, setSearchValue] = useState("");
527
+ const [openFile, setOpenFile] = useState<OpenFileInfo | null>(null);
528
+ const hasSearch = !!searchValue.trim();
529
+
530
+ if (namespaces.length === 0) {
531
+ return (
532
+ <PanelEmptyState
533
+ title="No storage connected"
534
+ description={
535
+ <span>
536
+ Create an Obstore or fsspec connection in your notebook. See the{" "}
537
+ <a
538
+ className="text-link"
539
+ href="https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start"
540
+ target="_blank"
541
+ rel="noopener noreferrer"
542
+ >
543
+ docs
544
+ </a>
545
+ .
546
+ </span>
547
+ }
548
+ icon={<HardDriveIcon className="h-8 w-8" />}
549
+ />
550
+ );
551
+ }
552
+
553
+ return (
554
+ <div className="h-full flex flex-col">
555
+ {openFile && (
556
+ <StorageFileViewer
557
+ entry={openFile.entry}
558
+ namespace={openFile.namespace}
559
+ onBack={() => setOpenFile(null)}
560
+ />
561
+ )}
562
+ <Command
563
+ className={cn(
564
+ "border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin",
565
+ // We want to keep the command open but hidden when a file is opened to preserve state (folders opened etc.)
566
+ // TODO: Preserve scroll position
567
+ openFile && "hidden",
568
+ )}
569
+ shouldFilter={false}
570
+ >
571
+ <div className="flex items-center w-full border-b">
572
+ <CommandInput
573
+ placeholder="Search entries..."
574
+ className="h-6 m-1"
575
+ value={searchValue}
576
+ onValueChange={setSearchValue}
577
+ rootClassName="flex-1 border-b-0"
578
+ />
579
+ {hasSearch && (
580
+ <Button
581
+ variant="text"
582
+ size="xs"
583
+ className="float-right border-none px-2 m-0 h-full"
584
+ onClick={() => setSearchValue("")}
585
+ >
586
+ <XIcon className="h-4 w-4" />
587
+ </Button>
588
+ )}
589
+ <Tooltip
590
+ content="Filters loaded entries only. Expand directories to include their contents in the search."
591
+ delayDuration={200}
592
+ >
593
+ <HelpCircleIcon className="h-3.5 w-3.5 mr-2 shrink-0 cursor-help text-muted-foreground hover:text-foreground" />
594
+ </Tooltip>
595
+ </div>
596
+ <CommandList className="flex flex-col">
597
+ {namespaces.map((ns) => (
598
+ <StorageNamespaceSection
599
+ key={ns.name ?? ns.displayName}
600
+ namespace={ns}
601
+ locale={locale}
602
+ searchValue={searchValue}
603
+ onOpenFile={setOpenFile}
604
+ />
605
+ ))}
606
+ </CommandList>
607
+ </Command>
608
+ </div>
609
+ );
610
+ };
@@ -178,6 +178,85 @@ describe("EditNotebookTool", () => {
178
178
  });
179
179
  });
180
180
 
181
+ it("should skip no-op edits where code hasn't changed", async () => {
182
+ const code = "x = 1";
183
+
184
+ const editorView = createMockEditorView(code);
185
+ const notebook = MockNotebook.notebookState({
186
+ cellData: {
187
+ [cellId1]: { code },
188
+ },
189
+ });
190
+ notebook.cellHandles[cellId1] = { current: { editorView } } as never;
191
+ store.set(notebookAtom, notebook);
192
+
193
+ const result = await tool.handler(
194
+ {
195
+ edit: {
196
+ type: "update_cell",
197
+ position: { type: "relative", cellId: cellId1 },
198
+ code: code, // Same code as current
199
+ },
200
+ },
201
+ toolContext as never,
202
+ );
203
+
204
+ expect(result.status).toBe("success");
205
+
206
+ // Should NOT stage the cell or update the editor
207
+ expect(toolContext.addStagedCell).not.toHaveBeenCalled();
208
+ expect(vi.mocked(updateEditorCodeFromPython)).not.toHaveBeenCalled();
209
+
210
+ // No staged cells
211
+ const stagedCells = store.get(stagedAICellsAtom);
212
+ expect(stagedCells.size).toBe(0);
213
+ });
214
+
215
+ it("should skip no-op edits that revert to original code", async () => {
216
+ const originalCode = "x = 1";
217
+ const modifiedCode = "x = 2";
218
+
219
+ const editorView = createMockEditorView(originalCode);
220
+ const notebook = MockNotebook.notebookState({
221
+ cellData: {
222
+ [cellId1]: { code: originalCode },
223
+ },
224
+ });
225
+ notebook.cellHandles[cellId1] = { current: { editorView } } as never;
226
+ store.set(notebookAtom, notebook);
227
+
228
+ // First edit: change the code
229
+ await tool.handler(
230
+ {
231
+ edit: {
232
+ type: "update_cell",
233
+ position: { type: "relative", cellId: cellId1 },
234
+ code: modifiedCode,
235
+ },
236
+ },
237
+ toolContext as never,
238
+ );
239
+
240
+ expect(toolContext.addStagedCell).toHaveBeenCalledTimes(1);
241
+
242
+ // Second edit: revert back to the original code
243
+ const result = await tool.handler(
244
+ {
245
+ edit: {
246
+ type: "update_cell",
247
+ position: { type: "relative", cellId: cellId1 },
248
+ code: originalCode, // Same as the previousCode
249
+ },
250
+ },
251
+ toolContext as never,
252
+ );
253
+
254
+ expect(result.status).toBe("success");
255
+
256
+ // addStagedCell should not be called again (still 1 from the first edit)
257
+ expect(toolContext.addStagedCell).toHaveBeenCalledTimes(1);
258
+ });
259
+
181
260
  it("should throw error when cell ID doesn't exist", async () => {
182
261
  const notebook = MockNotebook.notebookState({
183
262
  cellData: {
@@ -128,6 +128,11 @@ export class EditNotebookTool
128
128
  const previousCode =
129
129
  existingStagedCell?.previousCode ?? currentCellCode;
130
130
 
131
+ // Skip no-op edits where the code hasn't changed
132
+ if (code === previousCode) {
133
+ break;
134
+ }
135
+
131
136
  addStagedCell({
132
137
  cellId,
133
138
  edit: { type: "update_cell", previousCode: previousCode },