@marimo-team/frontend 0.19.8-dev5 → 0.19.8-dev50

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 (988) hide show
  1. package/dist/assets/CellStatus-CZlcjSUO.js +1 -0
  2. package/dist/assets/Combination-BAEdC-rz.js +41 -0
  3. package/dist/assets/ConnectedDataExplorerComponent-HbY4uSsv.js +1 -0
  4. package/dist/assets/Deferred-DxQeE5uh.js +1 -0
  5. package/dist/assets/DeferredRequestRegistry-CMf25YiV.js +1 -0
  6. package/dist/assets/ErrorBoundary-B9Ifj8Jf.js +1 -0
  7. package/dist/assets/ImageComparisonComponent-BmIQwrIS.js +1 -0
  8. package/dist/assets/ImperativeModal-BNN1HA7x.js +1 -0
  9. package/dist/assets/Inputs-GV-aQbOR.js +1 -0
  10. package/dist/assets/JsonOutput-PE5ko4gi.js +46 -0
  11. package/dist/assets/LazyAnyLanguageCodeMirror-DgZ8iknE.js +2 -0
  12. package/dist/assets/MarimoErrorOutput-Lf9P8Fhl.js +7 -0
  13. package/dist/assets/RenderHTML-D-of_-s7.js +1 -0
  14. package/dist/assets/SSRProvider-BIDQNg9Q.js +1 -0
  15. package/dist/assets/__vite-browser-external-D-ioOGDE.js +1 -0
  16. package/dist/assets/__vite-browser-external-DT1nudb6.js +1 -0
  17. package/dist/assets/add-cell-with-ai-e_HMl7UU.js +90 -0
  18. package/dist/assets/add-database-form-DvnhmpaG.js +111 -0
  19. package/dist/assets/agent-panel-bOQya9ER.js +287 -0
  20. package/dist/assets/ai-model-dropdown-Dk2SdB3C.js +5 -0
  21. package/dist/assets/alert-BOoN6gJ1.js +1 -0
  22. package/dist/assets/alert-dialog-BW4srmS0.js +11 -0
  23. package/dist/assets/any-language-editor-BODEG_5g.js +3 -0
  24. package/dist/assets/apl-CaYjM5u2.js +1 -0
  25. package/dist/assets/app-config-button-DMsJtN9b.js +1 -0
  26. package/dist/assets/arc-D1owqr0z.js +1 -0
  27. package/dist/assets/architecture-U656AL7Q-DENTsr7c.js +1 -0
  28. package/dist/assets/architectureDiagram-VXUJARFQ-CDeVogFv.js +36 -0
  29. package/dist/assets/arrow-left-VDC1u5rq.js +1 -0
  30. package/dist/assets/asciiarmor-D2cJUKTq.js +1 -0
  31. package/dist/assets/asn1-CZDBKivQ.js +1 -0
  32. package/dist/assets/badge-DX6CQ6PA.js +1 -0
  33. package/dist/assets/blob-D-eV0cU3.js +1 -0
  34. package/dist/assets/blockDiagram-VD42YOAC-Bol-uwBO.js +122 -0
  35. package/dist/assets/bot-message-square-B2ThzDUZ.js +1 -0
  36. package/dist/assets/brainfuck-D5O26WTe.js +1 -0
  37. package/dist/assets/bundle.esm-i_UbZC0w.js +1 -0
  38. package/dist/assets/button-CZ3Cs4qb.js +1 -0
  39. package/dist/assets/c4Diagram-YG6GDRKO-C-eNQ40H.js +10 -0
  40. package/dist/assets/cache-panel-D07YsKqa.js +1 -0
  41. package/dist/assets/card-OlSjYhmd.js +1 -0
  42. package/dist/assets/cell-editor-BW4w46wt.js +23 -0
  43. package/dist/assets/cell-link-B9b7J8QK.js +1 -0
  44. package/dist/assets/cells-DPp5cDaO.js +254 -0
  45. package/dist/assets/channel-CdzZX-OR.js +1 -0
  46. package/dist/assets/chart-no-axes-column-qvVRjhv1.js +1 -0
  47. package/dist/assets/chat-display--jAB7huF.js +1 -0
  48. package/dist/assets/chat-panel-DzMwk8Wu.js +3 -0
  49. package/dist/assets/check-Dr3SxUsb.js +1 -0
  50. package/dist/assets/chevron-right--18M_6o9.js +1 -0
  51. package/dist/assets/chunk-4BX2VUAB-KawmK-5L.js +1 -0
  52. package/dist/assets/chunk-55IACEB6-njZIr50E.js +1 -0
  53. package/dist/assets/chunk-5FQGJX7Z-DPlx2kjA.js +113 -0
  54. package/dist/assets/chunk-ABZYJK2D-0jga8uiE.js +80 -0
  55. package/dist/assets/chunk-ATLVNIR6-B17dg7Ry.js +1 -0
  56. package/dist/assets/chunk-B4BG7PRW-DoVbcCDm.js +165 -0
  57. package/dist/assets/chunk-CVBHYZKI-DU48rJVu.js +1 -0
  58. package/dist/assets/chunk-DI55MBZ5-rLpl7joX.js +220 -0
  59. package/dist/assets/chunk-EXTU4WIE-Dmu97ZvI.js +1 -0
  60. package/dist/assets/chunk-FMBD7UC4-CHJv683r.js +15 -0
  61. package/dist/assets/chunk-HN2XXSSU-Bdbi3Mns.js +1 -0
  62. package/dist/assets/chunk-JA3XYJ7Z-DOm8KfKa.js +70 -0
  63. package/dist/assets/chunk-JZLCHNYA-48QVgmR4.js +54 -0
  64. package/dist/assets/chunk-MI3HLSF2-n3vxgSbN.js +32 -0
  65. package/dist/assets/chunk-N4CR4FBY-BNoQB557.js +2 -0
  66. package/dist/assets/chunk-QN33PNHL-BOQncxfy.js +1 -0
  67. package/dist/assets/chunk-QXUST7PY-DkCIa8tJ.js +7 -0
  68. package/dist/assets/chunk-QZHKN3VN-Cp_TxrNJ.js +1 -0
  69. package/dist/assets/chunk-S3R3BYOJ-8loRaCFh.js +2 -0
  70. package/dist/assets/chunk-TZMSLE5B-CPHBPwrM.js +1 -0
  71. package/dist/assets/circle-check-DquVD4wZ.js +1 -0
  72. package/dist/assets/circle-play-EowqxNIC.js +1 -0
  73. package/dist/assets/circle-plus-haI9GLDP.js +1 -0
  74. package/dist/assets/classDiagram-2ON5EDUG-CUlU7OLD.js +1 -0
  75. package/dist/assets/classDiagram-v2-WZHVMYZB-DAwrDtTO.js +1 -0
  76. package/dist/assets/clear-button-DMZhBF9S.js +1 -0
  77. package/dist/assets/click-outside-container-BXzp0MYr.js +1 -0
  78. package/dist/assets/clike-TwxwxEw_.js +1 -0
  79. package/dist/assets/clipboard-paste-CpyPR-HZ.js +1 -0
  80. package/dist/assets/clojure-B8dfjAV6.js +1 -0
  81. package/dist/assets/cmake-D3vlGJdL.js +1 -0
  82. package/dist/assets/cobol-S-4I_F1W.js +1 -0
  83. package/dist/assets/code-block-37QAKDTI-DnnrjIZy.js +2 -0
  84. package/dist/assets/code-xml-CgN_Yig7.js +1 -0
  85. package/dist/assets/coffeescript-DG-Oj54u.js +1 -0
  86. package/dist/assets/column-preview-CXjSXUhP.js +1 -0
  87. package/dist/assets/command-2ElA5IkO.js +1 -0
  88. package/dist/assets/command-palette-DrD2qhGV.js +1 -0
  89. package/dist/assets/common-DSlhalAu.js +1 -0
  90. package/dist/assets/commonlisp-CWlOS49U.js +1 -0
  91. package/dist/assets/compiler-runtime-B3qBwwSJ.js +1 -0
  92. package/dist/assets/config-Q0O7_stz.js +1 -0
  93. package/dist/assets/context-BfYAMNLF.js +1 -0
  94. package/dist/assets/copy-D-8y6iMN.js +1 -0
  95. package/dist/assets/copy-icon-v8ME_JKB.js +1 -0
  96. package/dist/assets/cose-bilkent-S5V4N54A-tFAvjCRW.js +1 -0
  97. package/dist/assets/createLucideIcon-BCdY6lG5.js +1 -0
  98. package/dist/assets/createReducer-B3rBsy4P.js +1 -0
  99. package/dist/assets/crystal-CD-LQ3E-.js +1 -0
  100. package/dist/assets/css-sdrF9ahV.js +1 -0
  101. package/dist/assets/cypher-oiVTIRlU.js +1 -0
  102. package/dist/assets/d-KaoGirPa.js +1 -0
  103. package/dist/assets/dagre-6UL2VRFP-DOB6anec.js +4 -0
  104. package/dist/assets/data-grid-overlay-editor-D8lE4fym.js +1 -0
  105. package/dist/assets/database-zap-k4ePIFAU.js +1 -0
  106. package/dist/assets/datasource-CtyqtITR.js +3 -0
  107. package/dist/assets/dates-CrvjILe3.js +1 -0
  108. package/dist/assets/dependency-graph-panel-Cbke_QgZ.js +4 -0
  109. package/dist/assets/diagram-PSM6KHXK-DpuCiAS7.js +24 -0
  110. package/dist/assets/diagram-QEK2KX5R-IlkvvuKX.js +43 -0
  111. package/dist/assets/diagram-S2PKOQOG-DJt_T1Gq.js +24 -0
  112. package/dist/assets/dialog-eb-NieZw.js +1 -0
  113. package/dist/assets/diff-Df1QxxZl.js +1 -0
  114. package/dist/assets/dist-4mAhUzty.js +1 -0
  115. package/dist/assets/dist-5CXgzdUa.js +1 -0
  116. package/dist/assets/dist-8kKeYgOg.js +1 -0
  117. package/dist/assets/dist-B27MCO52.js +1 -0
  118. package/dist/assets/dist-BXnpRw3d.js +1 -0
  119. package/dist/assets/dist-BZP3Xxma.js +1 -0
  120. package/dist/assets/dist-Bc7uxGRW.js +1 -0
  121. package/dist/assets/dist-BtJZmWkg.js +1 -0
  122. package/dist/assets/dist-Btv5Rh1v.js +1 -0
  123. package/dist/assets/dist-ByjGU_ag.js +1 -0
  124. package/dist/assets/dist-C-V6lvxH.js +1 -0
  125. package/dist/assets/dist-C6SivM7z.js +1 -0
  126. package/dist/assets/dist-C9k2RMmO.js +1 -0
  127. package/dist/assets/dist-CDXJRSCj.js +1 -0
  128. package/dist/assets/dist-CEEqzIVj.js +1 -0
  129. package/dist/assets/dist-CEaOyZOW.js +1 -0
  130. package/dist/assets/dist-CLc5WXWw.js +1 -0
  131. package/dist/assets/dist-CRjEDsfC.js +1 -0
  132. package/dist/assets/dist-CsRJPnA9.js +1 -0
  133. package/dist/assets/dist-Cx8mOJOB.js +1 -0
  134. package/dist/assets/dist-DLgWirXg.js +1 -0
  135. package/dist/assets/dist-DOZ8nmkC.js +1 -0
  136. package/dist/assets/dist-DUlOLsKi.js +1 -0
  137. package/dist/assets/dist-Dv0MupEh.js +1 -0
  138. package/dist/assets/dist-DwV58Fb1.js +1 -0
  139. package/dist/assets/dist-OlCHPNfN.js +1 -0
  140. package/dist/assets/dist-bBwmhqty.js +6 -0
  141. package/dist/assets/dist-fO1a06Tp.js +1 -0
  142. package/dist/assets/dist-iXB2pOUD.js +1 -0
  143. package/dist/assets/dist-lTwzYaMX.js +1 -0
  144. package/dist/assets/dist-wS1s8MYb.js +1 -0
  145. package/dist/assets/dockerfile-BmwSYxi2.js +1 -0
  146. package/dist/assets/documentation-panel-BDQNa1xE.js +1 -0
  147. package/dist/assets/download-Dg7clfkc.js +1 -0
  148. package/dist/assets/download-os8QlW6l.js +9 -0
  149. package/dist/assets/dropdown-menu-ldcmQvIV.js +1 -0
  150. package/dist/assets/dtd-Aj5m459l.js +1 -0
  151. package/dist/assets/dylan-CdSB1nh8.js +1 -0
  152. package/dist/assets/ecl-CvwsCfi6.js +1 -0
  153. package/dist/assets/edit-page-BpIuEeU6.js +13 -0
  154. package/dist/assets/eiffel-Bws25dAs.js +1 -0
  155. package/dist/assets/ellipsis-DfDsMPvA.js +1 -0
  156. package/dist/assets/ellipsis-vertical-J1F7_WS9.js +1 -0
  157. package/dist/assets/elm--WkcLZ1a.js +1 -0
  158. package/dist/assets/empty-state-B8Cxr9nj.js +1 -0
  159. package/dist/assets/en-US-CCVfmA-q.js +1 -0
  160. package/dist/assets/erDiagram-Q2GNP2WA-CekwCx1v.js +60 -0
  161. package/dist/assets/erlang-Ct30wW1o.js +1 -0
  162. package/dist/assets/error-banner-B9ts0mNl.js +1 -0
  163. package/dist/assets/error-panel-B_234Lt3.js +1 -0
  164. package/dist/assets/errors-TZBmrJmc.js +1 -0
  165. package/dist/assets/es-BYgU_srD.js +5 -0
  166. package/dist/assets/esm-Bmu2DhPy.js +1 -0
  167. package/dist/assets/esm-D82gQH1f.js +1 -0
  168. package/dist/assets/eye-off-AK_9uodG.js +1 -0
  169. package/dist/assets/factor-B3fhZG6W.js +1 -0
  170. package/dist/assets/factor-DbSpQa-0.js +1 -0
  171. package/dist/assets/field-CySaBlkz.js +1 -0
  172. package/dist/assets/file-Ch78NKWp.js +1 -0
  173. package/dist/assets/file-explorer-panel-T3oL7Bzx.js +1 -0
  174. package/dist/assets/file-plus-corner-CvAy4H5W.js +1 -0
  175. package/dist/assets/file-video-camera-C3wGzBnE.js +1 -0
  176. package/dist/assets/floating-outline-BtdqbkUq.js +1 -0
  177. package/dist/assets/flowDiagram-NV44I4VS-BhCyaqwV.js +162 -0
  178. package/dist/assets/focus-C1YokgL7.js +1 -0
  179. package/dist/assets/form-BidPUZUn.js +2 -0
  180. package/dist/assets/forth-BP0pXyoR.js +1 -0
  181. package/dist/assets/fortran-DpX_2iww.js +1 -0
  182. package/dist/assets/gallery-page-D5ulMArd.js +1 -0
  183. package/dist/assets/ganttDiagram-JELNMOA3-Ct2B_ci4.js +267 -0
  184. package/dist/assets/gas-CiUR6fHB.js +1 -0
  185. package/dist/assets/gherkin-C9v48C48.js +1 -0
  186. package/dist/assets/gitGraph-F6HP7TQM-BwJPuiCH.js +1 -0
  187. package/dist/assets/gitGraphDiagram-NY62KEGX-DOBPUqeq.js +65 -0
  188. package/dist/assets/glide-data-editor-D1ZoJKPr.js +132 -0
  189. package/dist/assets/globals-BgACvYmr.js +1 -0
  190. package/dist/assets/groovy-psUnKwK-.js +1 -0
  191. package/dist/assets/haskell-DZHQAKUV.js +1 -0
  192. package/dist/assets/haxe-AOvPCF-w.js +1 -0
  193. package/dist/assets/home-page-DUMF8ZY4.js +4 -0
  194. package/dist/assets/hooks-BGeojgid.js +1 -0
  195. package/dist/assets/html-to-image-CIQqSu-S.js +2 -0
  196. package/dist/assets/icons-CCHmxi8d.js +1 -0
  197. package/dist/assets/idl-CSA8C1ck.js +1 -0
  198. package/dist/assets/index-CeUwN_0i.css +2 -0
  199. package/dist/assets/index-DFrkvKWf.js +38 -0
  200. package/dist/assets/info-NVLQJR56-Ccg18Lpe.js +1 -0
  201. package/dist/assets/infoDiagram-WHAUD3N6-Cytag0-K.js +2 -0
  202. package/dist/assets/input-DUrq2DiR.js +1 -0
  203. package/dist/assets/isValid-DDt9wNjK.js +1 -0
  204. package/dist/assets/javascript-XMYUq5-t.js +1 -0
  205. package/dist/assets/journeyDiagram-XKPGCS4Q-CPDnALH5.js +139 -0
  206. package/dist/assets/julia-oON8zLDW.js +1 -0
  207. package/dist/assets/kanban-definition-3W4ZIXB7-D0-Tthpw.js +89 -0
  208. package/dist/assets/katex-CDLTCvjQ.js +261 -0
  209. package/dist/assets/katex-DF982Ty5.js +1 -0
  210. package/dist/assets/kbd-Cm6Ba9qg.js +1 -0
  211. package/dist/assets/kiosk-mode-WmM7aFkh.js +1 -0
  212. package/dist/assets/label-E64zk6_7.js +1 -0
  213. package/dist/assets/layout-_O8thjaV.js +5 -0
  214. package/dist/assets/line-BA7eTS55.js +1 -0
  215. package/dist/assets/linear-BWciPXnd.js +1 -0
  216. package/dist/assets/link-DxicfMbs.js +1 -0
  217. package/dist/assets/links-7AQBmdyV.js +1 -0
  218. package/dist/assets/links-DWIqY1l5.js +1 -0
  219. package/dist/assets/livescript--BxQO5G_.js +1 -0
  220. package/dist/assets/logs-panel-C3cavnFO.js +1 -0
  221. package/dist/assets/loro_wasm_bg-C3Vl7VMX.js +1 -0
  222. package/dist/assets/loro_wasm_bg-DzFUi5p_.js +2 -0
  223. package/dist/assets/loro_wasm_bg-WKwciKJa.wasm +0 -0
  224. package/dist/assets/lua-CUyaVUOv.js +1 -0
  225. package/dist/assets/maps-D2_Mq1pZ.js +1 -0
  226. package/dist/assets/markdown-renderer-DJy8ww5d.js +10 -0
  227. package/dist/assets/mathematica-ONd8izyd.js +1 -0
  228. package/dist/assets/mbox-kjl3g9N-.js +1 -0
  229. package/dist/assets/menu-items-BMjcEb2j.js +1 -0
  230. package/dist/assets/mermaid-4DMBBIKO-DyygmIT8.js +1 -0
  231. package/dist/assets/mermaid-parser.core-BLHYb13y.js +4 -0
  232. package/dist/assets/mermaid-y-IBDpJK.js +11 -0
  233. package/dist/assets/mhchem-ICopO0mb.js +1 -0
  234. package/dist/assets/mindmap-definition-VGOIOE7T-BflEJS3A.js +68 -0
  235. package/dist/assets/mirc-BZ6TyuOO.js +1 -0
  236. package/dist/assets/mllike-Dxt2U6MQ.js +1 -0
  237. package/dist/assets/mode-Bn7pdJvO.js +1 -0
  238. package/dist/assets/modelica-B9sdhdtj.js +1 -0
  239. package/dist/assets/mscgen-5e5Z5trn.js +1 -0
  240. package/dist/assets/multi-icon-jM74Rbvg.js +1 -0
  241. package/dist/assets/multi-map-DxdLNTBd.js +1 -0
  242. package/dist/assets/mumps-BUfWDrRe.js +1 -0
  243. package/dist/assets/name-cell-input-Bc7geMVf.js +1 -0
  244. package/dist/assets/nsis-Dq7T79DJ.js +1 -0
  245. package/dist/assets/nsis-QuE155sg.js +1 -0
  246. package/dist/assets/ntriples-Dqzi7kwu.js +1 -0
  247. package/dist/assets/number-overlay-editor-Dylprn80.js +9 -0
  248. package/dist/assets/octave-v4IgjFm5.js +1 -0
  249. package/dist/assets/ordinal-DG_POl79.js +1 -0
  250. package/dist/assets/outline-panel-Bxt_JABC.js +1 -0
  251. package/dist/assets/oz-BtUsXhbc.js +1 -0
  252. package/dist/assets/packages-panel-yEp7rAYf.js +1 -0
  253. package/dist/assets/packet-BFZMPI3H-C_EwQwCX.js +1 -0
  254. package/dist/assets/panel-context-HhzMRtZm.js +1 -0
  255. package/dist/assets/panels-IsIZwIow.js +1 -0
  256. package/dist/assets/pascal-DV7k6vJ0.js +1 -0
  257. package/dist/assets/perl-Bz7YaP_R.js +1 -0
  258. package/dist/assets/pie-7BOR55EZ-B2NFlNeo.js +1 -0
  259. package/dist/assets/pieDiagram-ADFJNKIX-DXRnX2TS.js +30 -0
  260. package/dist/assets/pig-BQWmcOEQ.js +1 -0
  261. package/dist/assets/play-GLWQQs7F.js +1 -0
  262. package/dist/assets/plus-B7DF33lD.js +1 -0
  263. package/dist/assets/popover-CH1FzjxU.js +1 -0
  264. package/dist/assets/powershell-CmIFs71i.js +1 -0
  265. package/dist/assets/process-output-ByfLnk6j.js +1 -0
  266. package/dist/assets/properties-D7F2Eomu.js +1 -0
  267. package/dist/assets/protobuf-BMELuvny.js +1 -0
  268. package/dist/assets/pug-C2KbP_v3.js +1 -0
  269. package/dist/assets/pug-NA-6TsNe.js +1 -0
  270. package/dist/assets/puppet-C7MviiPj.js +1 -0
  271. package/dist/assets/python-BUl8uFIl.js +1 -0
  272. package/dist/assets/q-B5bIbNKB.js +1 -0
  273. package/dist/assets/quadrantDiagram-AYHSOK5B-e3OVACTV.js +7 -0
  274. package/dist/assets/r-B0lU_x8o.js +1 -0
  275. package/dist/assets/radar-NHE76QYJ-C3XGuwbG.js +1 -0
  276. package/dist/assets/react-Bj1aDYRI.js +1 -0
  277. package/dist/assets/react-dom-CSu739Rf.js +1 -0
  278. package/dist/assets/react-plotly-kw5W3sN8.js +4030 -0
  279. package/dist/assets/react-resizable-panels.browser.esm-Da3ksQXL.js +1 -0
  280. package/dist/assets/react-vega-BL1HBBjq.js +190 -0
  281. package/dist/assets/react-vega-gERE3HQc.js +1 -0
  282. package/dist/assets/readonly-python-code-WjTf6Pdd.js +1 -0
  283. package/dist/assets/refresh-ccw-DN_xCV6A.js +1 -0
  284. package/dist/assets/refresh-cw-Dx8TEWFP.js +1 -0
  285. package/dist/assets/renderShortcut-BckyRbYt.js +1 -0
  286. package/dist/assets/request-registry-C5_pVc8Y.js +1 -0
  287. package/dist/assets/requests-B4FYHTZl.js +1 -0
  288. package/dist/assets/requests-De5yEBc8.js +1 -0
  289. package/dist/assets/requirementDiagram-UZGBJVZJ-DMbzgjKI.js +64 -0
  290. package/dist/assets/rotate-ccw-DPbJxVVN.js +1 -0
  291. package/dist/assets/rpm-BqQ3VFpY.js +1 -0
  292. package/dist/assets/ruby-AFh8QoqR.js +1 -0
  293. package/dist/assets/run-page-_7E2SCeQ.js +1 -0
  294. package/dist/assets/runs-YUGrkyfE.js +1 -0
  295. package/dist/assets/sankeyDiagram-TZEHDZUN-B90PTMUW.js +10 -0
  296. package/dist/assets/sas-CeRTI9sn.js +1 -0
  297. package/dist/assets/save-DZodxFnE.js +1 -0
  298. package/dist/assets/save-worker-CtJsIYIM.js +77 -0
  299. package/dist/assets/scheme-D0VcE_o1.js +1 -0
  300. package/dist/assets/scratchpad-panel-C6thsU6k.js +1 -0
  301. package/dist/assets/secrets-panel-Db_JucCn.js +1 -0
  302. package/dist/assets/select-BVdzZKAh.js +1 -0
  303. package/dist/assets/sequenceDiagram-WL72ISMW-DKFGl_80.js +145 -0
  304. package/dist/assets/session-panel-3zs_-lnF.js +1 -0
  305. package/dist/assets/settings-OBbrbhij.js +1 -0
  306. package/dist/assets/share-ipf2hrOh.js +1 -0
  307. package/dist/assets/shell-BBh9RTgS.js +1 -0
  308. package/dist/assets/sieve-BSX0MHaT.js +1 -0
  309. package/dist/assets/slides-component-JYH8kck6.js +1 -0
  310. package/dist/assets/smalltalk-PvrpLgKW.js +1 -0
  311. package/dist/assets/snippets-panel-Bbk7MFBI.js +1 -0
  312. package/dist/assets/sparql-CXsmb8zq.js +1 -0
  313. package/dist/assets/spec-Ch0xnJY4.js +1 -0
  314. package/dist/assets/spinner-DA8-7wQv.js +1 -0
  315. package/dist/assets/square-CuJ72M8f.js +1 -0
  316. package/dist/assets/square-function-B6mgCeFJ.js +1 -0
  317. package/dist/assets/src-CvyFXpBy.js +1 -0
  318. package/dist/assets/state-BrMfOLl1.js +1 -0
  319. package/dist/assets/state-D4T75eZb.js +1 -0
  320. package/dist/assets/stateDiagram-FKZM4ZOC-Czf6mxbq.js +1 -0
  321. package/dist/assets/stateDiagram-v2-4FDKWEC3-DT577w6p.js +1 -0
  322. package/dist/assets/step-CVy5FnKg.js +1 -0
  323. package/dist/assets/stex-Dn4qnyVB.js +1 -0
  324. package/dist/assets/stylus-B60bUBy2.js +1 -0
  325. package/dist/assets/swift-BwnHGvoR.js +1 -0
  326. package/dist/assets/switch-dWLWbbtg.js +1 -0
  327. package/dist/assets/table-CfDbAm78.js +1 -0
  328. package/dist/assets/table-DScsXgJW.js +1 -0
  329. package/dist/assets/tcl-Bj8phnhq.js +1 -0
  330. package/dist/assets/terminal-CjhjkmtR.js +62 -0
  331. package/dist/assets/textarea-CRI7xDBj.js +1 -0
  332. package/dist/assets/textile-WPCmEeGb.js +1 -0
  333. package/dist/assets/time-DkuObi5n.js +1 -0
  334. package/dist/assets/timeline-definition-IT6M3QCI-Cr57imdX.js +61 -0
  335. package/dist/assets/toDate-DETS9bBd.js +1 -0
  336. package/dist/assets/toggle-zVW4FXNz.js +1 -0
  337. package/dist/assets/toml-Cdfp0vaG.js +1 -0
  338. package/dist/assets/tooltip-CMQz28hC.js +1 -0
  339. package/dist/assets/tracing-U3RlLbPJ.js +1 -0
  340. package/dist/assets/tracing-panel-D6GhZuLA.js +2 -0
  341. package/dist/assets/trash-2-DDsWrxuJ.js +1 -0
  342. package/dist/assets/trash-DCF6Krvi.js +1 -0
  343. package/dist/assets/tree-B--q0-tu.js +3 -0
  344. package/dist/assets/treemap-KMMF4GRG-CQXdJ2ER.js +1 -0
  345. package/dist/assets/triangle-alert-CebQ7XwA.js +1 -0
  346. package/dist/assets/troff-D4suUzlg.js +1 -0
  347. package/dist/assets/ttcn-CvD_6RGm.js +1 -0
  348. package/dist/assets/ttcn-cfg-BX59kgnW.js +1 -0
  349. package/dist/assets/turtle-midFOTTV.js +1 -0
  350. package/dist/assets/types-BRfQN3HL.js +17 -0
  351. package/dist/assets/types-C1UhS3qM.js +1 -0
  352. package/dist/assets/use-toast-BDYuj3zG.js +1 -0
  353. package/dist/assets/useAddCell-CmuX2hOk.js +1 -0
  354. package/dist/assets/useAsyncData-BMGLSTg8.js +1 -0
  355. package/dist/assets/useBoolean-Ck_unDZw.js +1 -0
  356. package/dist/assets/useCellActionButton-DUDHPTmq.js +1 -0
  357. package/dist/assets/useDateFormatter-CqhdUl2n.js +1 -0
  358. package/dist/assets/useDebounce-7iEVSqwM.js +1 -0
  359. package/dist/assets/useDeepCompareMemoize-5OUgerQ3.js +1 -0
  360. package/dist/assets/useDeleteCell-DdRX94yC.js +1 -0
  361. package/dist/assets/useDependencyPanelTab-CeDmKn0Z.js +1 -0
  362. package/dist/assets/useEvent-BhXAndur.js +1 -0
  363. package/dist/assets/useEventListener-Cb-RVVEn.js +1 -0
  364. package/dist/assets/useIframeCapabilities-B_pQb20b.js +1 -0
  365. package/dist/assets/useInstallPackage-D4fX0Ee_.js +1 -0
  366. package/dist/assets/useInterval-B-PjgTm9.js +1 -0
  367. package/dist/assets/useLifecycle-ClI_npeg.js +1 -0
  368. package/dist/assets/useNonce-CS26E0hA.js +56 -0
  369. package/dist/assets/useNotebookActions-BFGSBiOA.js +1 -0
  370. package/dist/assets/useNumberFormatter-Db6Vjve5.js +1 -0
  371. package/dist/assets/usePress-C__vuri5.js +7 -0
  372. package/dist/assets/useRunCells-D2HBb4DB.js +1 -0
  373. package/dist/assets/useSplitCell-C4khe6eU.js +1 -0
  374. package/dist/assets/useTheme-DQozhcp1.js +1 -0
  375. package/dist/assets/utilities.esm-MA1QpjVT.js +3 -0
  376. package/dist/assets/utils-YqBXNpsM.js +1 -0
  377. package/dist/assets/vb-CSNH0UHQ.js +1 -0
  378. package/dist/assets/vbscript-DTgXfl5y.js +1 -0
  379. package/dist/assets/vega-component-D4L27L4Y.js +1 -0
  380. package/dist/assets/velocity-CKgzALh9.js +1 -0
  381. package/dist/assets/verilog-NDqaS3bW.js +1 -0
  382. package/dist/assets/vhdl-BibQgFNM.js +1 -0
  383. package/dist/assets/webidl-BjqVurO-.js +1 -0
  384. package/dist/assets/worker-BPV9SmHz.js +120 -0
  385. package/dist/assets/workflow-BphwJiK3.js +1 -0
  386. package/dist/assets/write-secret-modal-1fGKmd5H.js +1 -0
  387. package/dist/assets/x-ZP5cObgf.js +1 -0
  388. package/dist/assets/xquery-DQLXMdMd.js +1 -0
  389. package/dist/assets/xychartDiagram-PRI3JC2R-DtYN6-1-.js +7 -0
  390. package/dist/assets/yacas-DlkZlCdY.js +1 -0
  391. package/dist/assets/youtube--tNPNRy6.js +1 -0
  392. package/dist/assets/z80-YKwwCjvZ.js +1 -0
  393. package/dist/assets/zod-H_cgTO0M.js +40 -0
  394. package/dist/index.html +139 -140
  395. package/package.json +18 -18
  396. package/src/components/app-config/ai-config.tsx +11 -2
  397. package/src/components/app-config/optional-features.tsx +1 -1
  398. package/src/components/app-config/user-config-form.tsx +0 -54
  399. package/src/components/chat/__tests__/useFileState.test.tsx +93 -0
  400. package/src/components/chat/acp/__tests__/state.test.ts +69 -0
  401. package/src/components/chat/acp/agent-panel.tsx +26 -77
  402. package/src/components/chat/acp/state.ts +6 -6
  403. package/src/components/chat/chat-components.tsx +114 -1
  404. package/src/components/chat/chat-panel.tsx +79 -134
  405. package/src/components/chat/chat-utils.ts +42 -0
  406. package/src/components/data-table/__tests__/data-table.test.tsx +94 -2
  407. package/src/components/editor/actions/useCellActionButton.tsx +14 -1
  408. package/src/components/editor/ai/add-cell-with-ai.tsx +85 -53
  409. package/src/components/editor/ai/ai-completion-editor.tsx +15 -38
  410. package/src/components/editor/cell/CreateCellButton.tsx +2 -1
  411. package/src/components/editor/cell/code/cell-editor.tsx +12 -0
  412. package/src/components/editor/chrome/panels/packages-panel.tsx +12 -9
  413. package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +15 -0
  414. package/src/components/editor/database/__tests__/as-code.test.ts +8 -0
  415. package/src/components/editor/database/as-code.ts +3 -0
  416. package/src/components/editor/database/schemas.ts +9 -0
  417. package/src/components/editor/renderers/cell-array.tsx +2 -1
  418. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +12 -0
  419. package/src/components/pages/gallery-page.tsx +37 -6
  420. package/src/core/MarimoApp.tsx +12 -8
  421. package/src/core/ai/context/providers/file.ts +1 -1
  422. package/src/core/cells/__tests__/cells.test.ts +120 -0
  423. package/src/core/cells/__tests__/session.test.ts +37 -1
  424. package/src/core/cells/cells.ts +14 -0
  425. package/src/core/cells/session.ts +20 -8
  426. package/src/core/codemirror/language/languages/markdown.ts +7 -0
  427. package/src/core/config/feature-flag.tsx +0 -4
  428. package/src/core/dom/uiregistry.ts +4 -1
  429. package/src/core/islands/__tests__/bridge.test.ts +7 -2
  430. package/src/core/islands/bridge.ts +1 -1
  431. package/src/core/islands/main.ts +7 -0
  432. package/src/core/network/types.ts +2 -2
  433. package/src/core/run-app.tsx +11 -4
  434. package/src/core/static/__tests__/files.test.ts +195 -1
  435. package/src/core/static/files.ts +39 -9
  436. package/src/core/wasm/bridge.ts +1 -1
  437. package/src/core/websocket/useMarimoKernelConnection.tsx +5 -15
  438. package/src/plugins/core/registerReactComponent.tsx +9 -1
  439. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +164 -0
  440. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +93 -168
  441. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +37 -123
  442. package/src/plugins/impl/anywidget/__tests__/model.test.ts +128 -122
  443. package/src/plugins/impl/anywidget/__tests__/serialization.test.ts +457 -0
  444. package/src/plugins/impl/anywidget/model.ts +348 -223
  445. package/src/plugins/impl/anywidget/schemas.ts +32 -0
  446. package/src/plugins/impl/anywidget/serialization.ts +120 -0
  447. package/src/plugins/impl/anywidget/types.ts +27 -0
  448. package/src/plugins/impl/chat/chat-ui.tsx +22 -20
  449. package/src/utils/Deferred.ts +21 -0
  450. package/src/utils/__tests__/blob.test.ts +3 -3
  451. package/src/utils/__tests__/id-tree.test.ts +22 -7
  452. package/src/utils/__tests__/mime-types.test.ts +8 -10
  453. package/src/utils/__tests__/url-parser.test.ts +22 -0
  454. package/src/utils/blob.ts +14 -27
  455. package/src/utils/id-tree.tsx +11 -19
  456. package/src/utils/json/base64.ts +38 -8
  457. package/src/utils/mime-types.ts +5 -5
  458. package/src/utils/url-parser.ts +1 -1
  459. package/dist/assets/CellStatus-CTtb89yx.js +0 -1
  460. package/dist/assets/Combination-C_mRvd_Z.js +0 -41
  461. package/dist/assets/ConnectedDataExplorerComponent-CX7YQX42.js +0 -1
  462. package/dist/assets/Deferred-CrO5-0RA.js +0 -1
  463. package/dist/assets/DeferredRequestRegistry-CO2AyNfd.js +0 -1
  464. package/dist/assets/ErrorBoundary-ChCiwl15.js +0 -1
  465. package/dist/assets/ImageComparisonComponent-BVBGmVcA.js +0 -1
  466. package/dist/assets/ImperativeModal-CKeCkc1k.js +0 -1
  467. package/dist/assets/Inputs-CBxLLWdV.js +0 -1
  468. package/dist/assets/JsonOutput-BTBD86gT.js +0 -46
  469. package/dist/assets/LazyAnyLanguageCodeMirror-Be7SB10I.js +0 -2
  470. package/dist/assets/MarimoErrorOutput-DuaUr0W-.js +0 -7
  471. package/dist/assets/RenderHTML-IBhB_MjX.js +0 -1
  472. package/dist/assets/SSRProvider-DBS9qs3r.js +0 -1
  473. package/dist/assets/__vite-browser-external-BkzFKOxE.js +0 -1
  474. package/dist/assets/__vite-browser-external-CPyDqUtZ.js +0 -1
  475. package/dist/assets/add-cell-with-ai-DsiiVErB.js +0 -90
  476. package/dist/assets/add-database-form-B1frIn24.js +0 -111
  477. package/dist/assets/agent-panel-B_Ur2utx.js +0 -287
  478. package/dist/assets/ai-model-dropdown-Dix8JIRc.js +0 -5
  479. package/dist/assets/alert-adkp2Qj8.js +0 -1
  480. package/dist/assets/alert-dialog-CordKci7.js +0 -11
  481. package/dist/assets/any-language-editor-Z9d2XKUM.js +0 -3
  482. package/dist/assets/apl-DpOiWl6J.js +0 -1
  483. package/dist/assets/app-config-button-CYFJH9oz.js +0 -1
  484. package/dist/assets/arc-xh3ZebK_.js +0 -1
  485. package/dist/assets/architecture-U656AL7Q-DQB1ihe9.js +0 -1
  486. package/dist/assets/architectureDiagram-VXUJARFQ-B-zQV2Ro.js +0 -36
  487. package/dist/assets/arrow-left-Cb_73j1f.js +0 -1
  488. package/dist/assets/asciiarmor-DVIuYySe.js +0 -1
  489. package/dist/assets/asn1-CWHjZJq6.js +0 -1
  490. package/dist/assets/badge-Ce8wRjuQ.js +0 -1
  491. package/dist/assets/blob-t6qcPM7K.js +0 -1
  492. package/dist/assets/blockDiagram-VD42YOAC-B7BRAty8.js +0 -122
  493. package/dist/assets/brainfuck-CIKJewgG.js +0 -1
  494. package/dist/assets/bundle.esm-B-jCcPJK.js +0 -1
  495. package/dist/assets/button-YC1gW_kJ.js +0 -1
  496. package/dist/assets/c4Diagram-YG6GDRKO-C5JyC9v_.js +0 -10
  497. package/dist/assets/cache-panel-BfCxvTOh.js +0 -1
  498. package/dist/assets/card-BAxUmnnT.js +0 -1
  499. package/dist/assets/cell-editor-BQ5bBOiS.js +0 -23
  500. package/dist/assets/cell-link-DW0zobk9.js +0 -1
  501. package/dist/assets/cells-BcMpgRWV.js +0 -254
  502. package/dist/assets/channel-ownMsSXG.js +0 -1
  503. package/dist/assets/chart-no-axes-column-W42b2ZIs.js +0 -1
  504. package/dist/assets/chat-components-BpIX7pUp.js +0 -1
  505. package/dist/assets/chat-display-CVXM0cmr.js +0 -1
  506. package/dist/assets/chat-panel-FiDMP_Qr.js +0 -3
  507. package/dist/assets/check-DdfN0k2d.js +0 -1
  508. package/dist/assets/chevron-right-DwagBitu.js +0 -1
  509. package/dist/assets/chunk-4BX2VUAB-BP-RGZn9.js +0 -1
  510. package/dist/assets/chunk-55IACEB6-NZRDKuqH.js +0 -1
  511. package/dist/assets/chunk-5FQGJX7Z-Bmb7yu_c.js +0 -113
  512. package/dist/assets/chunk-ABZYJK2D-Coo5qi7b.js +0 -80
  513. package/dist/assets/chunk-ATLVNIR6-C0ULYreM.js +0 -1
  514. package/dist/assets/chunk-B4BG7PRW-D6Q5lT5Z.js +0 -165
  515. package/dist/assets/chunk-CVBHYZKI-Brsoob-W.js +0 -1
  516. package/dist/assets/chunk-DI55MBZ5-BUUtkB-8.js +0 -220
  517. package/dist/assets/chunk-EXTU4WIE-DQy5cN5X.js +0 -1
  518. package/dist/assets/chunk-FMBD7UC4-kejklSRQ.js +0 -15
  519. package/dist/assets/chunk-HN2XXSSU-BBxJMYrA.js +0 -1
  520. package/dist/assets/chunk-JA3XYJ7Z-99Y1UR46.js +0 -70
  521. package/dist/assets/chunk-JZLCHNYA-DRGkEV50.js +0 -54
  522. package/dist/assets/chunk-MI3HLSF2-D6we5Ftb.js +0 -32
  523. package/dist/assets/chunk-N4CR4FBY-DHFG9ldR.js +0 -2
  524. package/dist/assets/chunk-QN33PNHL-DB8FgLRd.js +0 -1
  525. package/dist/assets/chunk-QXUST7PY-_zxuSm7L.js +0 -7
  526. package/dist/assets/chunk-QZHKN3VN-DCq7JxLD.js +0 -1
  527. package/dist/assets/chunk-S3R3BYOJ-PVCoxQeQ.js +0 -2
  528. package/dist/assets/chunk-TZMSLE5B-KYGSDxPK.js +0 -1
  529. package/dist/assets/circle-check-C57eOpl0.js +0 -1
  530. package/dist/assets/circle-play-BuOtSgid.js +0 -1
  531. package/dist/assets/circle-plus-CnWl9uZo.js +0 -1
  532. package/dist/assets/classDiagram-2ON5EDUG-CSgD2v8F.js +0 -1
  533. package/dist/assets/classDiagram-v2-WZHVMYZB-YTETTIT0.js +0 -1
  534. package/dist/assets/clear-button-CF0iBcV9.js +0 -1
  535. package/dist/assets/click-outside-container-B12FHFHm.js +0 -1
  536. package/dist/assets/clike-wo4CVrJj.js +0 -1
  537. package/dist/assets/clipboard-paste-BiDF-cqm.js +0 -1
  538. package/dist/assets/clojure-CTxjMkBI.js +0 -1
  539. package/dist/assets/cmake-aJ0aGjat.js +0 -1
  540. package/dist/assets/cobol-Dw9T4cw-.js +0 -1
  541. package/dist/assets/code-block-37QAKDTI-D5PRUB7R.js +0 -2
  542. package/dist/assets/code-xml-XLwHyDBr.js +0 -1
  543. package/dist/assets/coffeescript-B5HCKl_0.js +0 -1
  544. package/dist/assets/column-preview-v3J210SK.js +0 -1
  545. package/dist/assets/command-DOzj5zu3.js +0 -1
  546. package/dist/assets/command-palette-B94wuFEk.js +0 -1
  547. package/dist/assets/common-DHF6uQdA.js +0 -1
  548. package/dist/assets/commonlisp-C578hhl1.js +0 -1
  549. package/dist/assets/compiler-runtime-DeeZ7FnK.js +0 -1
  550. package/dist/assets/config-C3-Nti03.js +0 -1
  551. package/dist/assets/context-CJp-B2dx.js +0 -1
  552. package/dist/assets/copy-CQ15EONK.js +0 -1
  553. package/dist/assets/copy-icon-C1fNHY3M.js +0 -1
  554. package/dist/assets/cose-bilkent-S5V4N54A-vYRNxW8r.js +0 -1
  555. package/dist/assets/createLucideIcon-CnW3RofX.js +0 -1
  556. package/dist/assets/createReducer-Dnna-AUO.js +0 -1
  557. package/dist/assets/crystal-D84c1nzD.js +0 -1
  558. package/dist/assets/css-BJsW3aHa.js +0 -1
  559. package/dist/assets/cypher-DBO3MHmN.js +0 -1
  560. package/dist/assets/d-KvHiAR3H.js +0 -1
  561. package/dist/assets/dagre-6UL2VRFP-khPiqbzB.js +0 -4
  562. package/dist/assets/data-grid-overlay-editor-Ca1ELXWD.js +0 -1
  563. package/dist/assets/database-zap-B9y7063w.js +0 -1
  564. package/dist/assets/datasource-BZ3O2HG1.js +0 -3
  565. package/dist/assets/dates-Cx863TsG.js +0 -1
  566. package/dist/assets/dependency-graph-panel-s45LIDec.js +0 -4
  567. package/dist/assets/diagram-PSM6KHXK-C7-DZLOE.js +0 -24
  568. package/dist/assets/diagram-QEK2KX5R-Ct2_XsRV.js +0 -43
  569. package/dist/assets/diagram-S2PKOQOG-C82IZoPA.js +0 -24
  570. package/dist/assets/dialog-Dstm3Ubn.js +0 -1
  571. package/dist/assets/diff-BmUpKGx-.js +0 -1
  572. package/dist/assets/dist-1nstYXhq.js +0 -1
  573. package/dist/assets/dist-2qScxWoK.js +0 -1
  574. package/dist/assets/dist-8LCoAaYJ.js +0 -1
  575. package/dist/assets/dist-B1CD4nG7.js +0 -1
  576. package/dist/assets/dist-B407S7D_.js +0 -1
  577. package/dist/assets/dist-B6bNYRJb.js +0 -1
  578. package/dist/assets/dist-BKMynip3.js +0 -1
  579. package/dist/assets/dist-BP1tfplb.js +0 -1
  580. package/dist/assets/dist-BSxIk2Vq.js +0 -1
  581. package/dist/assets/dist-BcotcL0h.js +0 -1
  582. package/dist/assets/dist-BhLw_JdQ.js +0 -1
  583. package/dist/assets/dist-BtUqLXS9.js +0 -1
  584. package/dist/assets/dist-BuwU3nUf.js +0 -1
  585. package/dist/assets/dist-BwcKpTZt.js +0 -1
  586. package/dist/assets/dist-C0QU3Oay.js +0 -1
  587. package/dist/assets/dist-CNknMFYG.js +0 -1
  588. package/dist/assets/dist-Cayq-K1c.js +0 -6
  589. package/dist/assets/dist-Cip4Ndtd.js +0 -1
  590. package/dist/assets/dist-DGPkGdD2.js +0 -1
  591. package/dist/assets/dist-DXT0W0hS.js +0 -1
  592. package/dist/assets/dist-DrFRlZJz.js +0 -1
  593. package/dist/assets/dist-DstaRs6N.js +0 -1
  594. package/dist/assets/dist-DzjeKTWA.js +0 -1
  595. package/dist/assets/dist-GCDTTvNx.js +0 -1
  596. package/dist/assets/dist-PT7WsOdN.js +0 -1
  597. package/dist/assets/dist-QPLTo43F.js +0 -1
  598. package/dist/assets/dist-SpkGM8op.js +0 -1
  599. package/dist/assets/dist-TiFCI16_.js +0 -1
  600. package/dist/assets/dist-YQMqR1ri.js +0 -1
  601. package/dist/assets/dist-h7FGpi6W.js +0 -1
  602. package/dist/assets/dist-oarhZoo6.js +0 -1
  603. package/dist/assets/dockerfile-BPCA7-hu.js +0 -1
  604. package/dist/assets/documentation-panel-DRqbOPwM.js +0 -1
  605. package/dist/assets/download-B9SUL40m.js +0 -1
  606. package/dist/assets/download-zuPzhwvm.js +0 -9
  607. package/dist/assets/dropdown-menu-D8v7RjW8.js +0 -1
  608. package/dist/assets/dtd-Dwf-AbUl.js +0 -1
  609. package/dist/assets/dylan-VHUB-7ez.js +0 -1
  610. package/dist/assets/ecl-DvGrObaA.js +0 -1
  611. package/dist/assets/edit-page-Dlr4v1eI.js +0 -13
  612. package/dist/assets/eiffel-CUYga93e.js +0 -1
  613. package/dist/assets/ellipsis-5ip-qDfN.js +0 -1
  614. package/dist/assets/ellipsis-vertical-C7jYiLCo.js +0 -1
  615. package/dist/assets/elm-BhMhmEP6.js +0 -1
  616. package/dist/assets/empty-state-BAGXXrn8.js +0 -1
  617. package/dist/assets/en-US-XLBup7bs.js +0 -1
  618. package/dist/assets/erDiagram-Q2GNP2WA-Ftt2qDiM.js +0 -60
  619. package/dist/assets/erlang-D4xbdJFD.js +0 -1
  620. package/dist/assets/error-banner-JIexM8h5.js +0 -1
  621. package/dist/assets/error-panel-TqjIx6nC.js +0 -1
  622. package/dist/assets/errors-B5AI4nf5.js +0 -1
  623. package/dist/assets/es-CPSXxuS6.js +0 -5
  624. package/dist/assets/esm-BbNm2fB0.js +0 -1
  625. package/dist/assets/esm-BmQh-C2G.js +0 -1
  626. package/dist/assets/eye-off-BhExYOph.js +0 -1
  627. package/dist/assets/factor-C0grrWrC.js +0 -1
  628. package/dist/assets/factor-Ccw_GUUV.js +0 -1
  629. package/dist/assets/field-1uCBX4j4.js +0 -1
  630. package/dist/assets/file-Cs1JbsV6.js +0 -1
  631. package/dist/assets/file-explorer-panel-jku_uMQn.js +0 -1
  632. package/dist/assets/file-plus-corner-Da9I6dgU.js +0 -1
  633. package/dist/assets/file-video-camera-DW3v07j2.js +0 -1
  634. package/dist/assets/floating-outline-CZbF47gm.js +0 -1
  635. package/dist/assets/flowDiagram-NV44I4VS-Ca9aZp-3.js +0 -162
  636. package/dist/assets/focus-BxGelf2n.js +0 -1
  637. package/dist/assets/form-DQt-Ldr4.js +0 -2
  638. package/dist/assets/forth-CSTdXn4A.js +0 -1
  639. package/dist/assets/fortran-fENQO2l9.js +0 -1
  640. package/dist/assets/gallery-page-D_5X4kKx.js +0 -1
  641. package/dist/assets/ganttDiagram-JELNMOA3-PYFPdyuJ.js +0 -267
  642. package/dist/assets/gas-CPJMP4zj.js +0 -1
  643. package/dist/assets/gherkin-CiUmN4EE.js +0 -1
  644. package/dist/assets/gitGraph-F6HP7TQM-ULnyMCh9.js +0 -1
  645. package/dist/assets/gitGraphDiagram-NY62KEGX-CfGWoYOo.js +0 -65
  646. package/dist/assets/glide-data-editor-8ek3zzAO.js +0 -132
  647. package/dist/assets/globals-D4t_HyAp.js +0 -1
  648. package/dist/assets/groovy-DMooZA1X.js +0 -1
  649. package/dist/assets/haskell-sDlThg6u.js +0 -1
  650. package/dist/assets/haxe-Do80ITri.js +0 -1
  651. package/dist/assets/home-page-xDhfcHL1.js +0 -4
  652. package/dist/assets/hooks-MQa8CSUr.js +0 -1
  653. package/dist/assets/house-DhFkiXz7.js +0 -1
  654. package/dist/assets/html-to-image-DKqpcM7V.js +0 -2
  655. package/dist/assets/icons-Dw4USSvE.js +0 -1
  656. package/dist/assets/idl-DFPg6k4F.js +0 -1
  657. package/dist/assets/index-CikhHYAB.css +0 -2
  658. package/dist/assets/index-DuqUGjtK.js +0 -38
  659. package/dist/assets/info-NVLQJR56-gsco60Pt.js +0 -1
  660. package/dist/assets/infoDiagram-WHAUD3N6-Csbwq6Ks.js +0 -2
  661. package/dist/assets/input-DcAGg_4_.js +0 -1
  662. package/dist/assets/isValid-BLB2jskA.js +0 -1
  663. package/dist/assets/javascript-BGc4iHiT.js +0 -1
  664. package/dist/assets/journeyDiagram-XKPGCS4Q-DArwMxlY.js +0 -139
  665. package/dist/assets/julia-BHNHVraD.js +0 -1
  666. package/dist/assets/kanban-definition-3W4ZIXB7-CPjBJiO_.js +0 -89
  667. package/dist/assets/katex-BZrXWsTs.js +0 -1
  668. package/dist/assets/katex-DYp6oq7P.js +0 -261
  669. package/dist/assets/kbd-uRyPZ9w_.js +0 -1
  670. package/dist/assets/kiosk-mode-C9XznhoS.js +0 -1
  671. package/dist/assets/label-CL9Xfexh.js +0 -1
  672. package/dist/assets/layout-D-YPCWvX.js +0 -5
  673. package/dist/assets/line-VKarCWVL.js +0 -1
  674. package/dist/assets/linear-BxhToEEF.js +0 -1
  675. package/dist/assets/link-BsTPF7B0.js +0 -1
  676. package/dist/assets/links-BhgWpHdU.js +0 -1
  677. package/dist/assets/links-DgZx-VxW.js +0 -1
  678. package/dist/assets/livescript-Bv2FpOTI.js +0 -1
  679. package/dist/assets/logs-panel-DKSJRyF4.js +0 -1
  680. package/dist/assets/loro_wasm_bg-BnAHSQ7o.js +0 -2
  681. package/dist/assets/loro_wasm_bg-CKQGJrH5.js +0 -1
  682. package/dist/assets/loro_wasm_bg-DV7Kb4_M.wasm +0 -0
  683. package/dist/assets/lua-BysKHKPZ.js +0 -1
  684. package/dist/assets/maps-t9yNKYA8.js +0 -1
  685. package/dist/assets/markdown-renderer-Bu12gPyJ.js +0 -10
  686. package/dist/assets/mathematica-BBTHoTvM.js +0 -1
  687. package/dist/assets/mbox-DeT9_lvk.js +0 -1
  688. package/dist/assets/menu-items-NblnuU_B.js +0 -1
  689. package/dist/assets/mermaid-4DMBBIKO-RE7Z6-fl.js +0 -1
  690. package/dist/assets/mermaid-Bzaf_nA9.js +0 -11
  691. package/dist/assets/mermaid-parser.core-D237JwYN.js +0 -4
  692. package/dist/assets/mhchem-DLDYYsJK.js +0 -1
  693. package/dist/assets/mindmap-definition-VGOIOE7T-DVB4z5Yy.js +0 -68
  694. package/dist/assets/mirc-D5fMSrXQ.js +0 -1
  695. package/dist/assets/mllike-BtxCpmpf.js +0 -1
  696. package/dist/assets/mode-CevBiFCd.js +0 -1
  697. package/dist/assets/modelica-CRQcZpK6.js +0 -1
  698. package/dist/assets/mscgen-BfscU11q.js +0 -1
  699. package/dist/assets/multi-icon-CLzAg610.js +0 -1
  700. package/dist/assets/multi-map-W4zci54U.js +0 -1
  701. package/dist/assets/mumps-g7ooySbl.js +0 -1
  702. package/dist/assets/name-cell-input-DwvdP1Ck.js +0 -1
  703. package/dist/assets/nsis-BtyCmCHZ.js +0 -1
  704. package/dist/assets/nsis-CzZqoCdu.js +0 -1
  705. package/dist/assets/ntriples-DLyxF-NO.js +0 -1
  706. package/dist/assets/number-overlay-editor-CvIcqV0W.js +0 -9
  707. package/dist/assets/octave-CFXP_zzr.js +0 -1
  708. package/dist/assets/ordinal-C93T4L8H.js +0 -1
  709. package/dist/assets/outline-panel-Bg_CP1WV.js +0 -1
  710. package/dist/assets/oz-CrQbC0N_.js +0 -1
  711. package/dist/assets/packages-panel-DBgrbk-q.js +0 -1
  712. package/dist/assets/packet-BFZMPI3H-CnHEXEVi.js +0 -1
  713. package/dist/assets/panel-context-C-UJlFyL.js +0 -1
  714. package/dist/assets/panels-CaoDGKmF.js +0 -1
  715. package/dist/assets/pascal-CCSZgYZH.js +0 -1
  716. package/dist/assets/perl-Bc1MycMl.js +0 -1
  717. package/dist/assets/pie-7BOR55EZ-C5Sp4r8f.js +0 -1
  718. package/dist/assets/pieDiagram-ADFJNKIX-vwwb5uL8.js +0 -30
  719. package/dist/assets/pig-CDr04RdE.js +0 -1
  720. package/dist/assets/play-BPIh-ZEU.js +0 -1
  721. package/dist/assets/plus-BD5o34_i.js +0 -1
  722. package/dist/assets/popover-BZZFx3Q8.js +0 -1
  723. package/dist/assets/powershell-DcvrUwmh.js +0 -1
  724. package/dist/assets/process-output-Cl2N-HlT.js +0 -1
  725. package/dist/assets/properties-Y8OgFJMt.js +0 -1
  726. package/dist/assets/protobuf-Dyx-ENis.js +0 -1
  727. package/dist/assets/pug-BqLMXh-D.js +0 -1
  728. package/dist/assets/pug-T7qjkmFh.js +0 -1
  729. package/dist/assets/puppet-BzYSg90u.js +0 -1
  730. package/dist/assets/python-D4S7tVrv.js +0 -1
  731. package/dist/assets/q-YpqabiSl.js +0 -1
  732. package/dist/assets/quadrantDiagram-AYHSOK5B-Y8bEZ32G.js +0 -7
  733. package/dist/assets/r-DzpuVbmQ.js +0 -1
  734. package/dist/assets/radar-NHE76QYJ-DAElyE_r.js +0 -1
  735. package/dist/assets/react-BGmjiNul.js +0 -1
  736. package/dist/assets/react-dom-C9fstfnp.js +0 -1
  737. package/dist/assets/react-plotly-CZMBCa5P.js +0 -4030
  738. package/dist/assets/react-resizable-panels.browser.esm-BFvP7Upm.js +0 -1
  739. package/dist/assets/react-vega-BCDifxTe.js +0 -190
  740. package/dist/assets/react-vega-DkHO4e2L.js +0 -1
  741. package/dist/assets/readonly-python-code-H1kzT-lB.js +0 -1
  742. package/dist/assets/refresh-ccw-DLEiQDS3.js +0 -1
  743. package/dist/assets/refresh-cw-CQd-1kjx.js +0 -1
  744. package/dist/assets/renderShortcut-zxgoVTeP.js +0 -1
  745. package/dist/assets/request-registry-CjZcQuTP.js +0 -1
  746. package/dist/assets/requests-BSPGoGJL.js +0 -1
  747. package/dist/assets/requests-BsVD4CdD.js +0 -1
  748. package/dist/assets/requirementDiagram-UZGBJVZJ-ChckaTrX.js +0 -64
  749. package/dist/assets/rotate-ccw-B_yU4f05.js +0 -1
  750. package/dist/assets/rpm-DlmAEsH3.js +0 -1
  751. package/dist/assets/ruby-BHSBK3B4.js +0 -1
  752. package/dist/assets/run-page-BmTC7uxn.js +0 -1
  753. package/dist/assets/runs-X54OGDTq.js +0 -1
  754. package/dist/assets/sankeyDiagram-TZEHDZUN-DtU4O0-i.js +0 -10
  755. package/dist/assets/sas-DmQmrPAn.js +0 -1
  756. package/dist/assets/save-PMHbdtqc.js +0 -1
  757. package/dist/assets/save-worker-DtF6B3PS.js +0 -77
  758. package/dist/assets/scheme-CZHvt0eC.js +0 -1
  759. package/dist/assets/scratchpad-panel-CIxZIJ-1.js +0 -1
  760. package/dist/assets/secrets-panel-TwfjwIVv.js +0 -1
  761. package/dist/assets/select-CX1Yi8J8.js +0 -1
  762. package/dist/assets/sequenceDiagram-WL72ISMW-BGXrTemh.js +0 -145
  763. package/dist/assets/session-panel-CNeWVmTR.js +0 -1
  764. package/dist/assets/settings-DOXWMfVd.js +0 -1
  765. package/dist/assets/share-Ba-pHZtq.js +0 -1
  766. package/dist/assets/shell-BJzvpTMz.js +0 -1
  767. package/dist/assets/sieve-DGjPhm-6.js +0 -1
  768. package/dist/assets/slides-component-CGMJm_kL.js +0 -1
  769. package/dist/assets/smalltalk-DaG60CSr.js +0 -1
  770. package/dist/assets/snippets-panel-DMN_ZSXA.js +0 -1
  771. package/dist/assets/sparql-CN49rXKB.js +0 -1
  772. package/dist/assets/spec-D1kBp3jX.js +0 -1
  773. package/dist/assets/spinner-DaIKav-i.js +0 -1
  774. package/dist/assets/square-C8Tw_XXG.js +0 -1
  775. package/dist/assets/square-function-CqXXKtIq.js +0 -1
  776. package/dist/assets/src-DJ8ZKoFs.js +0 -1
  777. package/dist/assets/state-BLsnFVwy.js +0 -1
  778. package/dist/assets/state-n1Xz9vt7.js +0 -1
  779. package/dist/assets/stateDiagram-FKZM4ZOC-BwSf7RIr.js +0 -1
  780. package/dist/assets/stateDiagram-v2-4FDKWEC3-SWMI9LKY.js +0 -1
  781. package/dist/assets/step-DGkZosD0.js +0 -1
  782. package/dist/assets/stex-D6sqtveI.js +0 -1
  783. package/dist/assets/stylus-CzHZ_0CL.js +0 -1
  784. package/dist/assets/swift-5fr5bTbW.js +0 -1
  785. package/dist/assets/switch-CfRu5JBF.js +0 -1
  786. package/dist/assets/table-DZR6ewbN.js +0 -1
  787. package/dist/assets/table-qbh6Daed.js +0 -1
  788. package/dist/assets/tcl-D5oaR_GS.js +0 -1
  789. package/dist/assets/terminal-C0fH4d_0.js +0 -62
  790. package/dist/assets/textarea-3ZXdUni1.js +0 -1
  791. package/dist/assets/textile-CJ5e8-7o.js +0 -1
  792. package/dist/assets/time-EL4bnqqQ.js +0 -1
  793. package/dist/assets/timeline-definition-IT6M3QCI-BZakpQwy.js +0 -61
  794. package/dist/assets/toDate-CgbKQM5E.js +0 -1
  795. package/dist/assets/toggle-CWS-iCmF.js +0 -1
  796. package/dist/assets/toml-D9QwsDZO.js +0 -1
  797. package/dist/assets/tooltip-DH6k_bBY.js +0 -1
  798. package/dist/assets/tracing-panel-DogOVTzf.js +0 -2
  799. package/dist/assets/tracing-zzjDz6Hy.js +0 -1
  800. package/dist/assets/trash-2-CyqGun26.js +0 -1
  801. package/dist/assets/trash-DMqDgJ5r.js +0 -1
  802. package/dist/assets/tree-DHpFOpHo.js +0 -3
  803. package/dist/assets/treemap-KMMF4GRG-Bf9yeA5X.js +0 -1
  804. package/dist/assets/triangle-alert-B65rDESJ.js +0 -1
  805. package/dist/assets/troff-DlwQJbfr.js +0 -1
  806. package/dist/assets/ttcn-DUvoO9Vo.js +0 -1
  807. package/dist/assets/ttcn-cfg-Cj-t-B3M.js +0 -1
  808. package/dist/assets/turtle-DzvxCIjc.js +0 -1
  809. package/dist/assets/types-CS34eOZi.js +0 -1
  810. package/dist/assets/types-CW-zyy80.js +0 -17
  811. package/dist/assets/use-toast-rmUWldD_.js +0 -1
  812. package/dist/assets/useAddCell-mkD8zurm.js +0 -1
  813. package/dist/assets/useAsyncData-BAVCkkQP.js +0 -1
  814. package/dist/assets/useBoolean-BjVFTMam.js +0 -1
  815. package/dist/assets/useCellActionButton-BZ46_Pdt.js +0 -1
  816. package/dist/assets/useDateFormatter-D89e9xZY.js +0 -1
  817. package/dist/assets/useDebounce-CU_caGaU.js +0 -1
  818. package/dist/assets/useDeepCompareMemoize-DiyglPgJ.js +0 -1
  819. package/dist/assets/useDeleteCell-B8CxYiji.js +0 -1
  820. package/dist/assets/useDependencyPanelTab-YtWR0xDK.js +0 -1
  821. package/dist/assets/useEvent-DO6uJBas.js +0 -1
  822. package/dist/assets/useEventListener-DIUKKfEy.js +0 -1
  823. package/dist/assets/useIframeCapabilities-DzIlROXe.js +0 -1
  824. package/dist/assets/useInstallPackage-C-gjrVjb.js +0 -1
  825. package/dist/assets/useInterval-y9MtYlSD.js +0 -1
  826. package/dist/assets/useLifecycle-D35CBukS.js +0 -1
  827. package/dist/assets/useNonce-_Aax6sXd.js +0 -56
  828. package/dist/assets/useNotebookActions-Dfh_7NPm.js +0 -1
  829. package/dist/assets/useNumberFormatter-CTkflual.js +0 -1
  830. package/dist/assets/usePress-CoEeT5jq.js +0 -7
  831. package/dist/assets/useRunCells-rjrIgU8v.js +0 -1
  832. package/dist/assets/useSplitCell-fcjSuBNO.js +0 -1
  833. package/dist/assets/useTheme-EGf2UOFo.js +0 -1
  834. package/dist/assets/utilities.esm-CkqwfzLw.js +0 -3
  835. package/dist/assets/utils-DXvhzCGS.js +0 -1
  836. package/dist/assets/vb-Caf126uo.js +0 -1
  837. package/dist/assets/vbscript-BgRl-LR8.js +0 -1
  838. package/dist/assets/vega-component-DAJbxD47.js +0 -1
  839. package/dist/assets/velocity-CpvfwasF.js +0 -1
  840. package/dist/assets/verilog-hsHogyKv.js +0 -1
  841. package/dist/assets/vhdl-FciHazR1.js +0 -1
  842. package/dist/assets/webidl-CqjZNx5V.js +0 -1
  843. package/dist/assets/worker-CUL1lW-N.js +0 -120
  844. package/dist/assets/workflow-CMjI9cxl.js +0 -1
  845. package/dist/assets/write-secret-modal-CgAvgY9w.js +0 -1
  846. package/dist/assets/x-CoXDX2vQ.js +0 -1
  847. package/dist/assets/xquery-DpTaL2IT.js +0 -1
  848. package/dist/assets/xychartDiagram-PRI3JC2R-CAHFvN1H.js +0 -7
  849. package/dist/assets/yacas-D6bbkHsk.js +0 -1
  850. package/dist/assets/youtube-8p26v8EM.js +0 -1
  851. package/dist/assets/z80-MlujNizn.js +0 -1
  852. package/dist/assets/zod-Cg4WLWh2.js +0 -40
  853. package/src/utils/__tests__/data-views.test.ts +0 -511
  854. package/src/utils/data-views.ts +0 -143
  855. /package/dist/assets/{apl-CpVTW0fY.js → apl-DHQPYmx2.js} +0 -0
  856. /package/dist/assets/{array-BKCdRGCR.js → array-Cf4PUXPA.js} +0 -0
  857. /package/dist/assets/{asciiarmor-qDK46YPd.js → asciiarmor-fnQAw8T8.js} +0 -0
  858. /package/dist/assets/{asn1-s2ZJql-T.js → asn1-5lb7I37s.js} +0 -0
  859. /package/dist/assets/{asterisk-Cy-53Fu-.js → asterisk-B04IJwAt.js} +0 -0
  860. /package/dist/assets/{brainfuck-5fD7ZBSv.js → brainfuck-D30bRgvC.js} +0 -0
  861. /package/dist/assets/{chunk-76Q3JFCE-B261Xkae.js → chunk-76Q3JFCE-BAZ3z-Fu.js} +0 -0
  862. /package/dist/assets/{chunk-FWNWRKHM-C0b0DIG0.js → chunk-FWNWRKHM-DzIkWreD.js} +0 -0
  863. /package/dist/assets/{chunk-LBM3YZW2-D3uTpSOd.js → chunk-LBM3YZW2-BRBe7ZaP.js} +0 -0
  864. /package/dist/assets/{chunk-LHMN2FUI-2FK1AIwU.js → chunk-LHMN2FUI-C4onQD9F.js} +0 -0
  865. /package/dist/assets/{chunk-O7ZBX7Z2-DoE29Zoe.js → chunk-O7ZBX7Z2-CFqB9i7k.js} +0 -0
  866. /package/dist/assets/{chunk-S6J4BHB3-Cvr0itXK.js → chunk-S6J4BHB3-C4KwSfr_.js} +0 -0
  867. /package/dist/assets/{chunk-T53DSG4Q-C7bPrBIt.js → chunk-T53DSG4Q-Bhd043Cg.js} +0 -0
  868. /package/dist/assets/{chunk-XAJISQIX-TwS9jXHm.js → chunk-XAJISQIX-0gvwv13B.js} +0 -0
  869. /package/dist/assets/{clike-D58k-9vu.js → clike-jZeb2kFn.js} +0 -0
  870. /package/dist/assets/{clojure-Dkfjc-Fr.js → clojure-C0pkR8m2.js} +0 -0
  871. /package/dist/assets/{cmake-ffkxaUPf.js → cmake-DlvFtk_M.js} +0 -0
  872. /package/dist/assets/{cobol-CKARYRbQ.js → cobol-C_yb45mr.js} +0 -0
  873. /package/dist/assets/{coffeescript-Dz_r13Pd.js → coffeescript-DBK0AeMT.js} +0 -0
  874. /package/dist/assets/{colors-CUF0x3zZ.js → colors-DUsH-HF1.js} +0 -0
  875. /package/dist/assets/{common-keywords-CU-S2Vqm.js → common-keywords-D6ImdZX8.js} +0 -0
  876. /package/dist/assets/{commonlisp-EavL1_-N.js → commonlisp-Bo8hOdn-.js} +0 -0
  877. /package/dist/assets/{crystal-BQ8grXRY.js → crystal-DYrQEMVi.js} +0 -0
  878. /package/dist/assets/{css-Bmqfl4iE.js → css-zh47N2UC.js} +0 -0
  879. /package/dist/assets/{cypher-BKXIqXpT.js → cypher-BWPAHm69.js} +0 -0
  880. /package/dist/assets/{cytoscape.esm-BihqZ2_-.js → cytoscape.esm-BauVghWH.js} +0 -0
  881. /package/dist/assets/{d-DRfFJaS4.js → d-CMuL95tt.js} +0 -0
  882. /package/dist/assets/{diff-BWk1g4qN.js → diff-oor_HZ51.js} +0 -0
  883. /package/dist/assets/{dist-qIIHXwC_.js → dist-B62Xo7-b.js} +0 -0
  884. /package/dist/assets/{dist-Bx6F_B1m.js → dist-B83wRp_v.js} +0 -0
  885. /package/dist/assets/{dist-DLCy1STk.js → dist-BZWmfQbq.js} +0 -0
  886. /package/dist/assets/{dist-OZngTf6n.js → dist-BpuNldXk.js} +0 -0
  887. /package/dist/assets/{dist-DxxvVPQH.js → dist-C1VXabOr.js} +0 -0
  888. /package/dist/assets/{dist-Bpsss9Eu.js → dist-C5H5qIvq.js} +0 -0
  889. /package/dist/assets/{dist-DsxhNXOv.js → dist-CF4gkF4y.js} +0 -0
  890. /package/dist/assets/{dist-rT8uZk_k.js → dist-CNW1zLeq.js} +0 -0
  891. /package/dist/assets/{dist-BYyu59D8.js → dist-CoCQUAeM.js} +0 -0
  892. /package/dist/assets/{dist-Dj9zNHXU.js → dist-CtrmRz20.js} +0 -0
  893. /package/dist/assets/{dist-BIKFl48f.js → dist-Dcqqg9UU.js} +0 -0
  894. /package/dist/assets/{dist-B0VqT_4z.js → dist-sMh6mJ2d.js} +0 -0
  895. /package/dist/assets/{dist-BZe-2kC9.js → dist-tLOz534J.js} +0 -0
  896. /package/dist/assets/{dtd-C1gvGnbI.js → dtd-Fe_Eikw6.js} +0 -0
  897. /package/dist/assets/{duckdb-keywords-CR9f4wu5.js → duckdb-keywords-5i8us9ML.js} +0 -0
  898. /package/dist/assets/{dylan-D26gjyBo.js → dylan-DjUZAjRK.js} +0 -0
  899. /package/dist/assets/{ebnf-BdwTqLUx.js → ebnf--2SLsnbd.js} +0 -0
  900. /package/dist/assets/{ecl-D_pghsRW.js → ecl-qgyT1LqI.js} +0 -0
  901. /package/dist/assets/{eiffel-CQeRT5l7.js → eiffel-Dgulx8rf.js} +0 -0
  902. /package/dist/assets/{elm-BMJejWwJ.js → elm-BvFY4GJb.js} +0 -0
  903. /package/dist/assets/{erlang-DTDt7sE1.js → erlang-Ba0XOLlj.js} +0 -0
  904. /package/dist/assets/{esm-DvGqZhsW.js → esm-vpVfqVb3.js} +0 -0
  905. /package/dist/assets/{fcl-BFWIADMy.js → fcl-CcJxrJDr.js} +0 -0
  906. /package/dist/assets/{forth-DLug1Uos.js → forth-gbBFxz8f.js} +0 -0
  907. /package/dist/assets/{fortran-CfPd9x83.js → fortran-CXijpPbh.js} +0 -0
  908. /package/dist/assets/{gas-C1vwqe1-.js → gas-CnHGSLCd.js} +0 -0
  909. /package/dist/assets/{gherkin-DxFhlJYL.js → gherkin-DfEZpSxY.js} +0 -0
  910. /package/dist/assets/{groovy-AqjvKzmp.js → groovy-9JiNA9gq.js} +0 -0
  911. /package/dist/assets/{haskell-B9BMJXS_.js → haskell-CKr_RZFK.js} +0 -0
  912. /package/dist/assets/{haxe-CFd4aFZH.js → haxe-DsAAHfaR.js} +0 -0
  913. /package/dist/assets/{http-CgzOAOXj.js → http-BBXW5Cu0.js} +0 -0
  914. /package/dist/assets/{icon-32x32-XIbzzdoo.js → icon-32x32-DH9kM4Sh.js} +0 -0
  915. /package/dist/assets/{idl-DKlFwAHI.js → idl-Djz72z1a.js} +0 -0
  916. /package/dist/assets/{init-DZpk0tdu.js → init-DRQmrFIb.js} +0 -0
  917. /package/dist/assets/{javascript-BMuus-3E.js → javascript-CsBr0q2-.js} +0 -0
  918. /package/dist/assets/{julia-DGv2rboF.js → julia-BCYfl68O.js} +0 -0
  919. /package/dist/assets/{livescript-51GCvdcX.js → livescript-BEw7FNJP.js} +0 -0
  920. /package/dist/assets/{lua-BwsAaftY.js → lua-DqxHXOsz.js} +0 -0
  921. /package/dist/assets/{math-PgJy15ir.js → math-BJjKGmt3.js} +0 -0
  922. /package/dist/assets/{mathematica-Du4amQ2X.js → mathematica-Do-octY0.js} +0 -0
  923. /package/dist/assets/{mbox-DKL-l6mb.js → mbox-VgrgGytk.js} +0 -0
  924. /package/dist/assets/{mirc-CvS1f8zr.js → mirc-DkD5mNIp.js} +0 -0
  925. /package/dist/assets/{mllike-VhUq11ot.js → mllike-C8Ah4kKN.js} +0 -0
  926. /package/dist/assets/{modelica-CjlHUZat.js → modelica-2q7w6nLE.js} +0 -0
  927. /package/dist/assets/{mscgen-26STiUsc.js → mscgen-BRqvO7u4.js} +0 -0
  928. /package/dist/assets/{mumps-4o8IRFVU.js → mumps-CjtiTT1a.js} +0 -0
  929. /package/dist/assets/{nginx-CFpObAqg.js → nginx-CiiHaY6Q.js} +0 -0
  930. /package/dist/assets/{node-sql-parser-UQ9Ur_LP.js → node-sql-parser-Bzh-sm1v.js} +0 -0
  931. /package/dist/assets/{ntriples-D0zMsGJ-.js → ntriples-4lauqsM6.js} +0 -0
  932. /package/dist/assets/{numbers-UHLm3mA-.js → numbers-D7O23mOZ.js} +0 -0
  933. /package/dist/assets/{octave-CpJ40RVG.js → octave-A2kFK0nR.js} +0 -0
  934. /package/dist/assets/{oz-W9l5CbXg.js → oz-CvXDMSbl.js} +0 -0
  935. /package/dist/assets/{pascal-BZtdYBm4.js → pascal-6Jinj26u.js} +0 -0
  936. /package/dist/assets/{path-dqkZlAhR.js → path-D7fidI_g.js} +0 -0
  937. /package/dist/assets/{paths-Dfii2bN8.js → paths-BzSgteR-.js} +0 -0
  938. /package/dist/assets/{perl-Q79ziUtd.js → perl-CXauYQdN.js} +0 -0
  939. /package/dist/assets/{pig-Dn9ueYxG.js → pig-Dl0QLQI6.js} +0 -0
  940. /package/dist/assets/{powershell-DfXPJ56g.js → powershell-6bdy_rHW.js} +0 -0
  941. /package/dist/assets/{preload-helper-DItdS47A.js → preload-helper-D2MJg03u.js} +0 -0
  942. /package/dist/assets/{properties-DRrw--9g.js → properties-p1rx3aF7.js} +0 -0
  943. /package/dist/assets/{protobuf-5jBh6Y7Q.js → protobuf-BZ6p9Xh_.js} +0 -0
  944. /package/dist/assets/{puppet-Bql5dDjm.js → puppet-CjdIRV7D.js} +0 -0
  945. /package/dist/assets/{python-C7HNB5A8.js → python-uzyJYIWU.js} +0 -0
  946. /package/dist/assets/{q-CW9lnZXb.js → q-CfD3i9uI.js} +0 -0
  947. /package/dist/assets/{r-DmuxMz9j.js → r-JyJdYHQB.js} +0 -0
  948. /package/dist/assets/{rpm-2BQZRXYJ.js → rpm-DuGPfDyX.js} +0 -0
  949. /package/dist/assets/{ruby-B-FyRKB2.js → ruby-CA1TzLxZ.js} +0 -0
  950. /package/dist/assets/{sas-Q-94el51.js → sas-BJPWZC7M.js} +0 -0
  951. /package/dist/assets/{scheme-By445Ne_.js → scheme-IRagAY3r.js} +0 -0
  952. /package/dist/assets/{session-fBtIbMpB.js → session-BOFn9QrD.js} +0 -0
  953. /package/dist/assets/{shell-CezKrT5T.js → shell-BVpF3W_J.js} +0 -0
  954. /package/dist/assets/{sieve-MRWdUbX3.js → sieve-BSfPMeZl.js} +0 -0
  955. /package/dist/assets/{simple-mode-BtxX-F6Z.js → simple-mode-BmS_AmGQ.js} +0 -0
  956. /package/dist/assets/{smalltalk-C0KZrhPl.js → smalltalk-CkHVehky.js} +0 -0
  957. /package/dist/assets/{solr-BkyoAXqg.js → solr-DYYuHZ7Q.js} +0 -0
  958. /package/dist/assets/{sparql-CIMoBhOL.js → sparql-CmKKjr-f.js} +0 -0
  959. /package/dist/assets/{spreadsheet-7FZkhkVo.js → spreadsheet-hVThRh5Z.js} +0 -0
  960. /package/dist/assets/{sql-BNnXxKXA.js → sql-DG1AJQLP.js} +0 -0
  961. /package/dist/assets/{src-CmKhyEBC.js → src-CsZby044.js} +0 -0
  962. /package/dist/assets/{stex-CtmkcLz7.js → stex-jWatZkll.js} +0 -0
  963. /package/dist/assets/{stylus-BxV1gbJN.js → stylus-D28PuRsm.js} +0 -0
  964. /package/dist/assets/{swift-C7ozIpB2.js → swift-D-jfpPuv.js} +0 -0
  965. /package/dist/assets/{tcl-D9BrnXdg.js → tcl-BrQdCDVA.js} +0 -0
  966. /package/dist/assets/{textile-8cDJUs1C.js → textile-DXBc8HMq.js} +0 -0
  967. /package/dist/assets/{tiddlywiki-DE5lnTl3.js → tiddlywiki-Dc8c_QaF.js} +0 -0
  968. /package/dist/assets/{tiki-Dt9oCY2i.js → tiki-CwGnGueS.js} +0 -0
  969. /package/dist/assets/{timer-DXL2Iyk5.js → timer-B6DpdVnC.js} +0 -0
  970. /package/dist/assets/{toml-Dtc3-sql.js → toml-ClSouHPE.js} +0 -0
  971. /package/dist/assets/{treemap-8bMgVaTX.js → treemap-CZF0Enj1.js} +0 -0
  972. /package/dist/assets/{troff-CxUT34rC.js → troff-BGDyQn9x.js} +0 -0
  973. /package/dist/assets/{ttcn-BiVwbsr5.js → ttcn-De1OdISX.js} +0 -0
  974. /package/dist/assets/{ttcn-cfg-BLBfLtVM.js → ttcn-cfg-CQMSrhCz.js} +0 -0
  975. /package/dist/assets/{turtle-DqTQI7WU.js → turtle-DNhfxysg.js} +0 -0
  976. /package/dist/assets/{types-DZmRsGZN.js → types-iYXk7c05.js} +0 -0
  977. /package/dist/assets/{uuid-DercMavo.js → uuid-DXdzqzcr.js} +0 -0
  978. /package/dist/assets/{vb-D-mN5USJ.js → vb-BX7-Md9G.js} +0 -0
  979. /package/dist/assets/{vbscript-BHlqX42l.js → vbscript-DNMzJOTU.js} +0 -0
  980. /package/dist/assets/{velocity-BX6395is.js → velocity-viirwPm7.js} +0 -0
  981. /package/dist/assets/{verilog-CixbCKyb.js → verilog-CZguTLBV.js} +0 -0
  982. /package/dist/assets/{vhdl-CofOR-02.js → vhdl-CAEhCBOl.js} +0 -0
  983. /package/dist/assets/{web-vitals-Br9feh_D.js → web-vitals-CUbDLLN1.js} +0 -0
  984. /package/dist/assets/{webidl-DAqkXtNt.js → webidl-BNJg_7gX.js} +0 -0
  985. /package/dist/assets/{ws-DQY2KwIl.js → ws-DcVtI9Wj.js} +0 -0
  986. /package/dist/assets/{xquery-wPbfv0-o.js → xquery-CGV_r322.js} +0 -0
  987. /package/dist/assets/{yacas-B5Zk1avC.js → yacas-uRzw7z7m.js} +0 -0
  988. /package/dist/assets/{z80-C0HuDTqd.js → z80-CBK8t-9T.js} +0 -0
@@ -1,6 +1,8 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import type { Loader } from "@/plugins/impl/vega/vega-loader";
4
+ import { deserializeBlob } from "@/utils/blob";
5
+ import type { DataURLString } from "@/utils/json/base64";
4
6
  import { Logger } from "@/utils/Logger";
5
7
  import { getStaticVirtualFiles } from "./static-state";
6
8
  import type { StaticVirtualFiles } from "./types";
@@ -120,6 +122,24 @@ function withoutLeadingDot(path: string): string {
120
122
  return path.startsWith(".") ? path.slice(1) : path;
121
123
  }
122
124
 
125
+ /**
126
+ * Resolve a URL to a blob URL if it's a virtual file, for use with dynamic import().
127
+ * Unlike fetch, import() can't be patched, so we need to convert data URLs to blob URLs.
128
+ *
129
+ * @returns The original URL if not a virtual file, or a blob URL if it is
130
+ */
131
+ export function resolveVirtualFileURL(
132
+ url: string,
133
+ files: StaticVirtualFiles = getStaticVirtualFiles(),
134
+ ): string {
135
+ const vfile = maybeGetVirtualFile(url, files);
136
+ if (!vfile) {
137
+ return url;
138
+ }
139
+ const blob = deserializeBlob(vfile as DataURLString);
140
+ return URL.createObjectURL(blob);
141
+ }
142
+
123
143
  function maybeGetVirtualFile(
124
144
  url: string,
125
145
  files: StaticVirtualFiles,
@@ -130,14 +150,11 @@ function maybeGetVirtualFile(
130
150
  }
131
151
  const pathname = new URL(url, base).pathname;
132
152
 
133
- // If if the URL starts with file://, then using the document.baseURI
134
- // will not work. In this case, should just chop off from /@file/...
135
- if (url.startsWith("file://")) {
136
- const indexOfFile = url.indexOf("/@file/");
137
- if (indexOfFile !== -1) {
138
- url = url.slice(indexOfFile);
139
- }
140
- }
153
+ // Extract the /@file/... suffix from the URL or pathname
154
+ // This handles URLs like https://example.com/prefix/@file/foo.js
155
+ // or file:///path/to/@file/foo.js
156
+ const filePathFromUrl = extractFilePath(url);
157
+ const filePathFromPathname = extractFilePath(pathname);
141
158
 
142
159
  // Few variations to grab the URL.
143
160
  // This can happen if a static file was open at file:// or https://
@@ -145,6 +162,19 @@ function maybeGetVirtualFile(
145
162
  files[url] ||
146
163
  files[withoutLeadingDot(url)] ||
147
164
  files[pathname] ||
148
- files[withoutLeadingDot(pathname)]
165
+ files[withoutLeadingDot(pathname)] ||
166
+ (filePathFromUrl && files[filePathFromUrl]) ||
167
+ (filePathFromPathname && files[filePathFromPathname])
149
168
  );
150
169
  }
170
+
171
+ /**
172
+ * Extract the /@file/... path from a URL string
173
+ */
174
+ function extractFilePath(url: string): string | null {
175
+ const indexOfFile = url.indexOf("/@file/");
176
+ if (indexOfFile !== -1) {
177
+ return url.slice(indexOfFile);
178
+ }
179
+ return null;
180
+ }
@@ -541,7 +541,7 @@ export class PyodideBridge implements RunRequests, EditRequests {
541
541
 
542
542
  sendModelValue: RunRequests["sendModelValue"] = async (request) => {
543
543
  await this.putControlRequest({
544
- type: "update-widget-model",
544
+ type: "model",
545
545
  ...request,
546
546
  });
547
547
  return null;
@@ -11,7 +11,6 @@ import { useConnectionTransport } from "@/core/websocket/useWebSocket";
11
11
  import { renderHTML } from "@/plugins/core/RenderHTML";
12
12
  import {
13
13
  handleWidgetMessage,
14
- isMessageWidgetState,
15
14
  MODEL_MANAGER,
16
15
  } from "@/plugins/impl/anywidget/model";
17
16
  import { logNever } from "@/utils/assertNever";
@@ -141,31 +140,22 @@ export function useMarimoKernelConnection(opts: {
141
140
  return;
142
141
 
143
142
  case "send-ui-element-message": {
144
- const modelId = msg.data.model_id;
145
143
  const uiElement = msg.data.ui_element;
146
- const message = msg.data.message;
147
- const buffers = safeExtractSetUIElementMessageBuffers(msg.data);
148
-
149
- if (modelId && isMessageWidgetState(message)) {
150
- handleWidgetMessage({
151
- modelId,
152
- msg: message,
153
- buffers,
154
- modelManager: MODEL_MANAGER,
155
- });
156
- }
157
-
158
144
  if (uiElement) {
145
+ const buffers = safeExtractSetUIElementMessageBuffers(msg.data);
159
146
  UI_ELEMENT_REGISTRY.broadcastMessage(
160
147
  uiElement as UIElementId,
161
148
  msg.data.message,
162
149
  buffers,
163
150
  );
164
151
  }
165
-
166
152
  return;
167
153
  }
168
154
 
155
+ case "model-lifecycle":
156
+ handleWidgetMessage(MODEL_MANAGER, msg.data);
157
+ return;
158
+
169
159
  case "remove-ui-elements":
170
160
  handleRemoveUIElements(msg.data);
171
161
  return;
@@ -101,10 +101,17 @@ function PluginSlotInternal<T>(
101
101
  return plugin.validator.safeParse(parseDataset(hostElement));
102
102
  });
103
103
 
104
+ // Incremented on each reset to invalidate memoized function references.
105
+ // This ensures that plugin functions (e.g., search) are re-created when
106
+ // the underlying UI element instance changes (new object-id), even if
107
+ // the element's data attributes haven't changed.
108
+ const [resetNonce, setResetNonce] = useState(0);
109
+
104
110
  useImperativeHandle(ref, () => ({
105
111
  reset: () => {
106
112
  setValue(getInitialValue());
107
113
  setParsedResult(plugin.validator.safeParse(parseDataset(hostElement)));
114
+ setResetNonce((n) => n + 1);
108
115
  },
109
116
  setChildren: (children) => {
110
117
  setChildNodes(children);
@@ -224,7 +231,8 @@ function PluginSlotInternal<T>(
224
231
  }
225
232
 
226
233
  return methods;
227
- }, [plugin.functions, hostElement]);
234
+ // eslint-disable-next-line react-hooks/exhaustive-deps
235
+ }, [plugin.functions, hostElement, resetNonce]);
228
236
 
229
237
  // If we failed to parse the initial value, render an error
230
238
  if (!parsedResult.success) {
@@ -0,0 +1,164 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { TooltipProvider } from "@radix-ui/react-tooltip";
4
+ import { act, render, screen, waitFor } from "@testing-library/react";
5
+ import { Provider } from "jotai";
6
+ import { beforeAll, describe, expect, it, vi } from "vitest";
7
+ import type { DownloadAsArgs } from "@/components/data-table/schemas";
8
+ import type { FieldTypesWithExternalType } from "@/components/data-table/types";
9
+ import { store } from "@/core/state/jotai";
10
+ import {
11
+ type GetDataUrl,
12
+ type GetRowIds,
13
+ LoadingDataTableComponent,
14
+ } from "../DataTablePlugin";
15
+
16
+ beforeAll(() => {
17
+ global.ResizeObserver = class ResizeObserver {
18
+ observe() {
19
+ // do nothing
20
+ }
21
+ unobserve() {
22
+ // do nothing
23
+ }
24
+ disconnect() {
25
+ // do nothing
26
+ }
27
+ };
28
+ });
29
+
30
+ describe("LoadingDataTableComponent", () => {
31
+ /**
32
+ * Regression test for https://github.com/marimo-team/marimo/issues/8023
33
+ *
34
+ * When a table is replaced via mo.output.replace() with updated data,
35
+ * but the initial page data (unsorted first page) hasn't changed,
36
+ * the useAsyncData hook's deps may all remain the same.
37
+ * Previously, the `search` function reference was memoized on
38
+ * [plugin.functions, hostElement] and wouldn't change on reset(),
39
+ * so the useAsyncData effect wouldn't re-fire.
40
+ *
41
+ * The fix adds a resetNonce to the functionMethods memo deps,
42
+ * so when the plugin is reset (table instance changes), the search
43
+ * function reference changes, triggering useAsyncData to re-fetch.
44
+ *
45
+ * This test verifies that when the search function reference changes
46
+ * (simulating reset()), the component re-fetches data even if
47
+ * props.data hasn't changed.
48
+ */
49
+ it("should refetch data when search function reference changes", async () => {
50
+ const host = document.createElement("div");
51
+ const setValue = vi.fn();
52
+
53
+ // The initial page data string - identical for both renders.
54
+ // This simulates the case where only a row on page 2 changed,
55
+ // so the first page data is the same.
56
+ const initialPageData = JSON.stringify([
57
+ { id: 1, status: "pending", value: 10 },
58
+ { id: 2, status: "pending", value: 20 },
59
+ { id: 3, status: "pending", value: 30 },
60
+ ]);
61
+
62
+ const searchResult = {
63
+ data: [
64
+ { id: 1, status: "pending", value: 10 },
65
+ { id: 2, status: "pending", value: 20 },
66
+ { id: 3, status: "pending", value: 30 },
67
+ ],
68
+ total_rows: 4,
69
+ cell_styles: null,
70
+ cell_hover_texts: null,
71
+ };
72
+
73
+ const searchFn1 = vi.fn().mockResolvedValue(searchResult);
74
+ const searchFn2 = vi.fn().mockResolvedValue(searchResult);
75
+
76
+ const fieldTypes: FieldTypesWithExternalType = [
77
+ ["id", ["integer", "integer"]],
78
+ ["status", ["string", "string"]],
79
+ ["value", ["integer", "integer"]],
80
+ ];
81
+
82
+ const commonProps = {
83
+ label: null,
84
+ totalRows: 4,
85
+ pagination: true,
86
+ pageSize: 3,
87
+ selection: "single" as const,
88
+ showDownload: false,
89
+ showFilters: false,
90
+ showColumnSummaries: false as const,
91
+ showDataTypes: false,
92
+ showPageSizeSelector: false,
93
+ showColumnExplorer: false,
94
+ showRowExplorer: false,
95
+ showChartBuilder: false,
96
+ rowHeaders: [] as FieldTypesWithExternalType,
97
+ fieldTypes,
98
+ totalColumns: 3,
99
+ maxColumns: "all" as const,
100
+ hasStableRowId: false,
101
+ lazy: false,
102
+ host,
103
+ enableSearch: true,
104
+ value: [] as (number | string | { rowId: string; columnName?: string })[],
105
+ setValue,
106
+ download_as: vi.fn() as DownloadAsArgs,
107
+ get_column_summaries: vi.fn().mockResolvedValue({
108
+ data: null,
109
+ stats: {},
110
+ bin_values: {},
111
+ value_counts: {},
112
+ show_charts: false,
113
+ }),
114
+ get_data_url: vi.fn() as GetDataUrl,
115
+ get_row_ids: vi.fn() as GetRowIds,
116
+ };
117
+
118
+ const Wrapper = ({ children }: { children: React.ReactNode }) => (
119
+ <Provider store={store}>
120
+ <TooltipProvider>{children}</TooltipProvider>
121
+ </Provider>
122
+ );
123
+
124
+ // Render with first search function
125
+ const { rerender } = render(
126
+ <Wrapper>
127
+ <LoadingDataTableComponent
128
+ {...commonProps}
129
+ data={initialPageData}
130
+ search={searchFn1}
131
+ />
132
+ </Wrapper>,
133
+ );
134
+
135
+ // Wait for the table to render with data
136
+ await waitFor(() => {
137
+ expect(screen.getAllByRole("row").length).toBeGreaterThan(1);
138
+ });
139
+
140
+ // Search was called on initial load (fire-and-forget for canShowInitialPage)
141
+ expect(searchFn1).toHaveBeenCalled();
142
+
143
+ // Now rerender with the same data but a NEW search function reference.
144
+ // This simulates what happens after reset() when resetNonce increments
145
+ // and functionMethods is recreated.
146
+ await act(async () => {
147
+ rerender(
148
+ <Wrapper>
149
+ <LoadingDataTableComponent
150
+ {...commonProps}
151
+ data={initialPageData}
152
+ search={searchFn2}
153
+ />
154
+ </Wrapper>,
155
+ );
156
+ });
157
+
158
+ // The new search function should be called because the search
159
+ // dependency changed in useAsyncData.
160
+ await waitFor(() => {
161
+ expect(searchFn2).toHaveBeenCalled();
162
+ });
163
+ });
164
+ });
@@ -1,99 +1,58 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
- import type { AnyWidget, Experimental } from "@anywidget/types";
5
- import { isEqual } from "lodash-es";
6
- import { useEffect, useMemo, useRef } from "react";
7
- import useEvent from "react-use-event-hook";
4
+ import type { AnyWidget } from "@anywidget/types";
5
+ import { useEffect, useRef } from "react";
8
6
  import { z } from "zod";
9
- import { MarimoIncomingMessageEvent } from "@/core/dom/events";
10
7
  import { asRemoteURL } from "@/core/runtime/config";
8
+ import { resolveVirtualFileURL } from "@/core/static/files";
9
+ import { isStaticNotebook } from "@/core/static/static-state";
11
10
  import { useAsyncData } from "@/hooks/useAsyncData";
12
- import { useDeepCompareMemoize } from "@/hooks/useDeepCompareMemoize";
13
- import {
14
- type HTMLElementNotDerivedFromRef,
15
- useEventListener,
16
- } from "@/hooks/useEventListener";
11
+ import type { HTMLElementNotDerivedFromRef } from "@/hooks/useEventListener";
17
12
  import { createPlugin } from "@/plugins/core/builder";
18
- import { rpc } from "@/plugins/core/rpc";
19
13
  import type { IPluginProps } from "@/plugins/types";
20
- import {
21
- decodeFromWire,
22
- isWireFormat,
23
- serializeBuffersToBase64,
24
- type WireFormat,
25
- } from "@/utils/data-views";
26
14
  import { prettyError } from "@/utils/errors";
27
- import type { Base64String } from "@/utils/json/base64";
28
15
  import { Logger } from "@/utils/Logger";
29
16
  import { ErrorBanner } from "../common/error-banner";
30
- import { MODEL_MANAGER, Model } from "./model";
17
+ import { getMarimoInternal, MODEL_MANAGER, type Model } from "./model";
18
+ import type { ModelState, WidgetModelId } from "./types";
31
19
 
20
+ /**
21
+ * AnyWidget asset data
22
+ */
32
23
  interface Data {
33
24
  jsUrl: string;
34
25
  jsHash: string;
35
26
  css?: string | null;
36
27
  }
37
28
 
38
- type T = Record<string, unknown>;
39
-
40
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
41
- type PluginFunctions = {
42
- send_to_widget: <T>(req: {
43
- content: unknown;
44
- buffers: Base64String[];
45
- }) => Promise<null | undefined>;
46
- };
29
+ type AnyWidgetState = ModelState;
47
30
 
48
- export const AnyWidgetPlugin = createPlugin<WireFormat<T>>("marimo-anywidget")
49
- .withData(
50
- z.object({
51
- jsUrl: z.string(),
52
- jsHash: z.string(),
53
- css: z.string().nullish(),
54
- }),
55
- )
56
- .withFunctions<PluginFunctions>({
57
- send_to_widget: rpc
58
- .input(
59
- z.object({
60
- content: z.unknown(),
61
- buffers: z.array(z.string().transform((v) => v as Base64String)),
62
- }),
63
- )
64
- .output(z.null().optional()),
65
- })
66
- .renderer((props) => <AnyWidgetSlot {...props} />);
67
-
68
- const AnyWidgetSlot = (
69
- props: IPluginProps<WireFormat<T>, Data, PluginFunctions>,
70
- ) => {
71
- const { css, jsUrl, jsHash } = props.data;
31
+ /**
32
+ * Initial value is a model_id reference.
33
+ * The backend sends just { model_id: string } and the frontend
34
+ * retrieves the actual state from the 'open' message.
35
+ */
36
+ interface ModelIdRef {
37
+ model_id: WidgetModelId;
38
+ }
72
39
 
73
- // Decode wire format { state, bufferPaths, buffers } to state with DataViews
74
- const valueWithBuffers = useMemo(() => {
75
- if (isWireFormat(props.value)) {
76
- const decoded = decodeFromWire(props.value);
77
- Logger.debug("AnyWidget decoded wire format:", {
78
- bufferPaths: props.value.bufferPaths,
79
- buffersCount: props.value.buffers?.length,
80
- decodedKeys: Object.keys(decoded),
81
- });
82
- return decoded;
83
- }
84
- Logger.warn("AnyWidget value is not wire format:", props.value);
85
- return props.value;
86
- }, [props.value]);
40
+ export function useAnyWidgetModule(opts: { jsUrl: string; jsHash: string }) {
41
+ const { jsUrl, jsHash } = opts;
87
42
 
88
43
  // JS is an ESM file with a render function on it
89
44
  // export function render({ model, el }) {
90
45
  // ...
91
46
  const {
92
- data: module,
47
+ data: jsModule,
93
48
  error,
94
49
  refetch,
95
50
  } = useAsyncData(async () => {
96
- const url = asRemoteURL(jsUrl).toString();
51
+ let url = asRemoteURL(jsUrl).toString();
52
+ // In static notebooks, resolve virtual files to blob URLs for import()
53
+ if (isStaticNotebook()) {
54
+ url = resolveVirtualFileURL(url);
55
+ }
97
56
  return await import(/* @vite-ignore */ url);
98
57
  // Re-render on jsHash change (which is a hash of the contents of the file)
99
58
  // instead of a jsUrl change because URLs may change without the contents
@@ -111,9 +70,16 @@ const AnyWidgetSlot = (
111
70
  }
112
71
  }, [hasError, jsUrl]);
113
72
 
73
+ return {
74
+ jsModule,
75
+ error,
76
+ };
77
+ }
78
+
79
+ export function useMountCss(css: string | null | undefined, host: HTMLElement) {
114
80
  // Mount the CSS
115
81
  useEffect(() => {
116
- const shadowRoot = props.host.shadowRoot;
82
+ const shadowRoot = host.shadowRoot;
117
83
  if (!css || !shadowRoot) {
118
84
  return;
119
85
  }
@@ -150,23 +116,38 @@ const AnyWidgetSlot = (
150
116
  return () => {
151
117
  style.remove();
152
118
  };
153
- }, [css, props.host]);
119
+ }, [css, host]);
120
+ }
154
121
 
155
- // Wrap setValue to serialize DataViews back to base64 before sending
156
- // Structure matches ipywidgets protocol: { state, bufferPaths, buffers }
157
- const wrappedSetValue = useEvent((partialValue: Partial<T>) =>
158
- props.setValue(serializeBuffersToBase64(partialValue)),
159
- );
122
+ export const AnyWidgetPlugin = createPlugin<ModelIdRef>("marimo-anywidget")
123
+ .withData(
124
+ z.object({
125
+ jsUrl: z.string(),
126
+ jsHash: z.string(),
127
+ css: z.string().nullish(),
128
+ }),
129
+ )
130
+ .withFunctions({})
131
+ .renderer((props) => <AnyWidgetSlot {...props} />);
132
+
133
+ const AnyWidgetSlot = (props: IPluginProps<ModelIdRef, Data>) => {
134
+ const { css, jsUrl, jsHash } = props.data;
135
+ const { model_id: modelId } = props.value;
136
+ const host = props.host as HTMLElementNotDerivedFromRef;
137
+
138
+ const { jsModule, error } = useAnyWidgetModule({ jsUrl, jsHash });
139
+
140
+ useMountCss(css, host);
160
141
 
161
142
  if (error) {
162
143
  return <ErrorBanner error={error} />;
163
144
  }
164
145
 
165
- if (!module) {
146
+ if (!jsModule) {
166
147
  return null;
167
148
  }
168
149
 
169
- if (!isAnyWidgetModule(module)) {
150
+ if (!isAnyWidgetModule(jsModule)) {
170
151
  const error = new Error(
171
152
  `Module at ${jsUrl} does not appear to be a valid anywidget`,
172
153
  );
@@ -183,10 +164,8 @@ const AnyWidgetSlot = (
183
164
  // Plugins may be stateful and we cannot make assumptions that we won't be
184
165
  // so it is safer to just re-render.
185
166
  key={key}
186
- {...props}
187
- widget={module.default}
188
- setValue={wrappedSetValue}
189
- value={valueWithBuffers}
167
+ widget={jsModule.default}
168
+ modelId={modelId}
190
169
  />
191
170
  );
192
171
  };
@@ -194,125 +173,72 @@ const AnyWidgetSlot = (
194
173
  /**
195
174
  * Run the anywidget module
196
175
  *
197
- * @param widgetDef - The anywidget definition
198
- * @param model - The model to pass to the widget
176
+ * Per AFM spec (anywidget.dev/en/afm):
177
+ * - initialize() is called once per model lifetime
178
+ * - render() is called once per view (can be multiple per model)
199
179
  */
200
- async function runAnyWidgetModule(
201
- widgetDef: AnyWidget,
180
+ async function runAnyWidgetModule<T extends AnyWidgetState>(
181
+ widgetDef: AnyWidget<T>,
202
182
  model: Model<T>,
203
183
  el: HTMLElement,
204
- ): Promise<() => void> {
205
- const experimental: Experimental = {
206
- invoke: async (_name, _msg, _options) => {
207
- const message =
208
- "anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";
209
- Logger.warn(message);
210
- throw new Error(message);
211
- },
212
- };
184
+ signal: AbortSignal,
185
+ ): Promise<void> {
213
186
  // Clear the element, in case the widget is re-rendering
214
187
  el.innerHTML = "";
215
- const widget =
216
- typeof widgetDef === "function" ? await widgetDef() : widgetDef;
217
- await widget.initialize?.({ model, experimental });
188
+
218
189
  try {
219
- const unsub = await widget.render?.({ model, el, experimental });
220
- return () => {
221
- unsub?.();
222
- };
190
+ const render = await getMarimoInternal(model).resolveWidget(widgetDef);
191
+ await render(el, signal);
223
192
  } catch (error) {
224
193
  Logger.error("Error rendering anywidget", error);
225
194
  el.classList.add("text-error");
226
195
  el.innerHTML = `Error rendering anywidget: ${prettyError(error)}`;
227
- return () => {
228
- // No-op
229
- };
230
196
  }
231
197
  }
232
198
 
233
199
  function isAnyWidgetModule(mod: any): mod is { default: AnyWidget } {
234
- return (
235
- mod.default &&
236
- (typeof mod.default === "function" ||
237
- mod.default?.render ||
238
- mod.default?.initialize)
239
- );
240
- }
241
-
242
- export function getDirtyFields(value: T, initialValue: T): Set<keyof T> {
243
- return new Set(
244
- Object.keys(value).filter((key) => !isEqual(value[key], initialValue[key])),
245
- );
246
- }
200
+ if (!mod.default) {
201
+ return false;
202
+ }
247
203
 
248
- function hasModelId(message: unknown): message is { model_id: string } {
249
204
  return (
250
- typeof message === "object" && message !== null && "model_id" in message
205
+ typeof mod.default === "function" ||
206
+ typeof mod.default?.render === "function" ||
207
+ typeof mod.default?.initialize === "function"
251
208
  );
252
209
  }
253
210
 
254
- interface Props
255
- extends Omit<IPluginProps<T, Data, PluginFunctions>, "setValue"> {
256
- widget: AnyWidget;
257
- value: T;
258
- setValue: (value: Partial<T>) => void;
211
+ interface Props<T extends AnyWidgetState> {
212
+ widget: AnyWidget<T>;
213
+ modelId: WidgetModelId;
259
214
  }
260
215
 
261
- const LoadedSlot = ({
262
- value,
263
- setValue,
216
+ const LoadedSlot = <T extends AnyWidgetState>({
264
217
  widget,
265
- functions,
266
- data,
267
- host,
268
- }: Props & { widget: AnyWidget }) => {
218
+ modelId,
219
+ }: Props<T> & { widget: AnyWidget<T> }) => {
269
220
  const htmlRef = useRef<HTMLDivElement>(null);
270
221
 
271
- // value is already decoded from wire format
272
- const model = useRef<Model<T>>(
273
- new Model(value, setValue, functions.send_to_widget, new Set()),
274
- );
222
+ // value is already decoded from wire format, may be null if waiting for open message
223
+ const model = MODEL_MANAGER.getSync(modelId);
275
224
 
276
- // Listen to incoming messages
277
- useEventListener(
278
- host as HTMLElementNotDerivedFromRef,
279
- MarimoIncomingMessageEvent.TYPE,
280
- (e) => {
281
- const message = e.detail.message;
282
- if (hasModelId(message)) {
283
- MODEL_MANAGER.get(message.model_id).then((model) => {
284
- model.receiveCustomMessage(message, e.detail.buffers);
285
- });
286
- } else {
287
- model.current.receiveCustomMessage(message, e.detail.buffers);
288
- }
289
- },
290
- );
225
+ if (!model) {
226
+ Logger.error("Model not found for modelId", modelId);
227
+ }
291
228
 
292
229
  useEffect(() => {
293
- if (!htmlRef.current) {
230
+ if (!htmlRef.current || !model) {
294
231
  return;
295
232
  }
296
- const unsubPromise = runAnyWidgetModule(
297
- widget,
298
- model.current,
299
- htmlRef.current,
300
- );
301
- return () => {
302
- unsubPromise.then((unsub) => unsub());
303
- };
304
- // We re-run the widget when the jsUrl changes, which means the cell
233
+ const controller = new AbortController();
234
+ runAnyWidgetModule(widget, model, htmlRef.current, controller.signal);
235
+ return () => controller.abort();
236
+ // We re-run the widget when the modelId changes, which means the cell
305
237
  // that created the Widget has been re-run.
306
238
  // We need to re-run the widget because it may contain initialization code
307
239
  // that could be reset by the new widget.
308
240
  // See example: https://github.com/marimo-team/marimo/issues/3962#issuecomment-2703184123
309
- }, [widget, data.jsUrl]);
310
-
311
- // When the value changes, update the model
312
- const valueMemo = useDeepCompareMemoize(value);
313
- useEffect(() => {
314
- model.current.updateAndEmitDiffs(valueMemo);
315
- }, [valueMemo]);
241
+ }, [widget, modelId, model]);
316
242
 
317
243
  return <div ref={htmlRef} />;
318
244
  };
@@ -321,5 +247,4 @@ export const visibleForTesting = {
321
247
  LoadedSlot,
322
248
  runAnyWidgetModule,
323
249
  isAnyWidgetModule,
324
- getDirtyFields,
325
250
  };