@marimo-team/frontend 0.23.2-dev6 → 0.23.2-dev61

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