@marimo-team/frontend 0.21.2-dev8 → 0.21.2-dev81

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 (1012) hide show
  1. package/dist/assets/CellStatus-Z02WbA1T.js +1 -0
  2. package/dist/assets/ConnectedDataExplorerComponent-BUeDbkXy.js +1 -0
  3. package/dist/assets/DeferredRequestRegistry-D1ivqOZL.js +1 -0
  4. package/dist/assets/FiraMono-Bold-C6PDArdf.woff2 +0 -0
  5. package/dist/assets/FiraMono-Medium-D5MAsWEG.woff2 +0 -0
  6. package/dist/assets/FiraMono-Regular-CEsLFVD9.woff2 +0 -0
  7. package/dist/assets/ImperativeModal-DyRrGcKH.js +1 -0
  8. package/dist/assets/JsonOutput-B_6OsFJA.js +49 -0
  9. package/dist/assets/LazyAnyLanguageCodeMirror-BTEcIffn.js +2 -0
  10. package/dist/assets/Lora-VariableFont_wght-CZceb_kH.woff2 +0 -0
  11. package/dist/assets/MarimoErrorOutput-DdkdcLO-.js +7 -0
  12. package/dist/assets/PTSans-Bold-C_DwAp7Z.woff2 +0 -0
  13. package/dist/assets/PTSans-Regular-Bam3NpBI.woff2 +0 -0
  14. package/dist/assets/RenderHTML-D45p-tLD.js +1 -0
  15. package/dist/assets/SelectionIndicator-D_CR8qDb.js +1 -0
  16. package/dist/assets/VisuallyHidden-ClKJEaNK.js +1 -0
  17. package/dist/assets/add-cell-with-ai-C75dyXgo.js +92 -0
  18. package/dist/assets/add-connection-dialog-DYxOBpNi.js +167 -0
  19. package/dist/assets/agent-panel-m4AKS7Ut.js +287 -0
  20. package/dist/assets/ai-model-dropdown-Cl-qIUat.js +5 -0
  21. package/dist/assets/alert-dialog-BfHy00ko.js +11 -0
  22. package/dist/assets/any-language-editor-DVOJvjS_.js +1 -0
  23. package/dist/assets/apl-EWXxdJ89.js +1 -0
  24. package/dist/assets/app-config-button-I77XP0Ly.js +1 -0
  25. package/dist/assets/arc-CM3JIGAK.js +1 -0
  26. package/dist/assets/architecture-7HQA4BMR-CjBWfzkw.js +1 -0
  27. package/dist/assets/architectureDiagram-VXUJARFQ-Bj7Il1tu.js +36 -0
  28. package/dist/assets/asciiarmor-DSR32lM3.js +1 -0
  29. package/dist/assets/asn1-CzLTElTA.js +1 -0
  30. package/dist/assets/azure-BMhMRXAG.js +1 -0
  31. package/dist/assets/blockDiagram-VD42YOAC-oQ23Vi0_.js +122 -0
  32. package/dist/assets/brainfuck-C9KAsPxY.js +1 -0
  33. package/dist/assets/c4Diagram-YG6GDRKO-BmG_s0MV.js +10 -0
  34. package/dist/assets/cache-panel-CcvLLOUr.js +1 -0
  35. package/dist/assets/cell-editor-DtVIjrkw.js +22 -0
  36. package/dist/assets/cell-link-Bdbjts-L.js +1 -0
  37. package/dist/assets/cells-Ir3O9-uE.js +230 -0
  38. package/dist/assets/channel-Ce6sVGv4.js +1 -0
  39. package/dist/assets/chat-display-TEJB6Bj2.js +1 -0
  40. package/dist/assets/chat-panel-CEqzWKcu.js +3 -0
  41. package/dist/assets/chat-ui-B2Je9YxV.js +4 -0
  42. package/dist/assets/chunk-4BX2VUAB-B189RnQe.js +1 -0
  43. package/dist/assets/chunk-55IACEB6-BKJUfbeh.js +1 -0
  44. package/dist/assets/chunk-5FQGJX7Z-KaqPPQRg.js +113 -0
  45. package/dist/assets/chunk-ABZYJK2D-B25ZPF-K.js +80 -0
  46. package/dist/assets/chunk-ATLVNIR6-B45gjfoT.js +1 -0
  47. package/dist/assets/chunk-B4BG7PRW-uViI8VWN.js +165 -0
  48. package/dist/assets/chunk-CVBHYZKI-DDPYtx7T.js +1 -0
  49. package/dist/assets/chunk-DI55MBZ5-DLM1fyq0.js +220 -0
  50. package/dist/assets/chunk-EXTU4WIE-se83eFLa.js +1 -0
  51. package/dist/assets/chunk-FMBD7UC4-DVUAz4cp.js +15 -0
  52. package/dist/assets/chunk-HN2XXSSU-Bm9ByQAV.js +1 -0
  53. package/dist/assets/chunk-JA3XYJ7Z-Bf9EPUd3.js +70 -0
  54. package/dist/assets/chunk-JZLCHNYA-CgH-oTl4.js +54 -0
  55. package/dist/assets/chunk-MI3HLSF2-BjSxv-Tb.js +32 -0
  56. package/dist/assets/chunk-N4CR4FBY-DggtmLIl.js +2 -0
  57. package/dist/assets/chunk-QN33PNHL-BieKJXyS.js +1 -0
  58. package/dist/assets/chunk-QXUST7PY-8icnqUGK.js +7 -0
  59. package/dist/assets/chunk-QZHKN3VN-CETeUy72.js +1 -0
  60. package/dist/assets/chunk-S3R3BYOJ-Czh1h7v6.js +2 -0
  61. package/dist/assets/chunk-TZMSLE5B-jYelYMXU.js +1 -0
  62. package/dist/assets/classDiagram-2ON5EDUG-hMIK1Zdj.js +1 -0
  63. package/dist/assets/classDiagram-v2-WZHVMYZB-CoXOcl4J.js +1 -0
  64. package/dist/assets/clike-OJZcTpQL.js +1 -0
  65. package/dist/assets/clojure-DQhuUUMF.js +1 -0
  66. package/dist/assets/cmake-CH_Sxc86.js +1 -0
  67. package/dist/assets/cobol-CUc3YqiS.js +1 -0
  68. package/dist/assets/code-block-37QAKDTI-OmWrUFvA.js +2 -0
  69. package/dist/assets/coffeescript-jkPo-KDH.js +1 -0
  70. package/dist/assets/column-preview-CKGwj-13.js +1 -0
  71. package/dist/assets/command-DccONw-I.js +1 -0
  72. package/dist/assets/command-palette-GUlU_ueE.js +1 -0
  73. package/dist/assets/common-CMtjYJGh.js +1 -0
  74. package/dist/assets/commonlisp-Da0K5kk2.js +1 -0
  75. package/dist/assets/components-C5OBEN0S.js +1 -0
  76. package/dist/assets/components-CI_j--E2.js +1 -0
  77. package/dist/assets/config-DRN1Q5Ol.js +1 -0
  78. package/dist/assets/context-BPhh8SWw.js +1 -0
  79. package/dist/assets/context-aware-panel-5JBNhrcL.js +3 -0
  80. package/dist/assets/copy-CIPmwSuj.js +1 -0
  81. package/dist/assets/copy-icon-BNQYrUYC.js +1 -0
  82. package/dist/assets/cose-bilkent-S5V4N54A-Bi0_d7cB.js +1 -0
  83. package/dist/assets/createReducer-Dvh64vBW.js +1 -0
  84. package/dist/assets/crystal-BNWfY9C_.js +1 -0
  85. package/dist/assets/css-Cupd7xng.js +1 -0
  86. package/dist/assets/cypher--c26tz0e.js +1 -0
  87. package/dist/assets/d-Byku2dmh.js +1 -0
  88. package/dist/assets/dagre-6UL2VRFP-Cj7QD8QV.js +4 -0
  89. package/dist/assets/data-grid-overlay-editor-CrDdi6s3.js +1 -0
  90. package/dist/assets/datasource-45Ftm7IO.js +3 -0
  91. package/dist/assets/dates-Bh1ltXGt.js +1 -0
  92. package/dist/assets/dependency-graph-panel-BzrngGy-.js +5 -0
  93. package/dist/assets/diagram-PSM6KHXK-f8hiJ27Z.js +24 -0
  94. package/dist/assets/diagram-QEK2KX5R-DhD0I0gb.js +43 -0
  95. package/dist/assets/diagram-S2PKOQOG-CMxSsKXF.js +24 -0
  96. package/dist/assets/dialog-Dr3dl0Mn.js +1 -0
  97. package/dist/assets/diff-a9CLcKdR.js +1 -0
  98. package/dist/assets/dist-030LgPdB.js +1 -0
  99. package/dist/assets/dist-1ZGGzJka.js +6 -0
  100. package/dist/assets/dist-BBGASQNR.js +1 -0
  101. package/dist/assets/dist-BKkfH6MG.js +1 -0
  102. package/dist/assets/dist-BRCCPMsT.js +1 -0
  103. package/dist/assets/dist-BZJrw9vI.js +1 -0
  104. package/dist/assets/dist-BrZ_53nc.js +1 -0
  105. package/dist/assets/dist-C8Dcw0WD.js +1 -0
  106. package/dist/assets/dist-C9G2F7Z1.js +1 -0
  107. package/dist/assets/dist-CFY2_7zu.js +1 -0
  108. package/dist/assets/dist-CGECLNMY.js +1 -0
  109. package/dist/assets/dist-CJ8RtgvK.js +1 -0
  110. package/dist/assets/dist-CKgHI4pK.js +1 -0
  111. package/dist/assets/dist-COABhHhr.js +1 -0
  112. package/dist/assets/dist-CRmIdrta.js +1 -0
  113. package/dist/assets/dist-Cp7t_Bws.js +1 -0
  114. package/dist/assets/dist-CueE_NHP.js +1 -0
  115. package/dist/assets/dist-CwjzLMbM.js +1 -0
  116. package/dist/assets/dist-DA4gn7fy.js +1 -0
  117. package/dist/assets/dist-DBBqNJ3C.js +1 -0
  118. package/dist/assets/dist-DROvTz9O.js +1 -0
  119. package/dist/assets/dist-DWBTB8aa.js +1 -0
  120. package/dist/assets/dist-DeX768Hg.js +1 -0
  121. package/dist/assets/dist-DrDZNjDr.js +1 -0
  122. package/dist/assets/dist-Hf_DuPpM.js +7 -0
  123. package/dist/assets/dist-JipYR0-e.js +1 -0
  124. package/dist/assets/dist-LxLdJkvD.js +1 -0
  125. package/dist/assets/dist-VjWmUZA0.js +1 -0
  126. package/dist/assets/dist-X-byYzEZ.js +1 -0
  127. package/dist/assets/dist-Xnna0a3m.js +1 -0
  128. package/dist/assets/dist-y02bFELW.js +1 -0
  129. package/dist/assets/dockerfile-Cgz0GlPW.js +1 -0
  130. package/dist/assets/documentation-panel-Dk7WIBXq.js +1 -0
  131. package/dist/assets/download-C2P9kUtq.js +9 -0
  132. package/dist/assets/dropdown-menu-CA9akLlF.js +1 -0
  133. package/dist/assets/dtd-CmqpGLbC.js +1 -0
  134. package/dist/assets/dylan-Cihtx9iT.js +1 -0
  135. package/dist/assets/ecl-CZoQOU3U.js +1 -0
  136. package/dist/assets/edit-page-DM9TLp3a.js +13 -0
  137. package/dist/assets/eiffel-Br4OQEbu.js +1 -0
  138. package/dist/assets/elm-BPOnYPcO.js +1 -0
  139. package/dist/assets/en-US-Ddw-8dRD.js +1 -0
  140. package/dist/assets/erDiagram-Q2GNP2WA-BZbca8vs.js +60 -0
  141. package/dist/assets/erlang-DuwMV84m.js +1 -0
  142. package/dist/assets/error-banner-D6woGaqN.js +1 -0
  143. package/dist/assets/error-panel-BPQJzaxq.js +1 -0
  144. package/dist/assets/es-BJ4lyGGc.js +5 -0
  145. package/dist/assets/esm-BMWduMhT.js +1 -0
  146. package/dist/assets/esm-BjKAkBIt.js +1 -0
  147. package/dist/assets/events-GxnDgt0p.js +1 -0
  148. package/dist/assets/factor-6YAhArFy.js +1 -0
  149. package/dist/assets/factor-ByjtQqb6.js +1 -0
  150. package/dist/assets/field-BEG4O-GE.js +1 -0
  151. package/dist/assets/file-explorer-panel-D1CcjPTn.js +26 -0
  152. package/dist/assets/file-icons-B3ygedtV.js +1 -0
  153. package/dist/assets/fileToBase64-RxOnBG54.js +1 -0
  154. package/dist/assets/floating-outline-CdIFyGKb.js +1 -0
  155. package/dist/assets/flowDiagram-NV44I4VS-ffFKaqut.js +162 -0
  156. package/dist/assets/focus-DXqWRa5J.js +1 -0
  157. package/dist/assets/form-DIlikbTP.js +2 -0
  158. package/dist/assets/formats-DodKD-bh.js +1 -0
  159. package/dist/assets/formatting-8sgDjIAp.js +1 -0
  160. package/dist/assets/forth-2Nj_EUdH.js +1 -0
  161. package/dist/assets/fortran-CCKPCngf.js +1 -0
  162. package/dist/assets/gallery-page-C-cbnxxr.js +1 -0
  163. package/dist/assets/ganttDiagram-JELNMOA3-fI3e8q9G.js +267 -0
  164. package/dist/assets/gas-DQfJyQA6.js +1 -0
  165. package/dist/assets/gherkin-CtG4Rl1f.js +1 -0
  166. package/dist/assets/gitGraph-G5XIXVHT-Dr_vttV5.js +1 -0
  167. package/dist/assets/gitGraphDiagram-V2S2FVAM-B9zkU5OL.js +65 -0
  168. package/dist/assets/glide-data-editor-BUABnEhp.js +132 -0
  169. package/dist/assets/globals-DuAfXgSM.js +1 -0
  170. package/dist/assets/groovy-DmN1hhD-.js +1 -0
  171. package/dist/assets/haskell-Bv99dcka.js +1 -0
  172. package/dist/assets/haxe-C4SwAtv2.js +1 -0
  173. package/dist/assets/home-page-CGDApVqX.js +4 -0
  174. package/dist/assets/hooks-m-Uf6FNW.js +1 -0
  175. package/dist/assets/html-to-image-B1AmbwBb.js +2 -0
  176. package/dist/assets/idl-Cip3qUaw.js +1 -0
  177. package/dist/assets/index-BFrVG1np.js +35 -0
  178. package/dist/assets/index-UqHb3j3u.css +2 -0
  179. package/dist/assets/info-VBDWY6EO-_MKnIvva.js +1 -0
  180. package/dist/assets/infoDiagram-HS3SLOUP-DcmWVuHy.js +2 -0
  181. package/dist/assets/input-6cciao_l.js +1 -0
  182. package/dist/assets/isValid-Bp40niVP.js +1 -0
  183. package/dist/assets/javascript-D01OZFLf.js +1 -0
  184. package/dist/assets/journeyDiagram-XKPGCS4Q-Bi3SDkGt.js +139 -0
  185. package/dist/assets/julia-CdUg5Gin.js +1 -0
  186. package/dist/assets/kanban-definition-3W4ZIXB7-DHPI88SO.js +89 -0
  187. package/dist/assets/katex-CKMiPDPy.js +1 -0
  188. package/dist/assets/kiosk-mode-oJ3erP0b.js +1 -0
  189. package/dist/assets/label-KlZhD0Wz.js +1 -0
  190. package/dist/assets/layout-C2zfXBrd.js +5 -0
  191. package/dist/assets/line-BX1v8gkY.js +1 -0
  192. package/dist/assets/linear-_5G-OhLA.js +1 -0
  193. package/dist/assets/links-BwkQr4sn.js +1 -0
  194. package/dist/assets/livescript-CmA_pEQi.js +1 -0
  195. package/dist/assets/logs-panel-MKEh0IK-.js +1 -0
  196. package/dist/assets/loro_wasm_bg-C9dMIWjp.js +1 -0
  197. package/dist/assets/lua-BBGGibto.js +1 -0
  198. package/dist/assets/maps-DQ4X82OB.js +1 -0
  199. package/dist/assets/markdown-renderer-DpNwn0oX.js +5 -0
  200. package/dist/assets/mathematica-EVwiHsb7.js +1 -0
  201. package/dist/assets/mbox-f9FpJMps.js +1 -0
  202. package/dist/assets/menu-items-DkKu0R5b.js +1 -0
  203. package/dist/assets/mermaid-4DMBBIKO-CsD09XZ_.js +1 -0
  204. package/dist/assets/mermaid-BdekQaCQ.js +11 -0
  205. package/dist/assets/mermaid-parser.core-hTN4xwYK.js +4 -0
  206. package/dist/assets/message-circle-BaZF1NX9.js +1 -0
  207. package/dist/assets/mhchem-CgESkxWV.js +1 -0
  208. package/dist/assets/micromark-factory-space-4isUgE6w.js +1 -0
  209. package/dist/assets/mindmap-definition-VGOIOE7T-DEN1Ym_B.js +68 -0
  210. package/dist/assets/mirc-CKQuidRI.js +1 -0
  211. package/dist/assets/mllike-DSE7K0L_.js +1 -0
  212. package/dist/assets/modelica-BLWpmE6J.js +1 -0
  213. package/dist/assets/mscgen-DUGTvav7.js +1 -0
  214. package/dist/assets/multi-map-1zWiWMZF.js +1 -0
  215. package/dist/assets/mumps-De-aL68G.js +1 -0
  216. package/dist/assets/name-cell-input-BgKW-jS9.js +1 -0
  217. package/dist/assets/nsis-BKA2hITd.js +1 -0
  218. package/dist/assets/nsis-GZVZ8s9U.js +1 -0
  219. package/dist/assets/ntriples-8e_qYaH4.js +1 -0
  220. package/dist/assets/number-overlay-editor-CDWHq1mJ.js +9 -0
  221. package/dist/assets/octave-BV_-gmS1.js +1 -0
  222. package/dist/assets/ordinal-BL0TAfDQ.js +1 -0
  223. package/dist/assets/outline-panel-DeY7f680.js +1 -0
  224. package/dist/assets/oz-B0uIrvBT.js +1 -0
  225. package/dist/assets/packages-panel-DxfrOcti.js +1 -0
  226. package/dist/assets/packet-DYOGHKS2-Cr8AvEnH.js +1 -0
  227. package/dist/assets/panels-DW9-jKgb.js +1 -0
  228. package/dist/assets/pascal-P8oljycx.js +1 -0
  229. package/dist/assets/perl-C9B7mnkS.js +1 -0
  230. package/dist/assets/pie-VRWISCQL-18iiky4b.js +1 -0
  231. package/dist/assets/pieDiagram-ADFJNKIX-BY90tkn0.js +30 -0
  232. package/dist/assets/pig-CrydCWlQ.js +1 -0
  233. package/dist/assets/popover-C5P0DZBj.js +1 -0
  234. package/dist/assets/powershell-BNzz8aRp.js +1 -0
  235. package/dist/assets/precisionRound-CXIc8XqM.js +1 -0
  236. package/dist/assets/process-output-xgqvYbVu.js +1 -0
  237. package/dist/assets/properties-C81OZegg.js +1 -0
  238. package/dist/assets/protobuf-DXcVcUng.js +1 -0
  239. package/dist/assets/pug-Bc3B5zy9.js +1 -0
  240. package/dist/assets/pug-D2oI7kNu.js +1 -0
  241. package/dist/assets/puppet-DNlzsFMc.js +1 -0
  242. package/dist/assets/python-CdBemvol.js +1 -0
  243. package/dist/assets/q-CB51ViwQ.js +1 -0
  244. package/dist/assets/quadrantDiagram-AYHSOK5B-DscgxREu.js +7 -0
  245. package/dist/assets/r-lEjVwdCN.js +1 -0
  246. package/dist/assets/radar-ZZBFDIW7-DP-828em.js +1 -0
  247. package/dist/assets/react-icons.esm-BJVxNhcA.js +1 -0
  248. package/dist/assets/react-vega-CFucxlM_.js +190 -0
  249. package/dist/assets/react-vega-C_nbap4W.js +1 -0
  250. package/dist/assets/readonly-python-code-DJ37Vv8J.js +1 -0
  251. package/dist/assets/renderShortcut-BcNNtnIV.js +1 -0
  252. package/dist/assets/request-registry-5S3nI4D-.js +1 -0
  253. package/dist/assets/requirementDiagram-UZGBJVZJ-DuOL6ww3.js +64 -0
  254. package/dist/assets/rpm-DDM5IEHy.js +1 -0
  255. package/dist/assets/ruby-93dn3nLg.js +1 -0
  256. package/dist/assets/run-page-BEDqWbFX.js +1 -0
  257. package/dist/assets/runs-B_mJSod5.js +1 -0
  258. package/dist/assets/sankeyDiagram-TZEHDZUN-CrhC3Xh7.js +10 -0
  259. package/dist/assets/sas-CbG03D2N.js +1 -0
  260. package/dist/assets/scheme-B2cyUK_0.js +1 -0
  261. package/dist/assets/scratchpad-panel-Seg2akhp.js +1 -0
  262. package/dist/assets/secrets-panel-ByDa4skC.js +1 -0
  263. package/dist/assets/select-dNVaT2hT.js +1 -0
  264. package/dist/assets/sequenceDiagram-WL72ISMW-DNBtGacp.js +145 -0
  265. package/dist/assets/session-panel-BfBmOygH.js +1 -0
  266. package/dist/assets/share-BKUsoia0.js +1 -0
  267. package/dist/assets/shell-BUKevxDL.js +1 -0
  268. package/dist/assets/sieve-DBd5VCju.js +1 -0
  269. package/dist/assets/slides-component-Da4ws_2P.js +1 -0
  270. package/dist/assets/smalltalk-DEMxPY2H.js +1 -0
  271. package/dist/assets/snippets-panel-DFpwFaWJ.js +1 -0
  272. package/dist/assets/sparkles-DWCvxqYL.js +1 -0
  273. package/dist/assets/sparql-CuX1PPeN.js +1 -0
  274. package/dist/assets/spec-DbOXZaHd.js +1 -0
  275. package/dist/assets/src-BNdxo5s1.js +1 -0
  276. package/dist/assets/state-BIoNQTz5.js +1 -0
  277. package/dist/assets/state-Cobrzbya.js +1 -0
  278. package/dist/assets/state-DnmL6F-D.js +1 -0
  279. package/dist/assets/stateDiagram-FKZM4ZOC-Krq7gbW2.js +1 -0
  280. package/dist/assets/stateDiagram-v2-4FDKWEC3-Cw5LDI5M.js +1 -0
  281. package/dist/assets/step-OYH2hb7p.js +1 -0
  282. package/dist/assets/stex-pjf-hOob.js +1 -0
  283. package/dist/assets/stylus-aDxbv1u4.js +1 -0
  284. package/dist/assets/swift-OTokpssg.js +1 -0
  285. package/dist/assets/switch-B9gVGTJZ.js +1 -0
  286. package/dist/assets/tcl-DJhWqArt.js +1 -0
  287. package/dist/assets/terminal-Cdh7bzOl.js +62 -0
  288. package/dist/assets/textarea-jiqvHbIW.js +1 -0
  289. package/dist/assets/textile-DpS9C_zY.js +1 -0
  290. package/dist/assets/time-LzCXNX8h.js +1 -0
  291. package/dist/assets/timeline-definition-IT6M3QCI-DOl0hCPz.js +61 -0
  292. package/dist/assets/toggle-wwEdkCCQ.js +1 -0
  293. package/dist/assets/toml-kj-ibVms.js +1 -0
  294. package/dist/assets/tooltip-BCGmr4TU.js +1 -0
  295. package/dist/assets/tracing-4xyeRkef.js +1 -0
  296. package/dist/assets/tracing-panel-BDIuiiE0.js +2 -0
  297. package/dist/assets/tree-CG4dRTEj.js +3 -0
  298. package/dist/assets/treemap-GDKQZRPO-CWmDSzQU.js +1 -0
  299. package/dist/assets/troff-DLJL07gk.js +1 -0
  300. package/dist/assets/ttcn-cfg-DuCZQ2Km.js +1 -0
  301. package/dist/assets/ttcn-twc1Q5xq.js +1 -0
  302. package/dist/assets/turtle-BiLqIa2_.js +1 -0
  303. package/dist/assets/useAddCell-CcIU5IMe.js +1 -0
  304. package/dist/assets/useBoolean-0UVbgsxo.js +1 -0
  305. package/dist/assets/useCellActionButton-Dm7uUKBA.js +1 -0
  306. package/dist/assets/useDateFormatter-BOFB4HZc.js +1 -0
  307. package/dist/assets/useDeleteCell-D_w3puRP.js +1 -0
  308. package/dist/assets/useDependencyPanelTab-gBdSBaO_.js +1 -0
  309. package/dist/assets/useInstallPackage-DYIBbH-R.js +1 -0
  310. package/dist/assets/useNotebookActions-CBHB0ad_.js +1 -0
  311. package/dist/assets/useNumberFormatter-Da4iNOMq.js +1 -0
  312. package/dist/assets/usePress-_02M8YzR.js +7 -0
  313. package/dist/assets/useRunCells-rq1fmMiQ.js +1 -0
  314. package/dist/assets/useSplitCell-47X7VRZm.js +1 -0
  315. package/dist/assets/utils-BGl6s90X.js +61 -0
  316. package/dist/assets/vb-BYvNbVBU.js +1 -0
  317. package/dist/assets/vbscript-CE30tjpc.js +1 -0
  318. package/dist/assets/vega-component-C3vNdTdH.js +1 -0
  319. package/dist/assets/vega-loader.browser-W8QXhYr5.js +6 -0
  320. package/dist/assets/velocity-k2jshUC1.js +1 -0
  321. package/dist/assets/verilog-D-u-JakI.js +1 -0
  322. package/dist/assets/vhdl-CdNH8uWZ.js +1 -0
  323. package/dist/assets/webidl-CdMZNGiF.js +1 -0
  324. package/dist/assets/write-secret-modal-BlZo70J1.js +1 -0
  325. package/dist/assets/xquery-XKE48gN2.js +1 -0
  326. package/dist/assets/xychartDiagram-PRI3JC2R-sn3q6uOF.js +7 -0
  327. package/dist/assets/yacas-DbyKcdb9.js +1 -0
  328. package/dist/assets/z80-F2-i3nLg.js +1 -0
  329. package/dist/index.html +142 -147
  330. package/package.json +2 -1
  331. package/src/__mocks__/notebook.ts +9 -9
  332. package/src/__mocks__/requests.ts +2 -1
  333. package/src/__tests__/branded.ts +20 -0
  334. package/src/__tests__/setup.ts +15 -0
  335. package/src/components/app-config/__tests__/get-dirty-values.test.ts +1 -1
  336. package/src/components/app-config/get-dirty-values.ts +100 -0
  337. package/src/components/app-config/user-config-form.tsx +6 -101
  338. package/src/components/data-table/TableActions.tsx +8 -2
  339. package/src/components/data-table/__tests__/columns.test.tsx +138 -0
  340. package/src/components/data-table/__tests__/data-table.test.tsx +63 -0
  341. package/src/components/data-table/__tests__/utils.test.ts +138 -1
  342. package/src/components/data-table/charts/__tests__/storage.test.ts +7 -7
  343. package/src/components/data-table/columns.tsx +44 -4
  344. package/src/components/data-table/context-menu.tsx +9 -5
  345. package/src/components/data-table/data-table.tsx +13 -31
  346. package/src/components/data-table/filters.ts +1 -0
  347. package/src/components/data-table/hooks/use-scroll-container-height.ts +97 -0
  348. package/src/components/data-table/range-focus/__tests__/atoms.test.ts +8 -2
  349. package/src/components/data-table/range-focus/__tests__/test-utils.ts +2 -0
  350. package/src/components/data-table/range-focus/__tests__/use-cell-range-selection.test.ts +119 -0
  351. package/src/components/data-table/range-focus/__tests__/utils.test.ts +82 -8
  352. package/src/components/data-table/range-focus/atoms.ts +2 -2
  353. package/src/components/data-table/range-focus/use-cell-range-selection.ts +19 -0
  354. package/src/components/data-table/range-focus/utils.ts +50 -12
  355. package/src/components/data-table/renderers.tsx +103 -46
  356. package/src/components/data-table/types.ts +21 -0
  357. package/src/components/data-table/utils.ts +87 -0
  358. package/src/components/datasources/datasources.tsx +45 -0
  359. package/src/components/editor/__tests__/data-attributes.test.tsx +8 -8
  360. package/src/components/editor/ai/__tests__/completion-utils.test.ts +15 -15
  361. package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +2 -2
  362. package/src/components/editor/connections/storage/as-code.ts +2 -2
  363. package/src/components/editor/file-tree/file-explorer.tsx +16 -2
  364. package/src/components/editor/file-tree/file-viewer.tsx +17 -3
  365. package/src/components/editor/navigation/__tests__/clipboard.test.ts +2 -2
  366. package/src/components/editor/navigation/__tests__/selection.test.ts +7 -6
  367. package/src/components/editor/navigation/__tests__/state.test.ts +8 -7
  368. package/src/components/editor/output/MarimoErrorOutput.tsx +7 -7
  369. package/src/components/editor/output/__tests__/traceback.test.tsx +4 -4
  370. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +4 -4
  371. package/src/components/editor/package-alert.tsx +1 -1
  372. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +8 -1
  373. package/src/components/markdown/markdown-renderer.tsx +18 -2
  374. package/src/components/storage/storage-file-viewer.tsx +35 -1
  375. package/src/components/storage/storage-inspector.tsx +9 -4
  376. package/src/components/storage/storage-snippets.ts +3 -3
  377. package/src/components/tracing/tracing.tsx +3 -1
  378. package/src/components/ui/range-slider.tsx +108 -1
  379. package/src/core/ai/__tests__/staged-cells.test.ts +9 -8
  380. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +31 -31
  381. package/src/core/ai/context/providers/__tests__/datasource.test.ts +3 -3
  382. package/src/core/ai/context/providers/__tests__/tables.test.ts +3 -2
  383. package/src/core/ai/context/providers/__tests__/variable.test.ts +84 -63
  384. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +10 -9
  385. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +6 -6
  386. package/src/core/ai/tools/edit-notebook-tool.ts +3 -3
  387. package/src/core/cells/__tests__/add-missing-import.test.ts +3 -3
  388. package/src/core/cells/__tests__/apply-transaction.test.ts +279 -0
  389. package/src/core/cells/__tests__/cells.test.ts +198 -135
  390. package/src/core/cells/__tests__/document-changes.test.ts +572 -0
  391. package/src/core/cells/__tests__/document-roundtrip.test.ts +376 -0
  392. package/src/core/cells/__tests__/focus.test.ts +5 -4
  393. package/src/core/cells/__tests__/logs.test.ts +13 -12
  394. package/src/core/cells/__tests__/pending-delete-service.test.tsx +3 -3
  395. package/src/core/cells/__tests__/runs.test.ts +29 -24
  396. package/src/core/cells/__tests__/scrollCellIntoView.test.ts +8 -7
  397. package/src/core/cells/__tests__/session.test.ts +23 -22
  398. package/src/core/cells/cells.ts +31 -5
  399. package/src/core/cells/document-changes.ts +644 -0
  400. package/src/core/cells/ids.ts +5 -5
  401. package/src/core/cells/logs.ts +2 -2
  402. package/src/core/cells/runs.ts +6 -8
  403. package/src/core/codemirror/__tests__/format.test.ts +34 -36
  404. package/src/core/codemirror/__tests__/setup.test.ts +2 -2
  405. package/src/core/codemirror/cells/__tests__/extensions.test.ts +114 -0
  406. package/src/core/codemirror/cells/__tests__/traceback-decorations.test.ts +33 -32
  407. package/src/core/codemirror/cells/extensions.ts +66 -23
  408. package/src/core/codemirror/completion/__tests__/keymap.test.ts +15 -35
  409. package/src/core/codemirror/completion/keymap.ts +14 -4
  410. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +12 -13
  411. package/src/core/codemirror/language/__tests__/utils.test.ts +3 -3
  412. package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +7 -8
  413. package/src/core/codemirror/language/languages/python.ts +4 -0
  414. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +4 -3
  415. package/src/core/codemirror/lsp/notebook-lsp.ts +28 -2
  416. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +7 -6
  417. package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
  418. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +52 -0
  419. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  420. package/src/core/datasets/__tests__/data-source.test.ts +93 -7
  421. package/src/core/datasets/data-source-connections.ts +44 -0
  422. package/src/core/datasets/request-registry.ts +13 -0
  423. package/src/core/datasets/state.ts +1 -1
  424. package/src/core/edit-app.tsx +0 -5
  425. package/src/core/errors/__tests__/errors.test.ts +2 -1
  426. package/src/core/export/__tests__/hooks.test.ts +37 -36
  427. package/src/core/islands/bridge.ts +2 -1
  428. package/src/core/islands/main.ts +5 -9
  429. package/src/core/kernel/__tests__/handlers.test.ts +5 -4
  430. package/src/core/kernel/handlers.ts +7 -4
  431. package/src/core/kernel/messages.ts +2 -0
  432. package/src/core/network/DeferredRequestRegistry.ts +2 -2
  433. package/src/core/network/__tests__/CachingRequestRegistry.test.ts +9 -10
  434. package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +4 -6
  435. package/src/core/network/requests-lazy.ts +2 -1
  436. package/src/core/network/requests-network.ts +10 -2
  437. package/src/core/network/requests-static.ts +2 -1
  438. package/src/core/network/requests-toasting.tsx +2 -1
  439. package/src/core/network/types.ts +7 -2
  440. package/src/core/static/__tests__/virtual-file-tracker.test.ts +8 -8
  441. package/src/core/static/virtual-file-tracker.ts +1 -1
  442. package/src/core/storage/__tests__/state.test.ts +31 -21
  443. package/src/core/storage/state.ts +1 -1
  444. package/src/core/variables/__tests__/state.test.ts +6 -6
  445. package/src/core/variables/types.ts +2 -2
  446. package/src/core/wasm/__tests__/state.test.ts +8 -8
  447. package/src/core/wasm/bridge.ts +11 -1
  448. package/src/core/websocket/useMarimoKernelConnection.tsx +33 -26
  449. package/src/css/app/fonts.css +6 -6
  450. package/src/css/md-tooltip.css +4 -39
  451. package/src/css/md.css +10 -0
  452. package/src/fonts/Fira_Mono/FiraMono-Bold.woff2 +0 -0
  453. package/src/fonts/Fira_Mono/FiraMono-Medium.woff2 +0 -0
  454. package/src/fonts/Fira_Mono/FiraMono-Regular.woff2 +0 -0
  455. package/src/fonts/Lora/Lora-VariableFont_wght.woff2 +0 -0
  456. package/src/fonts/PT_Sans/PTSans-Bold.woff2 +0 -0
  457. package/src/fonts/PT_Sans/PTSans-Regular.woff2 +0 -0
  458. package/src/plugins/core/RenderHTML.tsx +17 -0
  459. package/src/plugins/core/__test__/RenderHTML.test.ts +45 -0
  460. package/src/plugins/core/sanitize-html.ts +25 -18
  461. package/src/plugins/impl/DataTablePlugin.tsx +50 -2
  462. package/src/plugins/impl/SliderPlugin.tsx +1 -3
  463. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +120 -0
  464. package/src/plugins/impl/anywidget/model.ts +1 -2
  465. package/src/plugins/impl/chat/ChatPlugin.tsx +6 -3
  466. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +5 -2
  467. package/src/stories/cell.stories.tsx +8 -8
  468. package/src/stories/layout/vertical/one-column.stories.tsx +9 -8
  469. package/src/stories/log-viewer.stories.tsx +8 -8
  470. package/src/stories/variables.stories.tsx +2 -2
  471. package/src/utils/__tests__/createReducer.test.ts +2 -1
  472. package/src/utils/__tests__/download.test.tsx +21 -20
  473. package/src/utils/copy.ts +18 -5
  474. package/src/utils/createReducer.ts +46 -26
  475. package/src/utils/download.ts +4 -3
  476. package/src/utils/html-to-image.ts +6 -0
  477. package/src/utils/json/base64.ts +3 -3
  478. package/src/utils/traceback.ts +5 -3
  479. package/dist/assets/CellStatus-CDSBsjjF.js +0 -1
  480. package/dist/assets/ConnectedDataExplorerComponent-Buaffg3u.js +0 -1
  481. package/dist/assets/DeferredRequestRegistry-O6RDJKs0.js +0 -1
  482. package/dist/assets/FiraMono-Bold-CLVRCuM9.ttf +0 -0
  483. package/dist/assets/FiraMono-Medium-DU3aDxX5.ttf +0 -0
  484. package/dist/assets/FiraMono-Regular-BTCkDNvf.ttf +0 -0
  485. package/dist/assets/ImperativeModal-qEtcJ95s.js +0 -1
  486. package/dist/assets/JsonOutput-DKXKGKvX.js +0 -46
  487. package/dist/assets/LazyAnyLanguageCodeMirror-m8w66E4s.js +0 -2
  488. package/dist/assets/Lora-VariableFont_wght-B2ootaw-.ttf +0 -0
  489. package/dist/assets/MarimoErrorOutput-az74f3Mp.js +0 -7
  490. package/dist/assets/PTSans-Bold-D9fedIX3.ttf +0 -0
  491. package/dist/assets/PTSans-Regular-CxL0S8W7.ttf +0 -0
  492. package/dist/assets/RenderHTML-DJ8khuob.js +0 -1
  493. package/dist/assets/add-cell-with-ai-DUn4LN4W.js +0 -92
  494. package/dist/assets/add-connection-dialog-CBz0AUVX.js +0 -167
  495. package/dist/assets/agent-panel-u83dsDsM.js +0 -287
  496. package/dist/assets/ai-model-dropdown-DPTa_EpU.js +0 -5
  497. package/dist/assets/alert-dialog-9WfvUF7e.js +0 -11
  498. package/dist/assets/any-language-editor-DwQMnAM3.js +0 -1
  499. package/dist/assets/apl-CWQZjEHB.js +0 -1
  500. package/dist/assets/app-config-button-rDu-lCIB.js +0 -1
  501. package/dist/assets/arc-BrTIAGt4.js +0 -1
  502. package/dist/assets/architecture-7HQA4BMR-BewjmwdA.js +0 -1
  503. package/dist/assets/architectureDiagram-VXUJARFQ-DfMHHFZ3.js +0 -36
  504. package/dist/assets/asciiarmor-YkqeOS7J.js +0 -1
  505. package/dist/assets/asn1-CXKIzj3m.js +0 -1
  506. package/dist/assets/azure-BTXHztTw.js +0 -1
  507. package/dist/assets/blockDiagram-VD42YOAC-CuEDwbg7.js +0 -122
  508. package/dist/assets/brainfuck-BATyDEza.js +0 -1
  509. package/dist/assets/c4Diagram-YG6GDRKO-CD9uz7WG.js +0 -10
  510. package/dist/assets/cache-panel-qIxnndwr.js +0 -1
  511. package/dist/assets/cell-editor-DX7IcqNr.js +0 -23
  512. package/dist/assets/cell-link-Q_UEP94Z.js +0 -1
  513. package/dist/assets/cells-fq1RMGX_.js +0 -229
  514. package/dist/assets/channel-CkT8Qdo2.js +0 -1
  515. package/dist/assets/chat-display-D_Fuuy6r.js +0 -1
  516. package/dist/assets/chat-panel-BO-JoQSp.js +0 -3
  517. package/dist/assets/chunk-4BX2VUAB-DOQhLGwX.js +0 -1
  518. package/dist/assets/chunk-55IACEB6-D0TKhzEY.js +0 -1
  519. package/dist/assets/chunk-5FQGJX7Z-CM1a_K7I.js +0 -113
  520. package/dist/assets/chunk-ABZYJK2D-D_Wumzom.js +0 -80
  521. package/dist/assets/chunk-ATLVNIR6-BZ0lTgIn.js +0 -1
  522. package/dist/assets/chunk-B4BG7PRW-Dw1S6osV.js +0 -165
  523. package/dist/assets/chunk-CVBHYZKI-BmNXddyI.js +0 -1
  524. package/dist/assets/chunk-DI55MBZ5-Q63FTCPP.js +0 -220
  525. package/dist/assets/chunk-EXTU4WIE-CfkJ_R7W.js +0 -1
  526. package/dist/assets/chunk-FMBD7UC4-BF_CXOnN.js +0 -15
  527. package/dist/assets/chunk-HN2XXSSU-BstCPYtG.js +0 -1
  528. package/dist/assets/chunk-JA3XYJ7Z-B41fGeoj.js +0 -70
  529. package/dist/assets/chunk-JZLCHNYA-D43EJxQw.js +0 -54
  530. package/dist/assets/chunk-MI3HLSF2-BceZdyTR.js +0 -32
  531. package/dist/assets/chunk-N4CR4FBY-DCtw0-ni.js +0 -2
  532. package/dist/assets/chunk-QN33PNHL-CLA2rsaS.js +0 -1
  533. package/dist/assets/chunk-QXUST7PY-De1DpbnL.js +0 -7
  534. package/dist/assets/chunk-QZHKN3VN-D3EIvP2i.js +0 -1
  535. package/dist/assets/chunk-S3R3BYOJ-qrwvlUdq.js +0 -2
  536. package/dist/assets/chunk-TZMSLE5B-C4KcThb0.js +0 -1
  537. package/dist/assets/classDiagram-2ON5EDUG-BhMT_rTz.js +0 -1
  538. package/dist/assets/classDiagram-v2-WZHVMYZB-D-F4WEyb.js +0 -1
  539. package/dist/assets/clike-C3ewt06X.js +0 -1
  540. package/dist/assets/clojure-DSdxtK57.js +0 -1
  541. package/dist/assets/cmake-b6COJhkL.js +0 -1
  542. package/dist/assets/cobol-0au-d4Af.js +0 -1
  543. package/dist/assets/code-block-37QAKDTI-D4FF4cnN.js +0 -2
  544. package/dist/assets/coffeescript-CO6miDRN.js +0 -1
  545. package/dist/assets/column-preview-WsubyItX.js +0 -1
  546. package/dist/assets/command-palette-Bez4BqJF.js +0 -1
  547. package/dist/assets/command-rfxSsiHU.js +0 -1
  548. package/dist/assets/common-BYwO983A.js +0 -1
  549. package/dist/assets/commonlisp-ViswrHum.js +0 -1
  550. package/dist/assets/components-Bpgzv_5_.js +0 -1
  551. package/dist/assets/components-Ozq0825a.js +0 -1
  552. package/dist/assets/config-3Aq84phF.js +0 -1
  553. package/dist/assets/context-CIAP2NOh.js +0 -1
  554. package/dist/assets/context-aware-panel-CfsfBlhO.js +0 -3
  555. package/dist/assets/copy-YwM0Pd7v.js +0 -1
  556. package/dist/assets/copy-icon-BgmMM9Zg.js +0 -1
  557. package/dist/assets/cose-bilkent-S5V4N54A-Bd5HJPaN.js +0 -1
  558. package/dist/assets/createReducer-Drh7NmIR.js +0 -1
  559. package/dist/assets/crystal-BcOI1XlU.js +0 -1
  560. package/dist/assets/css-CCWfM5vT.js +0 -1
  561. package/dist/assets/cypher-BKbuDk70.js +0 -1
  562. package/dist/assets/d-4fbeW9Dj.js +0 -1
  563. package/dist/assets/dagre-6UL2VRFP-BhMnPhuU.js +0 -4
  564. package/dist/assets/data-grid-overlay-editor-kbv73SQ7.js +0 -1
  565. package/dist/assets/datasource-F9sJtuof.js +0 -3
  566. package/dist/assets/dates-CHaNfieI.js +0 -1
  567. package/dist/assets/dependency-graph-panel-AOBcX2tP.js +0 -5
  568. package/dist/assets/diagram-PSM6KHXK-Cr2t4zul.js +0 -24
  569. package/dist/assets/diagram-QEK2KX5R-DLU_hSO4.js +0 -43
  570. package/dist/assets/diagram-S2PKOQOG-C7EkNAO3.js +0 -24
  571. package/dist/assets/dialog-CVN1lcMF.js +0 -1
  572. package/dist/assets/diff-CV59_hp-.js +0 -1
  573. package/dist/assets/dist-6FIAeDIu.js +0 -1
  574. package/dist/assets/dist-BNC_tnlW.js +0 -6
  575. package/dist/assets/dist-BTqMkf4j.js +0 -1
  576. package/dist/assets/dist-BXXPfIam.js +0 -1
  577. package/dist/assets/dist-BZeePkbd.js +0 -1
  578. package/dist/assets/dist-BiZQlfhr.js +0 -1
  579. package/dist/assets/dist-BoDHthoc.js +0 -1
  580. package/dist/assets/dist-Br306776.js +0 -1
  581. package/dist/assets/dist-Br4KMeY4.js +0 -1
  582. package/dist/assets/dist-By6zhkxZ.js +0 -1
  583. package/dist/assets/dist-C3MmXcLA.js +0 -1
  584. package/dist/assets/dist-CXLJUPFl.js +0 -1
  585. package/dist/assets/dist-CblX3KGI.js +0 -1
  586. package/dist/assets/dist-CcGcwrUD.js +0 -1
  587. package/dist/assets/dist-ClzRAVN-.js +0 -1
  588. package/dist/assets/dist-Cp60fE5Z.js +0 -1
  589. package/dist/assets/dist-CsRbK9-Y.js +0 -1
  590. package/dist/assets/dist-DHw9sXeN.js +0 -1
  591. package/dist/assets/dist-DJBpXGro.js +0 -1
  592. package/dist/assets/dist-DVbTmqCA.js +0 -1
  593. package/dist/assets/dist-DbK_4_qo.js +0 -1
  594. package/dist/assets/dist-DlTbNRBn.js +0 -1
  595. package/dist/assets/dist-DrceDAhM.js +0 -1
  596. package/dist/assets/dist-Du0qZeXz.js +0 -1
  597. package/dist/assets/dist-Tk70DR_I.js +0 -1
  598. package/dist/assets/dist-a0FfbvMD.js +0 -1
  599. package/dist/assets/dist-cfkfP0ni.js +0 -1
  600. package/dist/assets/dist-e6Ho4upI.js +0 -1
  601. package/dist/assets/dist-mxGLXOFm.js +0 -1
  602. package/dist/assets/dist-pzQ9JG-p.js +0 -1
  603. package/dist/assets/dockerfile-ClV2Mqz8.js +0 -1
  604. package/dist/assets/documentation-panel-D28MpqbI.js +0 -1
  605. package/dist/assets/download-B9_ToVd4.js +0 -9
  606. package/dist/assets/dropdown-menu-DdPu5Kfu.js +0 -1
  607. package/dist/assets/dtd-BAjS2EMD.js +0 -1
  608. package/dist/assets/dylan-CjAEbzAl.js +0 -1
  609. package/dist/assets/ecl-DegMF2Uo.js +0 -1
  610. package/dist/assets/edit-page-otS-QvnC.js +0 -13
  611. package/dist/assets/eiffel-D_UXtJqE.js +0 -1
  612. package/dist/assets/elm-CV-6VdWh.js +0 -1
  613. package/dist/assets/en-US-BO8E69bZ.js +0 -1
  614. package/dist/assets/erDiagram-Q2GNP2WA-DqlEo_Us.js +0 -60
  615. package/dist/assets/erlang-C3Vp1oq_.js +0 -1
  616. package/dist/assets/error-banner-BRG6IPhC.js +0 -1
  617. package/dist/assets/error-panel-RRoj_iOR.js +0 -1
  618. package/dist/assets/es-CzkousWe.js +0 -5
  619. package/dist/assets/esm-CBkHtTOV.js +0 -1
  620. package/dist/assets/esm-DhTsVMLM.js +0 -1
  621. package/dist/assets/factor-CBMQHXUW.js +0 -1
  622. package/dist/assets/factor-CrpY0izf.js +0 -1
  623. package/dist/assets/field-B1jGbQlH.js +0 -1
  624. package/dist/assets/file-explorer-panel-CB8vF5ob.js +0 -26
  625. package/dist/assets/file-icons-CWLHDa1J.js +0 -1
  626. package/dist/assets/floating-outline-BvQKiC0F.js +0 -1
  627. package/dist/assets/flowDiagram-NV44I4VS-CQlIJ12H.js +0 -162
  628. package/dist/assets/focus-DYwTiH9-.js +0 -1
  629. package/dist/assets/form-CrQYrsUC.js +0 -2
  630. package/dist/assets/formats-rhOJovGE.js +0 -1
  631. package/dist/assets/formatting-B4ZCH3ol.js +0 -1
  632. package/dist/assets/forth-C_TcrpRK.js +0 -1
  633. package/dist/assets/fortran-DOs2FQj2.js +0 -1
  634. package/dist/assets/gallery-page-eRea0yic.js +0 -1
  635. package/dist/assets/ganttDiagram-JELNMOA3-B3EGIuZL.js +0 -267
  636. package/dist/assets/gas-Cg-F3pmb.js +0 -1
  637. package/dist/assets/gherkin-CaXqq9kA.js +0 -1
  638. package/dist/assets/gitGraph-G5XIXVHT-iDzw7G2X.js +0 -1
  639. package/dist/assets/gitGraphDiagram-V2S2FVAM-h5SlguJK.js +0 -65
  640. package/dist/assets/glide-data-editor-xt5xNZeV.js +0 -132
  641. package/dist/assets/globals-BsV5fVR-.js +0 -1
  642. package/dist/assets/groovy-DmxumoMi.js +0 -1
  643. package/dist/assets/haskell-BZ-cKqgz.js +0 -1
  644. package/dist/assets/haxe-x-4elm0t.js +0 -1
  645. package/dist/assets/home-page-itW0tRmv.js +0 -4
  646. package/dist/assets/hooks-CHx5dUUq.js +0 -1
  647. package/dist/assets/html-to-image-BnSc-Wa0.js +0 -2
  648. package/dist/assets/idl-DNkkzHKH.js +0 -1
  649. package/dist/assets/index-CkOKOnvu.css +0 -2
  650. package/dist/assets/index-Dasye9cX.js +0 -38
  651. package/dist/assets/info-VBDWY6EO-CPHm9IfG.js +0 -1
  652. package/dist/assets/infoDiagram-HS3SLOUP-pzpClObZ.js +0 -2
  653. package/dist/assets/input-CUwqpKjd.js +0 -1
  654. package/dist/assets/isValid-BGe7pJXT.js +0 -1
  655. package/dist/assets/javascript-B0uQ9oZ_.js +0 -1
  656. package/dist/assets/journeyDiagram-XKPGCS4Q-BrdRi92v.js +0 -139
  657. package/dist/assets/julia-DBflXO9b.js +0 -1
  658. package/dist/assets/kanban-definition-3W4ZIXB7-B6WqgFqh.js +0 -89
  659. package/dist/assets/katex-YDobqqVd.js +0 -1
  660. package/dist/assets/kiosk-mode-DNjEnIWb.js +0 -1
  661. package/dist/assets/label-TNNaT1M9.js +0 -1
  662. package/dist/assets/layout-CwFtCyW8.js +0 -5
  663. package/dist/assets/line-BBSd2MUH.js +0 -1
  664. package/dist/assets/linear-BP9rwmWK.js +0 -1
  665. package/dist/assets/links-CIQwYQ48.js +0 -1
  666. package/dist/assets/livescript-DRwwdQDY.js +0 -1
  667. package/dist/assets/logs-panel-BU1tNEVc.js +0 -1
  668. package/dist/assets/loro_wasm_bg-MY7PmKYj.js +0 -1
  669. package/dist/assets/lua-D_CRYz1e.js +0 -1
  670. package/dist/assets/maps-OKerBHH8.js +0 -1
  671. package/dist/assets/markdown-renderer-MR9df58W.js +0 -10
  672. package/dist/assets/mathematica-D28k0VAB.js +0 -1
  673. package/dist/assets/mbox-B74-q1nN.js +0 -1
  674. package/dist/assets/menu-items-UxKrm8hS.js +0 -1
  675. package/dist/assets/mermaid-4DMBBIKO-PoHnhmy8.js +0 -1
  676. package/dist/assets/mermaid-Djr3jUAB.js +0 -11
  677. package/dist/assets/mermaid-parser.core-DR82IMb2.js +0 -4
  678. package/dist/assets/mhchem-B98RQJ-y.js +0 -1
  679. package/dist/assets/mindmap-definition-VGOIOE7T-DAmJpbPM.js +0 -68
  680. package/dist/assets/mirc-CW8yiVay.js +0 -1
  681. package/dist/assets/mllike-BwZpH7CZ.js +0 -1
  682. package/dist/assets/mode-AcL8c6qH.js +0 -1
  683. package/dist/assets/modelica-AhRO-ii8.js +0 -1
  684. package/dist/assets/mscgen-CJZUmlSk.js +0 -1
  685. package/dist/assets/multi-map-Pp1P2DOX.js +0 -1
  686. package/dist/assets/mumps-BTPWDvZ1.js +0 -1
  687. package/dist/assets/name-cell-input-DVFEv_aO.js +0 -1
  688. package/dist/assets/nsis-BeaU1Q2K.js +0 -1
  689. package/dist/assets/nsis-CuVPiHG5.js +0 -1
  690. package/dist/assets/ntriples-eNmSbiOL.js +0 -1
  691. package/dist/assets/number-overlay-editor-D__AflXQ.js +0 -9
  692. package/dist/assets/octave-BboqqX2Z.js +0 -1
  693. package/dist/assets/ordinal-BjO5SoTk.js +0 -1
  694. package/dist/assets/outline-panel-CP0oIuiU.js +0 -1
  695. package/dist/assets/oz-eUT9rD_n.js +0 -1
  696. package/dist/assets/packages-panel-CzRELimG.js +0 -1
  697. package/dist/assets/packet-DYOGHKS2-0KdzLf9c.js +0 -1
  698. package/dist/assets/panels-wTweRyIv.js +0 -1
  699. package/dist/assets/pascal-Bl9h-Ruv.js +0 -1
  700. package/dist/assets/perl-B1GdYx3j.js +0 -1
  701. package/dist/assets/pie-VRWISCQL-C6EIS9iq.js +0 -1
  702. package/dist/assets/pieDiagram-ADFJNKIX-DbGIFRoq.js +0 -30
  703. package/dist/assets/pig-CoZHWNtw.js +0 -1
  704. package/dist/assets/popover-BPGG2gPG.js +0 -1
  705. package/dist/assets/powershell-B2p71KcT.js +0 -1
  706. package/dist/assets/precisionRound-BOmLQIKI.js +0 -1
  707. package/dist/assets/process-output-CTVsT--B.js +0 -1
  708. package/dist/assets/properties-Cs9aaJGK.js +0 -1
  709. package/dist/assets/protobuf-DFCnQG_o.js +0 -1
  710. package/dist/assets/pug-BShaWOtD.js +0 -1
  711. package/dist/assets/pug-v81J9ytZ.js +0 -1
  712. package/dist/assets/puppet-4yIFv98Z.js +0 -1
  713. package/dist/assets/python-ByMRQ0aE.js +0 -1
  714. package/dist/assets/q-C7EgGttK.js +0 -1
  715. package/dist/assets/quadrantDiagram-AYHSOK5B-CLAtyple.js +0 -7
  716. package/dist/assets/r-DpLLx5HE.js +0 -1
  717. package/dist/assets/radar-ZZBFDIW7-IOV25h32.js +0 -1
  718. package/dist/assets/react-vega-BZav_-2n.js +0 -190
  719. package/dist/assets/react-vega-Da-Ps9UW.js +0 -1
  720. package/dist/assets/readonly-python-code-DH-1xZGq.js +0 -1
  721. package/dist/assets/renderShortcut-CnD1Dah5.js +0 -1
  722. package/dist/assets/request-registry-B-7cIM_I.js +0 -1
  723. package/dist/assets/requirementDiagram-UZGBJVZJ-DDDTB1LD.js +0 -64
  724. package/dist/assets/rpm-DlCq0FVA.js +0 -1
  725. package/dist/assets/ruby-BGmSEBWH.js +0 -1
  726. package/dist/assets/run-page-FCvGnICa.js +0 -1
  727. package/dist/assets/runs-Bhy0tbWr.js +0 -1
  728. package/dist/assets/sankeyDiagram-TZEHDZUN-DAWPOfBw.js +0 -10
  729. package/dist/assets/sas-CFcv5xFe.js +0 -1
  730. package/dist/assets/scheme-BgRfkNY3.js +0 -1
  731. package/dist/assets/scratchpad-panel-k9lrm-rC.js +0 -1
  732. package/dist/assets/secrets-panel-B1Z-6dmz.js +0 -1
  733. package/dist/assets/select-CxT2Geqr.js +0 -1
  734. package/dist/assets/sequenceDiagram-WL72ISMW-D_qAidD2.js +0 -145
  735. package/dist/assets/session-panel-WhN0qilM.js +0 -1
  736. package/dist/assets/share-BdH_5I58.js +0 -1
  737. package/dist/assets/shell-CKQz0rkv.js +0 -1
  738. package/dist/assets/sieve-D0P6XnTD.js +0 -1
  739. package/dist/assets/slides-component-Brm_TS4x.js +0 -1
  740. package/dist/assets/smalltalk-Dcg9QwVr.js +0 -1
  741. package/dist/assets/snippets-panel-BCDHUuku.js +0 -1
  742. package/dist/assets/sparql-f01xs6VH.js +0 -1
  743. package/dist/assets/spec-DbmSqx09.js +0 -1
  744. package/dist/assets/src-Bp_72rVO.js +0 -1
  745. package/dist/assets/state-3V5UxC3B.js +0 -1
  746. package/dist/assets/state-CBmCYWFH.js +0 -1
  747. package/dist/assets/state-Ce7CVShi.js +0 -1
  748. package/dist/assets/stateDiagram-FKZM4ZOC-C7qgDrGA.js +0 -1
  749. package/dist/assets/stateDiagram-v2-4FDKWEC3-CEqeIlM0.js +0 -1
  750. package/dist/assets/step-BkfKj3CL.js +0 -1
  751. package/dist/assets/stex-BBWVYm-R.js +0 -1
  752. package/dist/assets/stylus-BjzHGGgo.js +0 -1
  753. package/dist/assets/swift-DOptU29u.js +0 -1
  754. package/dist/assets/switch-CVKxYu_0.js +0 -1
  755. package/dist/assets/tcl-vC8etUeQ.js +0 -1
  756. package/dist/assets/terminal-Cr7wbEjz.js +0 -62
  757. package/dist/assets/textile-BfLqcKXP.js +0 -1
  758. package/dist/assets/time-D2GKc0U6.js +0 -1
  759. package/dist/assets/timeline-definition-IT6M3QCI-hd6uJKGs.js +0 -61
  760. package/dist/assets/toggle-RCwU-rnE.js +0 -1
  761. package/dist/assets/toml-rX0_Isgp.js +0 -1
  762. package/dist/assets/tooltip-D9723Brr.js +0 -1
  763. package/dist/assets/tracing-DUVd0jtl.js +0 -1
  764. package/dist/assets/tracing-panel-CuTxPn_x.js +0 -2
  765. package/dist/assets/tree-Ch2-GuhG.js +0 -3
  766. package/dist/assets/treemap-GDKQZRPO-BUa0eLeZ.js +0 -1
  767. package/dist/assets/troff-C1lPb0WN.js +0 -1
  768. package/dist/assets/ttcn-D5dxusfs.js +0 -1
  769. package/dist/assets/ttcn-cfg-Dj2ybct-.js +0 -1
  770. package/dist/assets/turtle-BiTItqZm.js +0 -1
  771. package/dist/assets/useAddCell-YC7rpcmD.js +0 -1
  772. package/dist/assets/useBoolean-m1e6E3Ao.js +0 -1
  773. package/dist/assets/useCellActionButton-GUb2fXU8.js +0 -1
  774. package/dist/assets/useDateFormatter-CpE7XQLs.js +0 -1
  775. package/dist/assets/useDeleteCell-DRUDRiy0.js +0 -1
  776. package/dist/assets/useDependencyPanelTab-nFVMlEx0.js +0 -1
  777. package/dist/assets/useInstallPackage-C9V-on2J.js +0 -1
  778. package/dist/assets/useNotebookActions-ChLHy-0O.js +0 -1
  779. package/dist/assets/useNumberFormatter-DbDKSvEd.js +0 -1
  780. package/dist/assets/usePress-BHGkpw8X.js +0 -7
  781. package/dist/assets/useRunCells-5m6jCnyo.js +0 -1
  782. package/dist/assets/useSplitCell-DGD9smMq.js +0 -1
  783. package/dist/assets/utils-CdjCA1J8.js +0 -61
  784. package/dist/assets/vb-roE2hgal.js +0 -1
  785. package/dist/assets/vbscript-2s97682t.js +0 -1
  786. package/dist/assets/vega-component-CRbeDmeM.js +0 -1
  787. package/dist/assets/vega-loader.browser-CZV6_g2i.js +0 -6
  788. package/dist/assets/velocity-D0YPg3VZ.js +0 -1
  789. package/dist/assets/verilog-Btszgjcd.js +0 -1
  790. package/dist/assets/vhdl-enS91NZh.js +0 -1
  791. package/dist/assets/webidl-DQMyFjhm.js +0 -1
  792. package/dist/assets/write-secret-modal-BCvuRAFb.js +0 -1
  793. package/dist/assets/xquery-D5Jh9c_Z.js +0 -1
  794. package/dist/assets/xychartDiagram-PRI3JC2R-CXlUBSbQ.js +0 -7
  795. package/dist/assets/yacas-CTzSIaAf.js +0 -1
  796. package/dist/assets/z80-Dt0hdUwP.js +0 -1
  797. package/src/core/cells/effects.ts +0 -42
  798. package/src/fonts/Fira_Mono/FiraMono-Bold.ttf +0 -0
  799. package/src/fonts/Fira_Mono/FiraMono-Medium.ttf +0 -0
  800. package/src/fonts/Fira_Mono/FiraMono-Regular.ttf +0 -0
  801. package/src/fonts/Lora/Lora-Italic-VariableFont_wght.ttf +0 -0
  802. package/src/fonts/Lora/Lora-VariableFont_wght.ttf +0 -0
  803. package/src/fonts/Lora/static/Lora-Bold.ttf +0 -0
  804. package/src/fonts/Lora/static/Lora-BoldItalic.ttf +0 -0
  805. package/src/fonts/Lora/static/Lora-Italic.ttf +0 -0
  806. package/src/fonts/Lora/static/Lora-Medium.ttf +0 -0
  807. package/src/fonts/Lora/static/Lora-MediumItalic.ttf +0 -0
  808. package/src/fonts/Lora/static/Lora-Regular.ttf +0 -0
  809. package/src/fonts/Lora/static/Lora-SemiBold.ttf +0 -0
  810. package/src/fonts/Lora/static/Lora-SemiBoldItalic.ttf +0 -0
  811. package/src/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
  812. package/src/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
  813. package/src/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
  814. package/src/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
  815. /package/dist/assets/{Combination-Cs9nbinQ.js → Combination-CXstThSr.js} +0 -0
  816. /package/dist/assets/{Deferred-BMfCOLaw.js → Deferred-D2igisxY.js} +0 -0
  817. /package/dist/assets/{ImageComparisonComponent-DvDPDgw3.js → ImageComparisonComponent-DxLwmmB2.js} +0 -0
  818. /package/dist/assets/{Inputs-D5kI9GwB.js → Inputs-W60db12_.js} +0 -0
  819. /package/dist/assets/{Plot-DQQQ-fLA.js → Plot-I39ar7fU.js} +0 -0
  820. /package/dist/assets/{SSRProvider-DC7ElCZZ.js → SSRProvider-BNHN3zoD.js} +0 -0
  821. /package/dist/assets/{alert-OQZHipbB.js → alert-Cv0TRjV-.js} +0 -0
  822. /package/dist/assets/{apl-CexVE068.js → apl-lvMF4O0c.js} +0 -0
  823. /package/dist/assets/{array-psg969PF.js → array-CRE2-wlR.js} +0 -0
  824. /package/dist/assets/{asciiarmor-DzdXFxI-.js → asciiarmor-NoSIZ2RH.js} +0 -0
  825. /package/dist/assets/{asn1-lKNP6w4p.js → asn1-Bn2zPmGi.js} +0 -0
  826. /package/dist/assets/{asterisk-Bjb62jej.js → asterisk-1BK_fEUT.js} +0 -0
  827. /package/dist/assets/{badge-hTpPIsMT.js → badge-DPjNGpcf.js} +0 -0
  828. /package/dist/assets/{blob-CObhN-9g.js → blob-BTrKZERf.js} +0 -0
  829. /package/dist/assets/{bot-message-square-CK6eoGWy.js → bot-message-square-Dw41U6lL.js} +0 -0
  830. /package/dist/assets/{brainfuck-pTL_9bJ7.js → brainfuck-CyXrVlbF.js} +0 -0
  831. /package/dist/assets/{bundle.esm-idScn0w0.js → bundle.esm-_LzfhNmX.js} +0 -0
  832. /package/dist/assets/{card-C-c-4jyF.js → card-CBqenxaU.js} +0 -0
  833. /package/dist/assets/{chart-no-axes-column-DV8gdCvH.js → chart-no-axes-column-a9XtWmzk.js} +0 -0
  834. /package/dist/assets/{check-BE0hEwVo.js → check-DZA_bRpw.js} +0 -0
  835. /package/dist/assets/{chevron-right-D0GQBpTb.js → chevron-right-CvVxySQk.js} +0 -0
  836. /package/dist/assets/{chunk-4F5CHEZ2-BGeTOmrq.js → chunk-4F5CHEZ2-CvMYQKai.js} +0 -0
  837. /package/dist/assets/{chunk-B2363JML-Cmh9TPpj.js → chunk-B2363JML-oWpkFXOG.js} +0 -0
  838. /package/dist/assets/{chunk-DR5Q36YT-SM9ZwAOv.js → chunk-DR5Q36YT-DSjZQa_3.js} +0 -0
  839. /package/dist/assets/{chunk-FRFDVMJY-CUDE-MUX.js → chunk-FRFDVMJY-DxIaf4yl.js} +0 -0
  840. /package/dist/assets/{chunk-PL6DKKU2-DMqBvHTF.js → chunk-PL6DKKU2-DwnNxWA0.js} +0 -0
  841. /package/dist/assets/{chunk-SJTYNZTY-C9cwtT3h.js → chunk-SJTYNZTY-DBAl0fNt.js} +0 -0
  842. /package/dist/assets/{chunk-TQ3KTPDO-CUyT9lNN.js → chunk-TQ3KTPDO-B7j-UFPQ.js} +0 -0
  843. /package/dist/assets/{chunk-UMXZTB3W-Bt-_br31.js → chunk-UMXZTB3W-BGNdYqf-.js} +0 -0
  844. /package/dist/assets/{circle-check-gLIOLu8x.js → circle-check-CbaVeozR.js} +0 -0
  845. /package/dist/assets/{circle-play-DYGULlKZ.js → circle-play-DYn5nR6N.js} +0 -0
  846. /package/dist/assets/{circle-plus-CGG-gArM.js → circle-plus-nCze0-py.js} +0 -0
  847. /package/dist/assets/{clear-button-DrIF5o__.js → clear-button-CuSHRx11.js} +0 -0
  848. /package/dist/assets/{click-outside-container-CagwJLiG.js → click-outside-container-CiRBqxMF.js} +0 -0
  849. /package/dist/assets/{clike-BCxd7pZ9.js → clike-DKMmTh42.js} +0 -0
  850. /package/dist/assets/{clojure-CPAS-74L.js → clojure-PSUkitBX.js} +0 -0
  851. /package/dist/assets/{cmake-DMONEHtp.js → cmake-DzLpRry9.js} +0 -0
  852. /package/dist/assets/{cobol-0rQGzjf0.js → cobol-DAqlVpNy.js} +0 -0
  853. /package/dist/assets/{coffeescript-BHNUw4aR.js → coffeescript-CVRVei5N.js} +0 -0
  854. /package/dist/assets/{colors-WO6MvCS3.js → colors-k4pzE1JC.js} +0 -0
  855. /package/dist/assets/{common-keywords-D_14jCw0.js → common-keywords-CL5lDC0w.js} +0 -0
  856. /package/dist/assets/{commonlisp-Cjiyl45-.js → commonlisp-DGLna-nK.js} +0 -0
  857. /package/dist/assets/{crystal-CUMDisY2.js → crystal-D1je9SnX.js} +0 -0
  858. /package/dist/assets/{css-B6NFOUor.js → css-CpgzfyW4.js} +0 -0
  859. /package/dist/assets/{cypher-DcWJtLBw.js → cypher-SIaJhgm6.js} +0 -0
  860. /package/dist/assets/{cytoscape.esm-DuXIsNbY.js → cytoscape.esm-0erX9Txj.js} +0 -0
  861. /package/dist/assets/{d-CpNp8oDv.js → d-BQbC3v5b.js} +0 -0
  862. /package/dist/assets/{defaultLocale-DK1MWd7f.js → defaultLocale-CvLIK2MU.js} +0 -0
  863. /package/dist/assets/{defaultLocale-OkOxlkkM.js → defaultLocale-D_LmbLH5.js} +0 -0
  864. /package/dist/assets/{diff-BCFJsGHX.js → diff-Du4D-Lj4.js} +0 -0
  865. /package/dist/assets/{dist-8UD0A5sU.js → dist-4rKUx1vk.js} +0 -0
  866. /package/dist/assets/{dist-BhNN2V5a.js → dist-B1ExNQli.js} +0 -0
  867. /package/dist/assets/{dist-apDpadc4.js → dist-BXtR56No.js} +0 -0
  868. /package/dist/assets/{dist-CQqv2gQL.js → dist-Bh-vrbeU.js} +0 -0
  869. /package/dist/assets/{dist-D9Vhptds.js → dist-CTTKEfeu.js} +0 -0
  870. /package/dist/assets/{dist-ASlWkGgG.js → dist-CwHZ5Z_A.js} +0 -0
  871. /package/dist/assets/{dist-DxrbvUBv.js → dist-D699xT6P.js} +0 -0
  872. /package/dist/assets/{dist-BR9zyVPH.js → dist-DKnn_Tta.js} +0 -0
  873. /package/dist/assets/{dist-CVEvQ1Ex.js → dist-DbWhwe76.js} +0 -0
  874. /package/dist/assets/{dist-DBPtheKQ.js → dist-DmMcU97h.js} +0 -0
  875. /package/dist/assets/{dist-sVuk6mkQ.js → dist-DvbdggRI.js} +0 -0
  876. /package/dist/assets/{dist-OxxI-HeS.js → dist-SDxzhwJU.js} +0 -0
  877. /package/dist/assets/{dist-COnmrAVZ.js → dist-Sjq7q5Ez.js} +0 -0
  878. /package/dist/assets/{dist-CgC048vN.js → dist-epQooxQL.js} +0 -0
  879. /package/dist/assets/{dtd-D7nO7isU.js → dtd-C8APvYNQ.js} +0 -0
  880. /package/dist/assets/{duckdb-keywords-CSySeB8R.js → duckdb-keywords-CKBoTxEb.js} +0 -0
  881. /package/dist/assets/{dylan-qEhlQv4l.js → dylan-CTr_RHNL.js} +0 -0
  882. /package/dist/assets/{ebnf-KJaLpQez.js → ebnf-CviyCkP7.js} +0 -0
  883. /package/dist/assets/{ecl-cXHEjabG.js → ecl-BVnD0OAx.js} +0 -0
  884. /package/dist/assets/{eiffel-CUTEIYa-.js → eiffel-9mt0KSLh.js} +0 -0
  885. /package/dist/assets/{elm-DOfGHeKn.js → elm-CItjDkKL.js} +0 -0
  886. /package/dist/assets/{emotion-is-prop-valid.esm-D1keIaYa.js → emotion-is-prop-valid.esm-C7Gs50yh.js} +0 -0
  887. /package/dist/assets/{empty-state-B_US46Us.js → empty-state-DUEogWxf.js} +0 -0
  888. /package/dist/assets/{erlang-B5R7Byby.js → erlang-D8gZbSC3.js} +0 -0
  889. /package/dist/assets/{errors-Bfogio62.js → errors-Bhwg_4_Q.js} +0 -0
  890. /package/dist/assets/{esm-CX-gNDKf.js → esm-BQO8KtRU.js} +0 -0
  891. /package/dist/assets/{extends-DRbCSry7.js → extends-tyH9bzbk.js} +0 -0
  892. /package/dist/assets/{fcl-Cf241iHu.js → fcl-DjfeL5F6.js} +0 -0
  893. /package/dist/assets/{forth-BjV8SV3p.js → forth-DgH1dN75.js} +0 -0
  894. /package/dist/assets/{fortran-CvNblcug.js → fortran-DueLTtxK.js} +0 -0
  895. /package/dist/assets/{gas-D1YrZZUY.js → gas-BtO1qNqf.js} +0 -0
  896. /package/dist/assets/{gherkin-CAUl7roi.js → gherkin-Byo7wP7t.js} +0 -0
  897. /package/dist/assets/{groovy-CnmCDhLm.js → groovy-wqVc62K1.js} +0 -0
  898. /package/dist/assets/{haskell-qdBb4h_7.js → haskell-t8q2n4aR.js} +0 -0
  899. /package/dist/assets/{haxe-MQhLSFhI.js → haxe-I2Ep_IKg.js} +0 -0
  900. /package/dist/assets/{http-_roNBajA.js → http-VleqgIZJ.js} +0 -0
  901. /package/dist/assets/{icons-CrUXojcA.js → icons-CAcY8GzB.js} +0 -0
  902. /package/dist/assets/{idl-CcZzcWCI.js → idl-zLnMWGy-.js} +0 -0
  903. /package/dist/assets/{init-XMA8CWhh.js → init-C5GnArQr.js} +0 -0
  904. /package/dist/assets/{javascript-hE4QNtKl.js → javascript-Z0GGm0j8.js} +0 -0
  905. /package/dist/assets/{julia-BjrvvLkp.js → julia-iSGDYIgg.js} +0 -0
  906. /package/dist/assets/{katex-rvFxOCU-.js → katex-BUjpoqH9.js} +0 -0
  907. /package/dist/assets/{kbd-DvKpAc6K.js → kbd-DozzbQaK.js} +0 -0
  908. /package/dist/assets/{links-DzgPOFJ-.js → links-DXQarNcJ.js} +0 -0
  909. /package/dist/assets/{livescript-B01pNEzu.js → livescript-BFHCYYQr.js} +0 -0
  910. /package/dist/assets/{loro_wasm_bg-CcIcmNa3.js → loro_wasm_bg-DbCRx7th.js} +0 -0
  911. /package/dist/assets/{lua-BwfRgSM6.js → lua-CReDSu5T.js} +0 -0
  912. /package/dist/assets/{marimo-icons-C_YDiXeg.js → marimo-icons-DyCeIvCg.js} +0 -0
  913. /package/dist/assets/{math-CeGhAAgQ.js → math-D5yoTCoa.js} +0 -0
  914. /package/dist/assets/{mathematica-DLi5eijp.js → mathematica-Zm2C8amS.js} +0 -0
  915. /package/dist/assets/{mbox-QweTYWJQ.js → mbox-WgafSHjo.js} +0 -0
  916. /package/dist/assets/{mirc-1J5TZ8Tf.js → mirc-BYSZ-Sqw.js} +0 -0
  917. /package/dist/assets/{mllike-DRzCrpbj.js → mllike-oFV79iRi.js} +0 -0
  918. /package/dist/assets/{modelica-GZKavTLw.js → modelica-Kw0oZiZv.js} +0 -0
  919. /package/dist/assets/{mscgen-HMNaCHuy.js → mscgen-zIXnH6Xb.js} +0 -0
  920. /package/dist/assets/{multi-icon-DEWnuZs2.js → multi-icon-CDO-SrVQ.js} +0 -0
  921. /package/dist/assets/{mumps-CzCxfP2m.js → mumps-CpHKxUaP.js} +0 -0
  922. /package/dist/assets/{nginx-Dfd7l9Sj.js → nginx-D7OKXoUe.js} +0 -0
  923. /package/dist/assets/{node-sql-parser-BvUFblwL.js → node-sql-parser-GMJwIlZ5.js} +0 -0
  924. /package/dist/assets/{ntriples-DT57g_ZF.js → ntriples-CKdsn4A2.js} +0 -0
  925. /package/dist/assets/{numbers-CYnquDho.js → numbers-D_Gm93M5.js} +0 -0
  926. /package/dist/assets/{objectWithoutPropertiesLoose-DP4vAkvg.js → objectWithoutPropertiesLoose-D67umz3-.js} +0 -0
  927. /package/dist/assets/{octave-CtuTaUjQ.js → octave-C2KzGqDI.js} +0 -0
  928. /package/dist/assets/{oz-BS8LEqKx.js → oz-DjI17vbg.js} +0 -0
  929. /package/dist/assets/{panel-context-BN0DQXiK.js → panel-context-DsLB_70p.js} +0 -0
  930. /package/dist/assets/{pascal-Db0ZEHQw.js → pascal-DkEHIeYy.js} +0 -0
  931. /package/dist/assets/{path-CkIaQHJO.js → path-CK3C5L0Q.js} +0 -0
  932. /package/dist/assets/{paths-D2lG83Oh.js → paths-bMgYkaP2.js} +0 -0
  933. /package/dist/assets/{perl-DgJKzgyz.js → perl-awUeMoRf.js} +0 -0
  934. /package/dist/assets/{pig-Dk6eYa40.js → pig-4piEzRGm.js} +0 -0
  935. /package/dist/assets/{play-DKSqmedg.js → play-l5KOWsHo.js} +0 -0
  936. /package/dist/assets/{plus-dVmh0yTy.js → plus-D1HlXYzG.js} +0 -0
  937. /package/dist/assets/{powershell-dW0qpS7j.js → powershell-BcdXyDpe.js} +0 -0
  938. /package/dist/assets/{preload-helper-BW0IMuFq.js → preload-helper-TXkS1QI3.js} +0 -0
  939. /package/dist/assets/{prop-types-RrUi-pOT.js → prop-types-DNlIPq6L.js} +0 -0
  940. /package/dist/assets/{properties-oMha4ix2.js → properties-BCPnyAME.js} +0 -0
  941. /package/dist/assets/{protobuf-CfWJ4EtB.js → protobuf-UUgrcPiO.js} +0 -0
  942. /package/dist/assets/{puppet-O2K_n-UM.js → puppet-CK_Jbc3D.js} +0 -0
  943. /package/dist/assets/{purify.es-BBn8CPhf.js → purify.es-ByGlPBcv.js} +0 -0
  944. /package/dist/assets/{python-qMKsSr4L.js → python-87A6eX9C.js} +0 -0
  945. /package/dist/assets/{q-ewn8d81Q.js → q-JHqp7Nwz.js} +0 -0
  946. /package/dist/assets/{r-CqF-AjDv.js → r-c8ebDReJ.js} +0 -0
  947. /package/dist/assets/{range-DNqFcYmr.js → range-DvAATiUD.js} +0 -0
  948. /package/dist/assets/{react-resizable-panels.browser.esm-DDRqG5ui.js → react-resizable-panels.browser.esm-Dmf4Xg1J.js} +0 -0
  949. /package/dist/assets/{refresh-ccw-DLpfIr8v.js → refresh-ccw-DY_cTm_K.js} +0 -0
  950. /package/dist/assets/{refresh-cw-CHAHPgkx.js → refresh-cw-Dd8FlTmm.js} +0 -0
  951. /package/dist/assets/{requests-CP6q3-4O.js → requests-A6SCIaF6.js} +0 -0
  952. /package/dist/assets/{rotate-ccw-hLlF_82X.js → rotate-ccw-2ZmPmSJe.js} +0 -0
  953. /package/dist/assets/{rpm-BqLq138P.js → rpm-CHLEEyak.js} +0 -0
  954. /package/dist/assets/{ruby-CQfbO3YY.js → ruby-Y-uPbf0g.js} +0 -0
  955. /package/dist/assets/{sas-BmpgVn6Q.js → sas-Mox1fRNZ.js} +0 -0
  956. /package/dist/assets/{save-8fSvKYJT.js → save-BNIs1Xrf.js} +0 -0
  957. /package/dist/assets/{scheme-rgyDg_wq.js → scheme-BnTHsLZG.js} +0 -0
  958. /package/dist/assets/{session-BrEm7qNv.js → session-DKzpcHdK.js} +0 -0
  959. /package/dist/assets/{settings-CzQUw9rV.js → settings-dVFT0AvU.js} +0 -0
  960. /package/dist/assets/{shell-Dndk6Ld6.js → shell-C8EAw2yh.js} +0 -0
  961. /package/dist/assets/{sieve-bGgktpLX.js → sieve-Dd1bnzub.js} +0 -0
  962. /package/dist/assets/{simple-mode-oMMOWqWz.js → simple-mode-BGiIHaLF.js} +0 -0
  963. /package/dist/assets/{smalltalk-CU43LrKS.js → smalltalk-BUSkf3e4.js} +0 -0
  964. /package/dist/assets/{solr-CJeCgAfj.js → solr-CDPrSrj5.js} +0 -0
  965. /package/dist/assets/{sparql-BycKC3X4.js → sparql-DeaDxQi8.js} +0 -0
  966. /package/dist/assets/{spreadsheet-BYYvgLKe.js → spreadsheet-BsJYzkOI.js} +0 -0
  967. /package/dist/assets/{sql-B5I6FC3m.js → sql-F2Gt8FSJ.js} +0 -0
  968. /package/dist/assets/{square-function-B006EYFX.js → square-function-B-8YRDsr.js} +0 -0
  969. /package/dist/assets/{src-CW27-Kjl.js → src-BgRVyE5A.js} +0 -0
  970. /package/dist/assets/{stex-0ac7Aukl.js → stex-FMMSUPAS.js} +0 -0
  971. /package/dist/assets/{stylus-CePwhvgW.js → stylus-DYCEsZr5.js} +0 -0
  972. /package/dist/assets/{swift-CfgglXjR.js → swift-Duztmfb3.js} +0 -0
  973. /package/dist/assets/{table-BhH-Mm8O.js → table-C-4zXNgf.js} +0 -0
  974. /package/dist/assets/{table-BCnp9gKC.js → table-Od8PbuV-.js} +0 -0
  975. /package/dist/assets/{tcl-D_gYSBm0.js → tcl-DI2Tsoc-.js} +0 -0
  976. /package/dist/assets/{textile-BEvFU9wV.js → textile-Bu0-gYeb.js} +0 -0
  977. /package/dist/assets/{tiddlywiki-hmNzZkq6.js → tiddlywiki-BiVbsin5.js} +0 -0
  978. /package/dist/assets/{tiki-BL1SzuSx.js → tiki-BjQr6gnj.js} +0 -0
  979. /package/dist/assets/{timer-CPT_vXom.js → timer-ubTuPSiq.js} +0 -0
  980. /package/dist/assets/{toDate-BqKH-Jd9.js → toDate-Cfp9W_O9.js} +0 -0
  981. /package/dist/assets/{toml-DGJRpV2e.js → toml-DS7p65H0.js} +0 -0
  982. /package/dist/assets/{trash-2-CAoNMkjq.js → trash-2-B7Q-bnsg.js} +0 -0
  983. /package/dist/assets/{trash-BZMAQneW.js → trash-Z_paTvAh.js} +0 -0
  984. /package/dist/assets/{treemap-Cf5pgJDk.js → treemap-D7anCkBi.js} +0 -0
  985. /package/dist/assets/{triangle-alert-qZo1ox6x.js → triangle-alert-C6CmrCxa.js} +0 -0
  986. /package/dist/assets/{troff-CUlohIux.js → troff-CmiSltql.js} +0 -0
  987. /package/dist/assets/{ttcn-nuQ3wCdy.js → ttcn-BcG2XAz0.js} +0 -0
  988. /package/dist/assets/{ttcn-cfg-DCxdE-sj.js → ttcn-cfg-rI2k2_Cz.js} +0 -0
  989. /package/dist/assets/{turtle-B2N96QpC.js → turtle-7DaLnk-7.js} +0 -0
  990. /package/dist/assets/{types-BfP_kuAY.js → types-CzVV1kKu.js} +0 -0
  991. /package/dist/assets/{types-C1RN112u.js → types-DNmFsWFO.js} +0 -0
  992. /package/dist/assets/{use-toast-Hc8CXlvz.js → use-toast-BhMe50aT.js} +0 -0
  993. /package/dist/assets/{useAsyncData-D-4ifFXh.js → useAsyncData-VEt7lMhG.js} +0 -0
  994. /package/dist/assets/{useDebounce-B0dx2Gp0.js → useDebounce-BvOHu0CE.js} +0 -0
  995. /package/dist/assets/{useDeepCompareMemoize-yyiB9aJX.js → useDeepCompareMemoize-Boltfl1B.js} +0 -0
  996. /package/dist/assets/{useIframeCapabilities-DTN9kFDq.js → useIframeCapabilities-C0zkgwSm.js} +0 -0
  997. /package/dist/assets/{useInterval-BJucVdV-.js → useInterval-B8uaa6vj.js} +0 -0
  998. /package/dist/assets/{useTheme-BYXBU1of.js → useTheme-BYu4ZPLV.js} +0 -0
  999. /package/dist/assets/{uuid-ClFZlR7U.js → uuid-ImXS-885.js} +0 -0
  1000. /package/dist/assets/{vb-CBiIL_zx.js → vb-B69cws1B.js} +0 -0
  1001. /package/dist/assets/{vbscript-B3Y69Iw0.js → vbscript-oR9jLSFn.js} +0 -0
  1002. /package/dist/assets/{velocity-B5BPA7FX.js → velocity-CC4QjE_N.js} +0 -0
  1003. /package/dist/assets/{verilog-BwmYR8E3.js → verilog-DbzXDa_i.js} +0 -0
  1004. /package/dist/assets/{vhdl-VXFnDy2U.js → vhdl-qbVPPYo_.js} +0 -0
  1005. /package/dist/assets/{web-vitals-BaMazlva.js → web-vitals--izkZsoM.js} +0 -0
  1006. /package/dist/assets/{webidl-Bcmf9JWd.js → webidl-BkN24yvL.js} +0 -0
  1007. /package/dist/assets/{workflow-BmeqNuSH.js → workflow-CJnGYDvM.js} +0 -0
  1008. /package/dist/assets/{ws-CBdPISJL.js → ws-BYrDQlXa.js} +0 -0
  1009. /package/dist/assets/{x-BI1M8X_v.js → x-CdLP7-v3.js} +0 -0
  1010. /package/dist/assets/{xquery-8pWKOyFY.js → xquery-B3G1Qm2c.js} +0 -0
  1011. /package/dist/assets/{yacas-BFcwo3Cx.js → yacas-DWdEPLXb.js} +0 -0
  1012. /package/dist/assets/{z80-t3SBb7Lt.js → z80-cCig3JnZ.js} +0 -0
@@ -20,7 +20,8 @@ describe("getCellValues", () => {
20
20
  it("should return empty string for empty selection", () => {
21
21
  const mockTable = createMockTable([], []);
22
22
  const result = getCellValues(mockTable, new Set());
23
- expect(result).toBe("");
23
+ expect(result.text).toBe("");
24
+ expect(result.html).toBeUndefined();
24
25
  });
25
26
 
26
27
  it("should ignore select checkbox in tables", () => {
@@ -29,7 +30,8 @@ describe("getCellValues", () => {
29
30
  const table = createMockTable([row], []);
30
31
 
31
32
  const result = getCellValues(table, new Set());
32
- expect(result).toBe("");
33
+ expect(result.text).toBe("");
34
+ expect(result.html).toBeUndefined();
33
35
  });
34
36
 
35
37
  it("should return single cell value", () => {
@@ -38,7 +40,8 @@ describe("getCellValues", () => {
38
40
  const table = createMockTable([row], []);
39
41
 
40
42
  const result = getCellValues(table, new Set(["0_0"]));
41
- expect(result).toBe("test");
43
+ expect(result.text).toBe("test");
44
+ expect(result.html).toBeUndefined();
42
45
  });
43
46
 
44
47
  it("should return multiple cells from same row separated by tabs", () => {
@@ -48,7 +51,8 @@ describe("getCellValues", () => {
48
51
  const table = createMockTable([row], []);
49
52
 
50
53
  const result = getCellValues(table, new Set(["0_0", "0_1"]));
51
- expect(result).toBe("value1\tvalue2");
54
+ expect(result.text).toBe("value1\tvalue2");
55
+ expect(result.html).toBeUndefined();
52
56
  });
53
57
 
54
58
  it("should return multiple rows separated by newlines", () => {
@@ -59,7 +63,8 @@ describe("getCellValues", () => {
59
63
  const table = createMockTable([row1, row2], []);
60
64
 
61
65
  const result = getCellValues(table, new Set(["0_0", "1_0"]));
62
- expect(result).toBe("row1\nrow2");
66
+ expect(result.text).toBe("row1\nrow2");
67
+ expect(result.html).toBeUndefined();
63
68
  });
64
69
 
65
70
  it("should handle missing rows gracefully", () => {
@@ -69,7 +74,7 @@ describe("getCellValues", () => {
69
74
 
70
75
  // Row "999" doesn't exist and is skipped
71
76
  const result = getCellValues(table, new Set(["0_0", "999_0"]));
72
- expect(result).toBe("test");
77
+ expect(result.text).toBe("test");
73
78
  });
74
79
 
75
80
  it("should include undefined for missing columns on existing rows", () => {
@@ -80,7 +85,7 @@ describe("getCellValues", () => {
80
85
 
81
86
  // Column "999" doesn't exist but row.getValue() returns undefined
82
87
  const result = getCellValues(table, new Set(["0_0", "0_1", "0_999"]));
83
- expect(result).toBe("test1\ttest2\tundefined");
88
+ expect(result.text).toBe("test1\ttest2\tundefined");
84
89
  });
85
90
 
86
91
  it("should handle complex data types", () => {
@@ -91,7 +96,76 @@ describe("getCellValues", () => {
91
96
  const table = createMockTable([row], []);
92
97
 
93
98
  const result = getCellValues(table, new Set(["0_0", "0_1", "0_2"]));
94
- expect(result).toBe('{"name":"test"}\tnull\tundefined');
99
+ expect(result.text).toBe('{"name":"test"}\tnull\tundefined');
100
+ expect(result.html).toBeUndefined();
101
+ });
102
+
103
+ it("should use raw values when rawData is available", () => {
104
+ const mimeBundle = {
105
+ _serialized_mime_bundle: {
106
+ mimetype: "text/html",
107
+ data: "<b>formatted_42</b>",
108
+ },
109
+ };
110
+ const cell1 = createMockCell("0_a", mimeBundle);
111
+ const cell2 = createMockCell("0_b", "displayed_b");
112
+ const row = createMockRow("0", [cell1, cell2]);
113
+ const table = createMockTable([row], [], {
114
+ rawData: [{ a: 42, b: "raw_b" }],
115
+ });
116
+
117
+ const result = getCellValues(table, new Set(["0_a", "0_b"]));
118
+ expect(result.text).toBe("42\traw_b");
119
+ expect(result.html).toBe(
120
+ "<table><tr><td><b>formatted_42</b></td><td>raw_b</td></tr></table>",
121
+ );
122
+ });
123
+
124
+ it("should fall back to displayed value when rawData is not set", () => {
125
+ const cell = createMockCell("0_name", "displayed");
126
+ const row = createMockRow("0", [cell]);
127
+ const table = createMockTable([row], []);
128
+
129
+ const result = getCellValues(table, new Set(["0_name"]));
130
+ expect(result.text).toBe("displayed");
131
+ expect(result.html).toBeUndefined();
132
+ });
133
+
134
+ it("should return html table when cells contain mime bundles", () => {
135
+ const mimeBundle = {
136
+ _serialized_mime_bundle: {
137
+ mimetype: "text/html",
138
+ data: '<a href="https://example.com">link</a>',
139
+ },
140
+ };
141
+ const cell1 = createMockCell("0_url", mimeBundle);
142
+ const cell2 = createMockCell("0_name", "plain text");
143
+ const row = createMockRow("0", [cell1, cell2]);
144
+ const table = createMockTable([row], []);
145
+
146
+ const result = getCellValues(table, new Set(["0_url", "0_name"]));
147
+ expect(result.text).toBe("link\tplain text");
148
+ expect(result.html).toBe(
149
+ '<table><tr><td><a href="https://example.com">link</a></td><td>plain text</td></tr></table>',
150
+ );
151
+ });
152
+
153
+ it("should escape html entities in non-mime cells within html table", () => {
154
+ const mimeBundle = {
155
+ _serialized_mime_bundle: {
156
+ mimetype: "text/html",
157
+ data: "<b>bold</b>",
158
+ },
159
+ };
160
+ const cell1 = createMockCell("0_html", mimeBundle);
161
+ const cell2 = createMockCell("0_text", "a < b & c > d");
162
+ const row = createMockRow("0", [cell1, cell2]);
163
+ const table = createMockTable([row], []);
164
+
165
+ const result = getCellValues(table, new Set(["0_html", "0_text"]));
166
+ expect(result.html).toBe(
167
+ "<table><tr><td><b>bold</b></td><td>a &lt; b &amp; c &gt; d</td></tr></table>",
168
+ );
95
169
  });
96
170
  });
97
171
 
@@ -167,8 +167,8 @@ const {
167
167
  return state;
168
168
  }
169
169
 
170
- const text = getCellValues(table, state.selectedCells);
171
- copyToClipboard(text);
170
+ const { text, html } = getCellValues(table, state.selectedCells);
171
+ copyToClipboard(text, html);
172
172
  onCopyComplete();
173
173
 
174
174
  return {
@@ -91,6 +91,10 @@ export const useCellRangeSelection = <TData>({
91
91
  return;
92
92
  }
93
93
 
94
+ if (isInteractiveTarget(e)) {
95
+ return;
96
+ }
97
+
94
98
  actions.handleCellMouseDown({
95
99
  cell,
96
100
  isShiftKey: e.shiftKey,
@@ -122,3 +126,18 @@ export const useCellRangeSelection = <TData>({
122
126
  clearSelection: actions.clearSelection,
123
127
  };
124
128
  };
129
+
130
+ const INTERACTIVE_SELECTOR =
131
+ 'input, button, select, textarea, a, label, [role="checkbox"], [role="button"], [contenteditable="true"], marimo-ui-element';
132
+
133
+ /**
134
+ * Skip cell selection when the click target is inside an interactive element
135
+ * (e.g. a checkbox or button rendered as rich cell content).
136
+ */
137
+ export function isInteractiveTarget(e: React.MouseEvent): boolean {
138
+ const target = e.target;
139
+ if (target === e.currentTarget || !(target instanceof Element)) {
140
+ return false;
141
+ }
142
+ return target.closest(INTERACTIVE_SELECTOR) !== null;
143
+ }
@@ -2,17 +2,25 @@
2
2
 
3
3
  import type { Table } from "@tanstack/react-table";
4
4
  import { SELECT_COLUMN_ID } from "../types";
5
- import { stringifyUnknownValue } from "../utils";
5
+ import { getClipboardContent, getRawValue } from "../utils";
6
6
  import type { SelectedCell } from "./atoms";
7
7
 
8
+ export interface CellValuesResult {
9
+ text: string;
10
+ html: string | undefined;
11
+ }
12
+
8
13
  /**
9
- * Get the values of the selected cells.
14
+ * Get the values of the selected cells, preferring raw (unformatted) values
15
+ * for plain text. If any cell contains HTML (e.g. a hyperlink), also builds
16
+ * an HTML table so rich content can be preserved on paste.
10
17
  */
11
18
  export function getCellValues<TData>(
12
19
  table: Table<TData>,
13
20
  selectedCellIds: Set<string>,
14
- ): string {
15
- const rowValues = new Map<string, string[]>();
21
+ ): CellValuesResult {
22
+ const rows = new Map<string, { text: string; html?: string }[]>();
23
+ let hasHtml = false;
16
24
 
17
25
  for (const cellId of selectedCellIds) {
18
26
  if (cellId.includes(SELECT_COLUMN_ID)) {
@@ -26,17 +34,46 @@ export function getCellValues<TData>(
26
34
  continue;
27
35
  }
28
36
 
29
- const cellValue = row.getValue(columnId);
30
- const values = rowValues.get(rowId) ?? [];
31
- values.push(stringifyUnknownValue({ value: cellValue }));
32
- rowValues.set(rowId, values);
37
+ const rawValue = getRawValue(table, row.index, columnId);
38
+ const { text, html } = getClipboardContent(
39
+ rawValue,
40
+ row.getValue(columnId),
41
+ );
42
+
43
+ if (html) {
44
+ hasHtml = true;
45
+ }
46
+ const cells = rows.get(rowId) ?? [];
47
+ cells.push({ text, html });
48
+ rows.set(rowId, cells);
49
+ }
50
+
51
+ const rowValues = [...rows.values()];
52
+ const tabSeparatedText = rowValues
53
+ .map((cells) => cells.map((c) => c.text).join("\t"))
54
+ .join("\n");
55
+
56
+ let htmlTable: string | undefined;
57
+ if (hasHtml) {
58
+ const htmlTableRows = rowValues
59
+ .map(
60
+ (cells) =>
61
+ `<tr>${cells.map((c) => `<td>${c.html ?? escapeHtml(c.text)}</td>`).join("")}</tr>`,
62
+ )
63
+ .join("");
64
+ htmlTable = `<table>${htmlTableRows}</table>`;
33
65
  }
34
66
 
35
- return getTabSeparatedValues([...rowValues.values()]);
67
+ return {
68
+ text: tabSeparatedText,
69
+ html: htmlTable,
70
+ };
36
71
  }
37
72
 
38
- export function getTabSeparatedValues(values: string[][]) {
39
- return values.map((row) => row.join("\t")).join("\n");
73
+ function escapeHtml(str: string): string {
74
+ const div = document.createElement("div");
75
+ div.textContent = str;
76
+ return div.innerHTML;
40
77
  }
41
78
 
42
79
  /**
@@ -74,7 +111,8 @@ export function getNumericValuesFromSelectedCells<TData>(
74
111
  continue;
75
112
  }
76
113
 
77
- const value = row.getValue(columnId);
114
+ const value =
115
+ getRawValue(table, row.index, columnId) ?? row.getValue(columnId);
78
116
 
79
117
  // Only accept numbers and strings
80
118
  // Skip booleans, null, etc.
@@ -11,7 +11,8 @@ import {
11
11
  type Table,
12
12
  type Table as TanStackTable,
13
13
  } from "@tanstack/react-table";
14
- import { type JSX, useRef } from "react";
14
+ import { useVirtualizer } from "@tanstack/react-virtual";
15
+ import { type JSX, useLayoutEffect, useRef, useState } from "react";
15
16
  import useEvent from "react-use-event-hook";
16
17
  import {
17
18
  TableBody,
@@ -27,6 +28,7 @@ import { DataTableContextMenu } from "./context-menu";
27
28
  import { CellRangeSelectionIndicator } from "./range-focus/cell-selection-indicator";
28
29
  import { useCellRangeSelection } from "./range-focus/use-cell-range-selection";
29
30
  import { useScrollIntoViewOnFocus } from "./range-focus/use-scroll-into-view";
31
+ import { TABLE_ROW_HEIGHT_PX } from "./types";
30
32
  import { stringifyUnknownValue } from "./utils";
31
33
 
32
34
  export function renderTableHeader<TData>(
@@ -79,6 +81,7 @@ interface DataTableBodyProps<TData> {
79
81
  rowViewerPanelOpen: boolean;
80
82
  getRowIndex?: (row: TData, idx: number) => number;
81
83
  viewedRowIdx?: number;
84
+ virtualize?: boolean;
82
85
  }
83
86
 
84
87
  export const DataTableBody = <TData,>({
@@ -87,9 +90,30 @@ export const DataTableBody = <TData,>({
87
90
  rowViewerPanelOpen,
88
91
  getRowIndex,
89
92
  viewedRowIdx,
93
+ virtualize = false,
90
94
  }: DataTableBodyProps<TData>) => {
91
- // Automatically scroll focused cells into view
95
+ const rows = table.getRowModel().rows;
96
+
97
+ // Find the scroll container (tbody -> table -> overflow-auto wrapper div).
98
+ // Using useState so that when the element becomes available after mount,
99
+ // useVirtualizer re-observes the correct element.
100
+ const [scrollElement, setScrollElement] = useState<HTMLElement | null>(null);
92
101
  const tableRef = useRef<HTMLTableSectionElement>(null);
102
+ useLayoutEffect(() => {
103
+ // tbody.parentElement = table, table.parentElement = overflow wrapper
104
+ setScrollElement(tableRef.current?.parentElement?.parentElement ?? null);
105
+ }, []);
106
+
107
+ // Always call useVirtualizer (rules of hooks); count=0 when not virtualizing
108
+ const virtualizer = useVirtualizer({
109
+ count: virtualize ? rows.length : 0,
110
+ getScrollElement: () => scrollElement,
111
+ estimateSize: () => TABLE_ROW_HEIGHT_PX,
112
+ overscan: 10,
113
+ });
114
+
115
+ // Automatically scroll focused cells into view.
116
+ // In virtual mode, off-screen cells won't be in the DOM so this silently no-ops for them.
93
117
  useScrollIntoViewOnFocus(tableRef);
94
118
 
95
119
  const {
@@ -172,57 +196,90 @@ export const DataTableBody = <TData,>({
172
196
 
173
197
  const hoverTemplate = table.getState().cellHoverTemplate || null;
174
198
 
175
- const tableBody = (
176
- <TableBody onKeyDown={handleCellsKeyDown} ref={tableRef}>
177
- {table.getRowModel().rows?.length ? (
178
- table.getRowModel().rows.map((row) => {
179
- // Only find the row index if the row viewer panel is open
180
- const rowIndex = rowViewerPanelOpen
181
- ? (getRowIndex?.(row.original, row.index) ?? row.index)
182
- : undefined;
183
- const isRowViewedInPanel =
184
- rowViewerPanelOpen && viewedRowIdx === rowIndex;
199
+ const renderRow = (row: Row<TData>) => {
200
+ // Only find the row index if the row viewer panel is open
201
+ const rowIndex = rowViewerPanelOpen
202
+ ? (getRowIndex?.(row.original, row.index) ?? row.index)
203
+ : undefined;
204
+ const isRowViewedInPanel = rowViewerPanelOpen && viewedRowIdx === rowIndex;
205
+
206
+ // Compute hover title once per row using all visible cells
207
+ let rowTitle: string | undefined;
208
+ if (hoverTemplate) {
209
+ const visibleCells = row.getVisibleCells?.() ?? [
210
+ ...row.getLeftVisibleCells(),
211
+ ...row.getCenterVisibleCells(),
212
+ ...row.getRightVisibleCells(),
213
+ ];
214
+ rowTitle = applyHoverTemplate(hoverTemplate, visibleCells);
215
+ }
185
216
 
186
- // Compute hover title once per row using all visible cells
187
- let rowTitle: string | undefined;
188
- if (hoverTemplate) {
189
- const visibleCells = row.getVisibleCells?.() ?? [
190
- ...row.getLeftVisibleCells(),
191
- ...row.getCenterVisibleCells(),
192
- ...row.getRightVisibleCells(),
193
- ];
194
- rowTitle = hoverTemplate
195
- ? applyHoverTemplate(hoverTemplate, visibleCells)
196
- : undefined;
197
- }
217
+ return (
218
+ <TableRow
219
+ key={row.id}
220
+ data-state={row.getIsSelected() && "selected"}
221
+ title={rowTitle}
222
+ // These classes ensure that empty rows (nulls) still render
223
+ className={cn(
224
+ "border-t h-6",
225
+ rowViewerPanelOpen && "cursor-pointer",
226
+ isRowViewedInPanel &&
227
+ "bg-(--blue-3) hover:bg-(--blue-3) data-[state=selected]:bg-(--blue-4)",
228
+ )}
229
+ onClick={() => handleRowClick(row)}
230
+ >
231
+ {renderCells(row.getLeftVisibleCells())}
232
+ {renderCells(row.getCenterVisibleCells())}
233
+ {renderCells(row.getRightVisibleCells())}
234
+ </TableRow>
235
+ );
236
+ };
198
237
 
199
- return (
200
- <TableRow
201
- key={row.id}
202
- data-state={row.getIsSelected() && "selected"}
203
- title={rowTitle}
204
- // These classes ensure that empty rows (nulls) still render
205
- className={cn(
206
- "border-t h-6",
207
- rowViewerPanelOpen && "cursor-pointer",
208
- isRowViewedInPanel &&
209
- "bg-(--blue-3) hover:bg-(--blue-3) data-[state=selected]:bg-(--blue-4)",
210
- )}
211
- onClick={() => handleRowClick(row)}
212
- >
213
- {renderCells(row.getLeftVisibleCells())}
214
- {renderCells(row.getCenterVisibleCells())}
215
- {renderCells(row.getRightVisibleCells())}
216
- </TableRow>
217
- );
218
- })
219
- ) : (
238
+ const renderRows = () => {
239
+ if (rows.length === 0) {
240
+ return (
220
241
  <TableRow>
221
242
  <TableCell colSpan={columns.length} className="h-24 text-center">
222
243
  No results.
223
244
  </TableCell>
224
245
  </TableRow>
225
- )}
246
+ );
247
+ }
248
+
249
+ if (virtualize) {
250
+ const virtualItems = virtualizer.getVirtualItems();
251
+ const totalSize = virtualizer.getTotalSize();
252
+ return (
253
+ <>
254
+ {virtualItems[0]?.start > 0 && (
255
+ <tr
256
+ data-virtual-spacer=""
257
+ style={{ height: virtualItems[0].start }}
258
+ >
259
+ <td colSpan={columns.length} />
260
+ </tr>
261
+ )}
262
+ {virtualItems.map((vItem) => renderRow(rows[vItem.index]))}
263
+ {virtualItems.length > 0 && (
264
+ <tr
265
+ data-virtual-spacer=""
266
+ style={{
267
+ height: totalSize - (virtualItems.at(-1)?.end ?? totalSize),
268
+ }}
269
+ >
270
+ <td colSpan={columns.length} />
271
+ </tr>
272
+ )}
273
+ </>
274
+ );
275
+ }
276
+
277
+ return rows.map((row) => renderRow(row));
278
+ };
279
+
280
+ const tableBody = (
281
+ <TableBody onKeyDown={handleCellsKeyDown} ref={tableRef}>
282
+ {renderRows()}
226
283
  </TableBody>
227
284
  );
228
285
 
@@ -1,8 +1,29 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
+ import type { RowData } from "@tanstack/react-table";
3
4
  import type { DataType } from "@/core/kernel/messages";
4
5
  import { Objects } from "@/utils/objects";
5
6
 
7
+ declare module "@tanstack/react-table" {
8
+ interface TableMeta<TData extends RowData> {
9
+ rawData?: TData[]; // raw data for filtering/copying (present only if format_mapping is provided)
10
+ }
11
+ }
12
+
13
+ // Pixel heights derived from Tailwind classes applied to table elements.
14
+ // row: h-6 = 24px (TableRow in renderers.tsx)
15
+ // header: min-h-10 = 40px (TableHead in renderers.tsx)
16
+ export const TABLE_ROW_HEIGHT_PX = 24;
17
+ export const TABLE_HEADER_HEIGHT_PX = 40;
18
+
19
+ // Default number of visible rows when virtualizing without an explicit maxHeight.
20
+ export const DEFAULT_VIRTUAL_ROWS = 15;
21
+
22
+ // Minimum row count before virtualization kicks in. Below this threshold the
23
+ // DOM overhead is negligible and the virtualizer's measurement cost isn't
24
+ // worth it. Must be greater than DEFAULT_VIRTUAL_ROWS.
25
+ export const MIN_ROWS_TO_VIRTUALIZE = 100;
26
+
6
27
  export type ColumnName = string;
7
28
 
8
29
  export const ColumnHeaderStatsKeys = [
@@ -1,8 +1,10 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
+ import type { Table } from "@tanstack/react-table";
3
4
  import type { TableData } from "@/plugins/impl/DataTablePlugin";
4
5
  import { vegaLoadData } from "@/plugins/impl/vega/loader";
5
6
  import { jsonParseWithSpecialChar } from "@/utils/json/json-parser";
7
+ import { getMimeValues } from "./mime-cell";
6
8
  import { INDEX_COLUMN_NAME } from "./types";
7
9
 
8
10
  /**
@@ -32,6 +34,21 @@ export async function loadTableData<T = object>(
32
34
  return tableData;
33
35
  }
34
36
 
37
+ /**
38
+ * Load both table and raw table data. Raw table data is typically when
39
+ * there is formatting applied to the table data.
40
+ */
41
+ export async function loadTableAndRawData<T>(
42
+ tableData: TableData<T>,
43
+ rawTableData?: TableData<T> | null,
44
+ ): Promise<[T[], T[] | undefined]> {
45
+ if (rawTableData) {
46
+ return Promise.all([loadTableData(tableData), loadTableData(rawTableData)]);
47
+ }
48
+
49
+ return [await loadTableData(tableData), undefined];
50
+ }
51
+
35
52
  /**
36
53
  * Get the stable row ID for a row.
37
54
  *
@@ -87,3 +104,73 @@ export function stringifyUnknownValue(opts: {
87
104
  }
88
105
  return String(value);
89
106
  }
107
+
108
+ function stripHtml(html: string): string {
109
+ const div = document.createElement("div");
110
+ div.innerHTML = html;
111
+ const text = (div.textContent || div.innerText || "").trim();
112
+ return text || html;
113
+ }
114
+
115
+ const HTML_MIMETYPES = new Set(["text/html", "text/markdown"]);
116
+
117
+ function isRecord(value: unknown): value is Record<string, unknown> {
118
+ return value !== null && typeof value === "object" && !Array.isArray(value);
119
+ }
120
+
121
+ /**
122
+ * Get clipboard-ready text and optional HTML for a cell.
123
+ *
124
+ * @param rawValue - The raw (unformatted) value, or undefined if not available.
125
+ * @param displayedValue - The displayed value (may be a mime bundle).
126
+ */
127
+ export function getClipboardContent(
128
+ rawValue: unknown,
129
+ displayedValue: unknown,
130
+ ): { text: string; html?: string } {
131
+ const mimeValues =
132
+ typeof displayedValue === "object" && displayedValue !== null
133
+ ? getMimeValues(displayedValue)
134
+ : undefined;
135
+
136
+ let html: string | undefined;
137
+ if (mimeValues) {
138
+ // text/markdown from mo.md() contains rendered HTML
139
+ const htmlParts = mimeValues
140
+ .filter((v) => HTML_MIMETYPES.has(v.mimetype))
141
+ .map((v) => v.data);
142
+ html = htmlParts.length > 0 ? htmlParts.join("") : undefined;
143
+ }
144
+
145
+ let text: string;
146
+ if (rawValue !== undefined && rawValue !== displayedValue) {
147
+ text = stringifyUnknownValue({ value: rawValue });
148
+ } else if (mimeValues) {
149
+ text = mimeValues
150
+ .map((v) => (HTML_MIMETYPES.has(v.mimetype) ? stripHtml(v.data) : v.data))
151
+ .join(", ");
152
+ } else {
153
+ text = stringifyUnknownValue({ value: displayedValue });
154
+ }
155
+
156
+ return { text, html };
157
+ }
158
+
159
+ /**
160
+ * Get the raw (unformatted) value for a row/column from the table,
161
+ * or undefined if raw data is not available.
162
+ */
163
+ export function getRawValue<TData>(
164
+ table: Table<TData>,
165
+ rowIndex: number,
166
+ columnId: string,
167
+ ): unknown {
168
+ const rawData = table.options.meta?.rawData;
169
+ if (rawData) {
170
+ const rawRow = rawData[rowIndex];
171
+ if (isRecord(rawRow)) {
172
+ return rawRow[columnId];
173
+ }
174
+ }
175
+ return undefined;
176
+ }
@@ -28,6 +28,7 @@ import {
28
28
  INTERNAL_SQL_ENGINES,
29
29
  } from "@/core/datasets/engines";
30
30
  import {
31
+ PreviewSQLSchemaList,
31
32
  PreviewSQLTable,
32
33
  PreviewSQLTableList,
33
34
  } from "@/core/datasets/request-registry";
@@ -80,6 +81,7 @@ const INDENT = {
80
81
  database: "pl-4",
81
82
  schemaEmpty: "pl-8",
82
83
  schema: "pl-7",
84
+ schemaLoading: "pl-8",
83
85
  tableLoading: "pl-11",
84
86
  tableSchemaless: "pl-8",
85
87
  tableWithSchema: "pl-12",
@@ -369,6 +371,49 @@ const SchemaList: React.FC<{
369
371
  hasSearch,
370
372
  searchValue,
371
373
  }) => {
374
+ const { addSchemaList } = useDataSourceActions();
375
+ const [schemasRequested, setSchemasRequested] = React.useState(false);
376
+
377
+ // Custom loading state, we need to wait for the data to propagate once requested
378
+ // useAsyncData's loading state may return false before data has propagated
379
+ const [schemasLoading, setSchemasLoading] = React.useState(false);
380
+
381
+ const { isPending, error } = useAsyncData(async () => {
382
+ if (schemas.length === 0 && engineName && !schemasRequested) {
383
+ setSchemasRequested(true);
384
+ setSchemasLoading(true);
385
+ try {
386
+ const previewSchemaList = await PreviewSQLSchemaList.request({
387
+ engine: engineName,
388
+ database: databaseName,
389
+ });
390
+
391
+ addSchemaList({
392
+ schemas: previewSchemaList.schemas ?? [],
393
+ sqlSchemaContext: {
394
+ engine: engineName,
395
+ database: databaseName,
396
+ },
397
+ });
398
+ } finally {
399
+ setSchemasLoading(false);
400
+ }
401
+ }
402
+ }, [schemas.length, engineName, databaseName, schemasRequested]);
403
+
404
+ if (isPending || schemasLoading) {
405
+ return (
406
+ <LoadingState
407
+ message="Loading schemas..."
408
+ className={INDENT.schemaLoading}
409
+ />
410
+ );
411
+ }
412
+
413
+ if (error) {
414
+ return <ErrorState error={error} className={INDENT.schemaLoading} />;
415
+ }
416
+
372
417
  if (schemas.length === 0) {
373
418
  return (
374
419
  <EmptyState