@marimo-team/frontend 0.23.10-dev3 → 0.23.10-dev30

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 (669) hide show
  1. package/dist/assets/{CellStatus-D_RReCKN.js → CellStatus-BKK6G_iZ.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-W0UfNkj7.js → ConnectedDataExplorerComponent-Vdy8K3hf.js} +1 -1
  3. package/dist/assets/{ImperativeModal-B3Th7k4R.js → ImperativeModal-CDPfRIx5.js} +1 -1
  4. package/dist/assets/JsonOutput-Bg1SpAZP.js +53 -0
  5. package/dist/assets/LazyAnyLanguageCodeMirror-DClDnO_2.js +2 -0
  6. package/dist/assets/{MarimoErrorOutput-HYZo17DD.js → MarimoErrorOutput-BQyzDTet.js} +1 -1
  7. package/dist/assets/{RSPContexts-CdN1NyAt.js → RSPContexts-QoVyPvhN.js} +1 -1
  8. package/dist/assets/{RenderHTML-B_YU1hMw.js → RenderHTML-B5i6Qdbh.js} +1 -1
  9. package/dist/assets/RunButton-ACHY83op.js +1 -0
  10. package/dist/assets/__vite-browser-external-CeH7R2Sf.js +1 -0
  11. package/dist/assets/__vite-browser-external-DTK_qJHK.js +1 -0
  12. package/dist/assets/{add-cell-with-ai-QmkSVxE_.js → add-cell-with-ai-Bt1jO2nX.js} +12 -12
  13. package/dist/assets/{add-connection-dialog-C_d6NoB6.js → add-connection-dialog-D0x71Nfb.js} +1 -1
  14. package/dist/assets/{agent-panel-Dq-14MP2.js → agent-panel-hQYUxnQ5.js} +1 -1
  15. package/dist/assets/{ai-model-dropdown-BZsz2gBj.js → ai-model-dropdown-BEPeAxTW.js} +1 -1
  16. package/dist/assets/{alert-dialog-BqFLkbUc.js → alert-dialog-5BGIfskO.js} +2 -2
  17. package/dist/assets/{any-language-editor-CXeLf_N8.js → any-language-editor-4KTAtjWB.js} +1 -1
  18. package/dist/assets/apl-DpOiWl6J.js +1 -0
  19. package/dist/assets/{app-config-button-DrjQAYDI.js → app-config-button-BeBbgBbf.js} +1 -1
  20. package/dist/assets/{arc-CWuN1tfc.js → arc-xh3ZebK_.js} +1 -1
  21. package/dist/assets/{architecture-7HQA4BMR-DJtUfdk-.js → architecture-7HQA4BMR-CtZSskKa.js} +1 -1
  22. package/dist/assets/{architectureDiagram-VXUJARFQ-Cgi4wo9P.js → architectureDiagram-VXUJARFQ-BOj65Cij.js} +1 -1
  23. package/dist/assets/asciiarmor-DVIuYySe.js +1 -0
  24. package/dist/assets/asn1-CWHjZJq6.js +1 -0
  25. package/dist/assets/{blockDiagram-VD42YOAC-CsHap8-F.js → blockDiagram-VD42YOAC-C1dCrclf.js} +1 -1
  26. package/dist/assets/brainfuck-CIKJewgG.js +1 -0
  27. package/dist/assets/{c4Diagram-YG6GDRKO-CZuArudM.js → c4Diagram-YG6GDRKO-i2yUrWYM.js} +1 -1
  28. package/dist/assets/{cache-panel-DYiVMv5x.js → cache-panel-Cs308ish.js} +1 -1
  29. package/dist/assets/{cell-editor-BnxVODbx.js → cell-editor-Brq_fn75.js} +12 -12
  30. package/dist/assets/{cell-link-Gwsf-bMV.js → cell-link-BFEa98Sc.js} +1 -1
  31. package/dist/assets/{cells-BRMYB7Wo.js → cells-k7Js5h2t.js} +68 -66
  32. package/dist/assets/cells-pu5xzE_v.css +2 -0
  33. package/dist/assets/channel-C8k5aAg8.js +1 -0
  34. package/dist/assets/{chat-display-DG6DhHcQ.js → chat-display-Umskg52b.js} +1 -1
  35. package/dist/assets/{chat-panel-BvrrOl8J.js → chat-panel-BEpdLxDR.js} +1 -1
  36. package/dist/assets/{chat-ui-g5FqhPv-.js → chat-ui-qtgqHWnk.js} +1 -1
  37. package/dist/assets/{chunk-4BX2VUAB-Ca6WzYTr.js → chunk-4BX2VUAB-CHtIUBVX.js} +1 -1
  38. package/dist/assets/chunk-55IACEB6-DJtiFmZI.js +1 -0
  39. package/dist/assets/{chunk-5FQGJX7Z-D9iBG0F7.js → chunk-5FQGJX7Z-Bp9g5nD2.js} +2 -2
  40. package/dist/assets/{chunk-ABZYJK2D-BG7Eb4WW.js → chunk-ABZYJK2D-CW6LcQEi.js} +3 -3
  41. package/dist/assets/{chunk-ATLVNIR6-CqLn9HI1.js → chunk-ATLVNIR6-CaXl_ZVt.js} +1 -1
  42. package/dist/assets/{chunk-B4BG7PRW-D4SyZNjn.js → chunk-B4BG7PRW-Dkcioyxv.js} +1 -1
  43. package/dist/assets/{chunk-CVBHYZKI-C-NWvPQL.js → chunk-CVBHYZKI-Cx6_q0Bq.js} +1 -1
  44. package/dist/assets/{chunk-DI55MBZ5-t9uiMPiN.js → chunk-DI55MBZ5-CpmNjAbj.js} +1 -1
  45. package/dist/assets/{chunk-EXTU4WIE-BmVk7Fyq.js → chunk-EXTU4WIE-BfQ60QJd.js} +1 -1
  46. package/dist/assets/{chunk-FMBD7UC4-DlnzxSkO.js → chunk-FMBD7UC4-Dzk6L3_z.js} +1 -1
  47. package/dist/assets/{chunk-HN2XXSSU-Bcaj5fRB.js → chunk-HN2XXSSU-DKAgaU5O.js} +1 -1
  48. package/dist/assets/{chunk-JA3XYJ7Z-B5b2QHOb.js → chunk-JA3XYJ7Z-Cx9lJRz-.js} +1 -1
  49. package/dist/assets/{chunk-JZLCHNYA-1_sVfAnw.js → chunk-JZLCHNYA-LdSYK6Ej.js} +1 -1
  50. package/dist/assets/{chunk-MI3HLSF2-DqzZqBCh.js → chunk-MI3HLSF2-AJRVV4NE.js} +1 -1
  51. package/dist/assets/{chunk-N4CR4FBY-CFJoD-EQ.js → chunk-N4CR4FBY-DM96YL3R.js} +2 -2
  52. package/dist/assets/{chunk-QN33PNHL-BBE_bx9E.js → chunk-QN33PNHL-4cZDuwgu.js} +1 -1
  53. package/dist/assets/{chunk-QXUST7PY-Cu1nR-L2.js → chunk-QXUST7PY-Di5YbBao.js} +1 -1
  54. package/dist/assets/{chunk-QZHKN3VN-BAnb9AKF.js → chunk-QZHKN3VN-B2hZ4g68.js} +1 -1
  55. package/dist/assets/{chunk-S3R3BYOJ-Cl0iW04v.js → chunk-S3R3BYOJ-BAKX3hoQ.js} +1 -1
  56. package/dist/assets/{chunk-TZMSLE5B-f5ix6iSd.js → chunk-TZMSLE5B-BFdV9a1D.js} +1 -1
  57. package/dist/assets/classDiagram-2ON5EDUG-CFISa78E.js +1 -0
  58. package/dist/assets/classDiagram-v2-WZHVMYZB-BzMNKvre.js +1 -0
  59. package/dist/assets/{clike-bdcjLdZ4.js → clike-wo4CVrJj.js} +1 -1
  60. package/dist/assets/clojure-CTxjMkBI.js +1 -0
  61. package/dist/assets/cmake-aJ0aGjat.js +1 -0
  62. package/dist/assets/cobol-Dw9T4cw-.js +1 -0
  63. package/dist/assets/{code-block-37QAKDTI-B19XL3UR.js → code-block-37QAKDTI-Cj7FoIhl.js} +1 -1
  64. package/dist/assets/coffeescript-B5HCKl_0.js +1 -0
  65. package/dist/assets/column-preview-CibBmCB_.js +1 -0
  66. package/dist/assets/{command-KARR7KMq.js → command-BkXWJLBP.js} +1 -1
  67. package/dist/assets/{command-palette-NK5d8oXe.js → command-palette-DLeYFxOX.js} +1 -1
  68. package/dist/assets/{common-uMN7vCPi.js → common-C9lH0PD9.js} +1 -1
  69. package/dist/assets/commonlisp-C578hhl1.js +1 -0
  70. package/dist/assets/{components-C6xgQdpy.js → components-CXG-2UWv.js} +1 -1
  71. package/dist/assets/{copy-icon-OjtDb4gO.js → copy-icon-BuRdHNPA.js} +1 -1
  72. package/dist/assets/{cose-bilkent-S5V4N54A-CQqSLzd1.js → cose-bilkent-S5V4N54A-DsnN-_2o.js} +1 -1
  73. package/dist/assets/crystal-D84c1nzD.js +1 -0
  74. package/dist/assets/{css-ACAb8MRM.js → css-BJsW3aHa.js} +1 -1
  75. package/dist/assets/cypher-DBO3MHmN.js +1 -0
  76. package/dist/assets/d-KvHiAR3H.js +1 -0
  77. package/dist/assets/{dagre-6UL2VRFP-CVKXpDlr.js → dagre-6UL2VRFP-CHMBr-on.js} +1 -1
  78. package/dist/assets/{data-grid-overlay-editor-BdDYn72O.js → data-grid-overlay-editor-orng_e3E.js} +1 -1
  79. package/dist/assets/{datasource-CHSjxFZg.js → datasource-mov7mYsn.js} +1 -1
  80. package/dist/assets/dependency-graph-panel-DCUqRSKS.js +5 -0
  81. package/dist/assets/{diagram-PSM6KHXK-BfzLNKp-.js → diagram-PSM6KHXK-BAkhyJz0.js} +1 -1
  82. package/dist/assets/{diagram-QEK2KX5R-D_H77Ni5.js → diagram-QEK2KX5R-OUubZf2n.js} +1 -1
  83. package/dist/assets/{diagram-S2PKOQOG-DJmVBeMk.js → diagram-S2PKOQOG-CGIZL2qm.js} +1 -1
  84. package/dist/assets/{dialog-DzC_QCtT.js → dialog-DRnNAWYl.js} +1 -1
  85. package/dist/assets/diff-BmUpKGx-.js +1 -0
  86. package/dist/assets/dist-0sLFAEuj.js +1 -0
  87. package/dist/assets/dist-2FedModH.js +7 -0
  88. package/dist/assets/{dist-CNyMUs19.js → dist-2TkSwR77.js} +1 -1
  89. package/dist/assets/dist-AQEMgdxp.js +1 -0
  90. package/dist/assets/dist-B65RnwM5.js +1 -0
  91. package/dist/assets/dist-BURue7-e.js +3 -0
  92. package/dist/assets/{dist-A7swzSTR.js → dist-BXcZeTeA.js} +1 -1
  93. package/dist/assets/dist-BXeHg5NQ.js +1 -0
  94. package/dist/assets/{dist-DqVEVg0c.js → dist-BcvGVYKl.js} +1 -1
  95. package/dist/assets/dist-BdKlcwR7.js +1 -0
  96. package/dist/assets/{dist-CsvFAFh9.js → dist-BieDRQs9.js} +1 -1
  97. package/dist/assets/{dist-HlsDto3K.js → dist-Bo13cFwO.js} +1 -1
  98. package/dist/assets/dist-Bqr3AzD8.js +1 -0
  99. package/dist/assets/{dist-C78V1LRz.js → dist-BscEQwf7.js} +1 -1
  100. package/dist/assets/{dist-CpTFpfm_.js → dist-BwnT-_gD.js} +1 -1
  101. package/dist/assets/dist-BznMRbTz.js +1 -0
  102. package/dist/assets/dist-C5PcfT25.js +1 -0
  103. package/dist/assets/{dist-BdyjRhEt.js → dist-CWMKC7yO.js} +1 -1
  104. package/dist/assets/dist-CZ5EKIth.js +1 -0
  105. package/dist/assets/{dist-CJIOLS6O.js → dist-CbwsxTDg.js} +1 -1
  106. package/dist/assets/dist-CdtVwSQt.js +1 -0
  107. package/dist/assets/{dist-Dr8mWwQ_.js → dist-ChrXdgjb.js} +1 -1
  108. package/dist/assets/{dist-CqEym3Sr.js → dist-CvuhNTbr.js} +1 -1
  109. package/dist/assets/{dist-CKT_lJKW.js → dist-CycP1Cdf.js} +1 -1
  110. package/dist/assets/{dist-BrR4M-k3.js → dist-D0HyMpgV.js} +12 -11
  111. package/dist/assets/{dist-CciFN1z_.js → dist-D2g-G0wk.js} +1 -1
  112. package/dist/assets/dist-D3lJti6y.js +1 -0
  113. package/dist/assets/dist-DBklo-uX.js +1 -0
  114. package/dist/assets/{dist-DUHHizRG.js → dist-DCzr8T5W.js} +1 -1
  115. package/dist/assets/{dist-BlOtCkpT.js → dist-DU8NrdIh.js} +1 -1
  116. package/dist/assets/dist-DUDjfnME.js +1 -0
  117. package/dist/assets/dist-DVkC-Qmw.js +2 -0
  118. package/dist/assets/{dist-CocyeH0q.js → dist-DgGMawx8.js} +1 -1
  119. package/dist/assets/dist-Dq1Qheae.js +1 -0
  120. package/dist/assets/{dist-D70Tz1Kr.js → dist-DxlQcmyw.js} +1 -1
  121. package/dist/assets/dist-GiCZ_RyY.js +1 -0
  122. package/dist/assets/{dist-CBSMxaO_.js → dist-HyCgERnW.js} +4 -4
  123. package/dist/assets/{dist-CpcTHxTt.js → dist-Otadb4Hb.js} +1 -1
  124. package/dist/assets/dist-PCikvPoP.js +1 -0
  125. package/dist/assets/{dist-4ni0fia5.js → dist-PHrL7abE.js} +3 -3
  126. package/dist/assets/{dist-BQeNY9Zl.js → dist-QqcJxlfK.js} +1 -1
  127. package/dist/assets/dist-RMRSa-Mj.js +13 -0
  128. package/dist/assets/dist-RnuaWZoB.js +1 -0
  129. package/dist/assets/{dist-C9ZB41s2.js → dist-YEXtMjTi.js} +2 -2
  130. package/dist/assets/dist-deBZx53p.js +1 -0
  131. package/dist/assets/{dist-BF6UNR6V.js → dist-flL-WW8v.js} +1 -1
  132. package/dist/assets/dist-rBRbke5D.js +1 -0
  133. package/dist/assets/{dockerfile-BSMbgQQl.js → dockerfile-DQFWVVcg.js} +1 -1
  134. package/dist/assets/{documentation-panel-6ZJIjjrY.js → documentation-panel-CQ8pDf0n.js} +1 -1
  135. package/dist/assets/download-GddKDXL8.js +9 -0
  136. package/dist/assets/{dropdown-menu-CR7cnzLX.js → dropdown-menu-CZ4XbE-c.js} +1 -1
  137. package/dist/assets/dtd-Dwf-AbUl.js +1 -0
  138. package/dist/assets/dylan-VHUB-7ez.js +1 -0
  139. package/dist/assets/ecl-DvGrObaA.js +1 -0
  140. package/dist/assets/edit-page-BgX4RqUv.js +9 -0
  141. package/dist/assets/eiffel-CUYga93e.js +1 -0
  142. package/dist/assets/elm-BhMhmEP6.js +1 -0
  143. package/dist/assets/{erDiagram-Q2GNP2WA-ROTNwSJz.js → erDiagram-Q2GNP2WA-Da5CNIuT.js} +1 -1
  144. package/dist/assets/erlang-D4xbdJFD.js +1 -0
  145. package/dist/assets/{error-banner-LdWZDbqd.js → error-banner-DWuez3Jq.js} +1 -1
  146. package/dist/assets/{error-panel-BAL4mIVv.js → error-panel-lbt2yT6e.js} +1 -1
  147. package/dist/assets/{es-DGgq-Wes.js → es-By9LYOsD.js} +1 -1
  148. package/dist/assets/{esm-DeiyaVAJ.js → esm-DgI-7XOj.js} +1 -1
  149. package/dist/assets/esm-xaw4Vy8N.js +1 -0
  150. package/dist/assets/eye-off-Cm6DdkeR.js +1 -0
  151. package/dist/assets/factor-C0grrWrC.js +1 -0
  152. package/dist/assets/{factor-C-_cRSDM.js → factor-Ccw_GUUV.js} +1 -1
  153. package/dist/assets/{field-zLmMOSA4.js → field-BWxnw0_c.js} +1 -1
  154. package/dist/assets/file-explorer-panel-B80nuHmZ.js +26 -0
  155. package/dist/assets/{file-icons-CNegz5Wt.js → file-icons-on-PIYta.js} +1 -1
  156. package/dist/assets/{file-name-input-BNHbCr1E.js → file-name-input-5TJN9FVv.js} +3 -3
  157. package/dist/assets/{fileToBase64-DZfwJMrG.js → fileToBase64-D15LPv1Y.js} +1 -1
  158. package/dist/assets/{floating-outline-C_E8vH7G.js → floating-outline-CCH9y0X9.js} +1 -1
  159. package/dist/assets/{flowDiagram-NV44I4VS--ee3IIVF.js → flowDiagram-NV44I4VS-BxZczAJ3.js} +1 -1
  160. package/dist/assets/{focus-B2t0WTxH.js → focus-CRI5ilWC.js} +1 -1
  161. package/dist/assets/{form-BnFjtYoC.js → form-BUnTfUo-.js} +2 -2
  162. package/dist/assets/forth-CSTdXn4A.js +1 -0
  163. package/dist/assets/fortran-fENQO2l9.js +1 -0
  164. package/dist/assets/{fullscreen-eipL3i3Y.js → fullscreen-DFky0PAA.js} +3 -3
  165. package/dist/assets/{gallery-page-Bcf7fYLy.js → gallery-page-ClMvrHMz.js} +1 -1
  166. package/dist/assets/{ganttDiagram-JELNMOA3-BGhmW2aP.js → ganttDiagram-JELNMOA3-D6lhmAdR.js} +1 -1
  167. package/dist/assets/gas-CPJMP4zj.js +1 -0
  168. package/dist/assets/gherkin-CiUmN4EE.js +1 -0
  169. package/dist/assets/{gitGraph-G5XIXVHT-DuJ_0c_E.js → gitGraph-G5XIXVHT-Du3ykVxi.js} +1 -1
  170. package/dist/assets/{gitGraphDiagram-V2S2FVAM-DXFCZcxr.js → gitGraphDiagram-V2S2FVAM-Cn2X9uyf.js} +1 -1
  171. package/dist/assets/{glide-data-editor-DqKNgyfg.js → glide-data-editor-C_ammsJR.js} +4 -4
  172. package/dist/assets/{globals-7JnRMGd4.js → globals-BivClSmn.js} +1 -1
  173. package/dist/assets/groovy-DMooZA1X.js +1 -0
  174. package/dist/assets/haskell-sDlThg6u.js +1 -0
  175. package/dist/assets/haxe-Do80ITri.js +1 -0
  176. package/dist/assets/home-page-a0C5a4iJ.js +4 -0
  177. package/dist/assets/{hooks-DTSuaBec.js → hooks-C153jvoU.js} +1 -1
  178. package/dist/assets/{html-to-image-GGmvROsd.js → html-to-image-rLeQGF-G.js} +1 -1
  179. package/dist/assets/idl-DFPg6k4F.js +1 -0
  180. package/dist/assets/index-Ct3LgsQ8.css +2 -0
  181. package/dist/assets/index-CyOq1SNo.js +38 -0
  182. package/dist/assets/{info-VBDWY6EO-DPQEAe2T.js → info-VBDWY6EO-DfrFT_jr.js} +1 -1
  183. package/dist/assets/infoDiagram-HS3SLOUP-DkUueEWV.js +2 -0
  184. package/dist/assets/{input-C3Hrdlqq.js → input-DckzEovC.js} +1 -1
  185. package/dist/assets/javascript-BGc4iHiT.js +1 -0
  186. package/dist/assets/{journeyDiagram-XKPGCS4Q-9D2JCyrN.js → journeyDiagram-XKPGCS4Q-D_8hf_60.js} +1 -1
  187. package/dist/assets/julia-BHNHVraD.js +1 -0
  188. package/dist/assets/{kanban-definition-3W4ZIXB7-DxV26rf-.js → kanban-definition-3W4ZIXB7-DLnwfoGw.js} +1 -1
  189. package/dist/assets/katex-Bty7Bcil.js +1 -0
  190. package/dist/assets/{kiosk-mode-Di1lkQq9.js → kiosk-mode-DhNcHA04.js} +1 -1
  191. package/dist/assets/{label-xHqFtfdz.js → label-C2_YQRio.js} +1 -1
  192. package/dist/assets/layout-C_EG2AcB.js +9 -0
  193. package/dist/assets/{line-x4bpd_8D.js → line-VKarCWVL.js} +1 -1
  194. package/dist/assets/{linear-CW_ww8od.js → linear-BrLBJGJq.js} +1 -1
  195. package/dist/assets/livescript-Bv2FpOTI.js +1 -0
  196. package/dist/assets/{logs-panel-CaW-dsNY.js → logs-panel-c4pWZhi-.js} +1 -1
  197. package/dist/assets/{loro_wasm_bg-CtNTubKN.js → loro_wasm_bg-Drxc4adW.js} +1 -1
  198. package/dist/assets/lua-BysKHKPZ.js +1 -0
  199. package/dist/assets/{markdown-renderer-CHlWY8PG.js → markdown-renderer-BFAnsPek.js} +3 -3
  200. package/dist/assets/mathematica-BBTHoTvM.js +1 -0
  201. package/dist/assets/mbox-DeT9_lvk.js +1 -0
  202. package/dist/assets/{menu-items-DcP01QzW.js → menu-items-BP7Ju9ww.js} +1 -1
  203. package/dist/assets/mermaid-4DMBBIKO-Otg-raA6.js +1 -0
  204. package/dist/assets/{mermaid-Bes0ynI8.js → mermaid-a0JtkT4R.js} +3 -3
  205. package/dist/assets/{mermaid-parser.core-aYU6qXxk.js → mermaid-parser.core-B73Gp-Wo.js} +2 -2
  206. package/dist/assets/{mhchem-8N2oE3tb.js → mhchem-LBCEVJFr.js} +1 -1
  207. package/dist/assets/{mindmap-definition-VGOIOE7T-DTJAbAQ8.js → mindmap-definition-VGOIOE7T-DO_Zb7LC.js} +1 -1
  208. package/dist/assets/mirc-D5fMSrXQ.js +1 -0
  209. package/dist/assets/mllike-BtxCpmpf.js +1 -0
  210. package/dist/assets/modelica-CRQcZpK6.js +1 -0
  211. package/dist/assets/mscgen-BfscU11q.js +1 -0
  212. package/dist/assets/multi-map-C4OANz8X.js +1 -0
  213. package/dist/assets/mumps-g7ooySbl.js +1 -0
  214. package/dist/assets/{name-cell-input-DUOo0eNf.js → name-cell-input-mVvyyh5P.js} +1 -1
  215. package/dist/assets/nsis-BtyCmCHZ.js +1 -0
  216. package/dist/assets/{nsis-BGZ5EB-j.js → nsis-CzZqoCdu.js} +1 -1
  217. package/dist/assets/ntriples-DLyxF-NO.js +1 -0
  218. package/dist/assets/{number-overlay-editor-DL4IwqDH.js → number-overlay-editor-DyhbXrfU.js} +1 -1
  219. package/dist/assets/octave-CFXP_zzr.js +1 -0
  220. package/dist/assets/{ordinal-_nQ2r1qQ.js → ordinal-DgI3JO68.js} +1 -1
  221. package/dist/assets/{outline-panel-BOHhothv.js → outline-panel-DdPSzT5z.js} +1 -1
  222. package/dist/assets/oz-CrQbC0N_.js +1 -0
  223. package/dist/assets/{packages-panel-4nEohRPp.js → packages-panel-C4tFa1Sc.js} +1 -1
  224. package/dist/assets/{packet-DYOGHKS2-CxgeJpvT.js → packet-DYOGHKS2-DoIJcGk-.js} +1 -1
  225. package/dist/assets/{pair-with-agent-modal-1tufe5MP.js → pair-with-agent-modal-_SlYEcmZ.js} +1 -1
  226. package/dist/assets/{panels-BAdoiY2Y.js → panels-CAd4fjM2.js} +1 -1
  227. package/dist/assets/pascal-CCSZgYZH.js +1 -0
  228. package/dist/assets/perl-Bc1MycMl.js +1 -0
  229. package/dist/assets/{pie-VRWISCQL-GZ13ReaG.js → pie-VRWISCQL-DYulZZ0A.js} +1 -1
  230. package/dist/assets/{pieDiagram-ADFJNKIX-_3l2XiEo.js → pieDiagram-ADFJNKIX-Dxph8su5.js} +1 -1
  231. package/dist/assets/pig-CDr04RdE.js +1 -0
  232. package/dist/assets/{popover-Bz_0Vkyf.js → popover-CNCYAwbC.js} +1 -1
  233. package/dist/assets/powershell-DcvrUwmh.js +1 -0
  234. package/dist/assets/{process-output-ClRYUndH.js → process-output-CRgRzt0h.js} +1 -1
  235. package/dist/assets/properties-Y8OgFJMt.js +1 -0
  236. package/dist/assets/protobuf-Dyx-ENis.js +1 -0
  237. package/dist/assets/{pug-CYW0agOo.js → pug-BqLMXh-D.js} +1 -1
  238. package/dist/assets/pug-T7qjkmFh.js +1 -0
  239. package/dist/assets/puppet-BzYSg90u.js +1 -0
  240. package/dist/assets/python-D4S7tVrv.js +1 -0
  241. package/dist/assets/q-YpqabiSl.js +1 -0
  242. package/dist/assets/{quadrantDiagram-AYHSOK5B-CX3AMAvR.js → quadrantDiagram-AYHSOK5B-OK6c_k6c.js} +1 -1
  243. package/dist/assets/r-DzpuVbmQ.js +1 -0
  244. package/dist/assets/{radar-ZZBFDIW7-CbAjwmA0.js → radar-ZZBFDIW7-DsPiq6Fm.js} +1 -1
  245. package/dist/assets/radio-group-DS_mmqHJ.js +1 -0
  246. package/dist/assets/{react-vega-COx3Ibyn.js → react-vega-CF0xMHAj.js} +1 -1
  247. package/dist/assets/{react-vega-CXIQBUis.js → react-vega-DiXzyRNd.js} +1 -1
  248. package/dist/assets/readonly-python-code-3HZIBvHp.js +1 -0
  249. package/dist/assets/{renderShortcut-CcFk3m01.js → renderShortcut--ku7VECI.js} +1 -1
  250. package/dist/assets/{requirementDiagram-UZGBJVZJ-ORHKBnkg.js → requirementDiagram-UZGBJVZJ-CHfh_UWf.js} +1 -1
  251. package/dist/assets/reveal-component-D2A1xGKf.js +1069 -0
  252. package/dist/assets/rpm-DlmAEsH3.js +1 -0
  253. package/dist/assets/ruby-BHSBK3B4.js +1 -0
  254. package/dist/assets/{run-page-iIqjPtCe.js → run-page-BhDNPbBY.js} +1 -1
  255. package/dist/assets/{sankeyDiagram-TZEHDZUN-Dvb8kmWa.js → sankeyDiagram-TZEHDZUN-DJTjdP71.js} +1 -1
  256. package/dist/assets/sas-DmQmrPAn.js +1 -0
  257. package/dist/assets/save-worker-Bcr7rl0C.js +77 -0
  258. package/dist/assets/scheme-CZHvt0eC.js +1 -0
  259. package/dist/assets/scratchpad-panel-BNnBStKO.js +1 -0
  260. package/dist/assets/{secrets-panel-BBvdIhtU.js → secrets-panel-NK379MhX.js} +1 -1
  261. package/dist/assets/{select-DZcFyKFQ.js → select-6suE6YM2.js} +1 -1
  262. package/dist/assets/{sequenceDiagram-WL72ISMW-DQycpQtE.js → sequenceDiagram-WL72ISMW-BbqjAz3N.js} +1 -1
  263. package/dist/assets/session-panel-rrXDbccI.js +1 -0
  264. package/dist/assets/{share-DMwTZOTH.js → share-mSf5FZIP.js} +1 -1
  265. package/dist/assets/shell-BJzvpTMz.js +1 -0
  266. package/dist/assets/sieve-DGjPhm-6.js +1 -0
  267. package/dist/assets/smalltalk-DaG60CSr.js +1 -0
  268. package/dist/assets/{snippets-panel-CUFYazvB.js → snippets-panel-BqUEqlG4.js} +1 -1
  269. package/dist/assets/sparql-CN49rXKB.js +1 -0
  270. package/dist/assets/{src-CvyFXpBy.js → src-Cf4NnJCp.js} +1 -1
  271. package/dist/assets/{state-BZoBW9cM.js → state-C9ggN1rs.js} +1 -1
  272. package/dist/assets/{state-CRuZ8deV.js → state-DvSTWgUA.js} +3 -3
  273. package/dist/assets/{stateDiagram-FKZM4ZOC-D78DIR_F.js → stateDiagram-FKZM4ZOC-DF2xwZZf.js} +1 -1
  274. package/dist/assets/stateDiagram-v2-4FDKWEC3-6MssSC6h.js +1 -0
  275. package/dist/assets/{step-D7xg1Moj.js → step-DGkZosD0.js} +1 -1
  276. package/dist/assets/stylus-CzHZ_0CL.js +1 -0
  277. package/dist/assets/swift-5fr5bTbW.js +1 -0
  278. package/dist/assets/{switch-BiU_sAcn.js → switch-Ac7CgLgh.js} +1 -1
  279. package/dist/assets/tcl-D5oaR_GS.js +1 -0
  280. package/dist/assets/{terminal-BYGihNNp.js → terminal-BJktwlxI.js} +1 -1
  281. package/dist/assets/{textarea-0Z0sU8Go.js → textarea-BfDUjd9c.js} +1 -1
  282. package/dist/assets/textile-CJ5e8-7o.js +1 -0
  283. package/dist/assets/{time-DLdI7jB3.js → time-BCqVDrZA.js} +1 -1
  284. package/dist/assets/{timeline-definition-IT6M3QCI-DIywx3xf.js → timeline-definition-IT6M3QCI-5BUJBQNX.js} +1 -1
  285. package/dist/assets/toml-D9QwsDZO.js +1 -0
  286. package/dist/assets/{tooltip-DTV9tlSr.js → tooltip-B_PkSKN3.js} +1 -1
  287. package/dist/assets/{tracing-Drwmt2bI.js → tracing-DhjGEWqy.js} +1 -1
  288. package/dist/assets/{tracing-panel-Bk-q3YTu.js → tracing-panel-Dyt4cvQF.js} +2 -2
  289. package/dist/assets/tree-actions-XvgFV23w.js +1 -0
  290. package/dist/assets/{treemap-GDKQZRPO-Dz_qZhuG.js → treemap-GDKQZRPO-4ltp47XX.js} +1 -1
  291. package/dist/assets/troff-DlwQJbfr.js +1 -0
  292. package/dist/assets/ttcn-DUvoO9Vo.js +1 -0
  293. package/dist/assets/ttcn-cfg-Cj-t-B3M.js +1 -0
  294. package/dist/assets/turtle-DzvxCIjc.js +1 -0
  295. package/dist/assets/use-toast-CJ1Tj2eC.js +1 -0
  296. package/dist/assets/useBoolean-CE6PfxGj.js +1 -0
  297. package/dist/assets/useCellActionButton-BHCh6qfk.js +1 -0
  298. package/dist/assets/useDeleteCell-cucOoAuB.js +1 -0
  299. package/dist/assets/{useDependencyPanelTab-CP0s5K4d.js → useDependencyPanelTab-BYu7OQY_.js} +1 -1
  300. package/dist/assets/{useInstallPackage-DUF4IRRI.js → useInstallPackage-GI6gu7_S.js} +1 -1
  301. package/dist/assets/useNotebookActions-D5xq_tdd.js +1 -0
  302. package/dist/assets/{useRunCells-2n74L4TT.js → useRunCells-CVd2QKS9.js} +1 -1
  303. package/dist/assets/{useSplitCell-CLVd_9hM.js → useSplitCell-D1KubWSa.js} +1 -1
  304. package/dist/assets/vb-Caf126uo.js +1 -0
  305. package/dist/assets/vbscript-BgRl-LR8.js +1 -0
  306. package/dist/assets/{vega-component-COOhhZ3h.js → vega-component-C-fGN8Hr.js} +1 -1
  307. package/dist/assets/velocity-CpvfwasF.js +1 -0
  308. package/dist/assets/verilog-hsHogyKv.js +1 -0
  309. package/dist/assets/vhdl-FciHazR1.js +1 -0
  310. package/dist/assets/webidl-CqjZNx5V.js +1 -0
  311. package/dist/assets/{worker-B38WhSlZ.js → worker-Bp53hInb.js} +6 -6
  312. package/dist/assets/{write-secret-modal-BFLlHwgU.js → write-secret-modal-CwsDn7jz.js} +1 -1
  313. package/dist/assets/xquery-DpTaL2IT.js +1 -0
  314. package/dist/assets/{xychartDiagram-PRI3JC2R-CjS1dL8k.js → xychartDiagram-PRI3JC2R-Cqm5NYAj.js} +1 -1
  315. package/dist/assets/yacas-D6bbkHsk.js +1 -0
  316. package/dist/assets/z80-MlujNizn.js +1 -0
  317. package/dist/index.html +68 -70
  318. package/package.json +3 -3
  319. package/src/components/data-table/TableBottomBar.tsx +1 -15
  320. package/src/components/data-table/TableTopBar.tsx +8 -13
  321. package/src/components/data-table/__tests__/TableBottomBar.test.tsx +6 -12
  322. package/src/components/data-table/__tests__/column-visibility-dropdown.test.tsx +227 -0
  323. package/src/components/data-table/__tests__/data-table.test.tsx +154 -12
  324. package/src/components/data-table/column-visibility-dropdown.tsx +204 -0
  325. package/src/components/data-table/data-table.tsx +1 -1
  326. package/src/components/data-table/filter-by-values-picker.tsx +39 -17
  327. package/src/components/data-table/filter-pills.tsx +1 -1
  328. package/src/components/data-table/hover-tooltip/__tests__/content.test.ts +60 -0
  329. package/src/components/data-table/hover-tooltip/content.ts +44 -0
  330. package/src/components/data-table/hover-tooltip/hover-tooltip.tsx +55 -0
  331. package/src/components/data-table/hover-tooltip/use-table-hover-tooltip.ts +159 -0
  332. package/src/components/data-table/renderers.tsx +27 -43
  333. package/src/components/datasources/__tests__/filter-empty.test.ts +183 -0
  334. package/src/components/datasources/datasources.tsx +92 -3
  335. package/src/components/editor/cell/cell-context-menu.tsx +15 -2
  336. package/src/components/editor/cell/code/language-toggle.tsx +7 -1
  337. package/src/components/editor/chrome/wrapper/app-chrome.tsx +97 -52
  338. package/src/components/editor/chrome/wrapper/lazy-panels.ts +91 -0
  339. package/src/components/editor/chrome/wrapper/sidebar.tsx +2 -0
  340. package/src/components/editor/documentation.css +35 -0
  341. package/src/components/editor/file-tree/file-explorer.tsx +8 -18
  342. package/src/components/editor/file-tree/tree-actions.tsx +46 -1
  343. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +20 -0
  344. package/src/components/editor/renderers/slides-layout/types.ts +1 -0
  345. package/src/components/slides/__tests__/minimap-actions.test.tsx +166 -0
  346. package/src/components/slides/__tests__/reveal-component.test.ts +425 -0
  347. package/src/components/slides/minimap.tsx +127 -10
  348. package/src/components/slides/reveal-component.tsx +287 -61
  349. package/src/components/slides/slide-cell-view.tsx +26 -2
  350. package/src/components/slides/slide-form.tsx +26 -4
  351. package/src/components/storage/__tests__/storage-inspector.test.ts +53 -0
  352. package/src/components/storage/storage-inspector.tsx +68 -48
  353. package/src/components/ui/__tests__/use-toast.test.ts +75 -0
  354. package/src/components/ui/combobox.tsx +51 -32
  355. package/src/components/ui/reorderable-list.tsx +13 -0
  356. package/src/components/ui/select-core/__tests__/use-select-list.test.ts +294 -0
  357. package/src/components/ui/select-core/__tests__/utils.test.ts +222 -0
  358. package/src/components/ui/select-core/index.ts +16 -0
  359. package/src/components/ui/select-core/option-row.tsx +33 -0
  360. package/src/components/ui/select-core/render-slot.ts +20 -0
  361. package/src/components/ui/select-core/select-list.tsx +248 -0
  362. package/src/components/ui/select-core/types.ts +44 -0
  363. package/src/components/ui/select-core/use-select-list.ts +347 -0
  364. package/src/components/ui/select-core/utils.ts +121 -0
  365. package/src/components/ui/use-toast.ts +33 -13
  366. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +0 -28
  367. package/src/core/cells/__tests__/cell.test.ts +29 -2
  368. package/src/core/cells/cell.ts +5 -1
  369. package/src/core/codemirror/go-to-definition/commands.ts +4 -3
  370. package/src/core/codemirror/language/languages/python.ts +2 -0
  371. package/src/core/codemirror/language/languages/sql/utils.ts +3 -1
  372. package/src/core/codemirror/lsp/__tests__/markdown-renderer.test.ts +41 -0
  373. package/src/core/codemirror/lsp/markdown-renderer.ts +59 -0
  374. package/src/core/datasets/data-source-connections.ts +2 -0
  375. package/src/core/network/__tests__/requests-static.test.ts +30 -0
  376. package/src/core/network/requests-static.ts +14 -10
  377. package/src/core/wasm/worker/bootstrap.ts +12 -4
  378. package/src/plugins/impl/MultiselectPlugin.tsx +19 -142
  379. package/src/plugins/impl/SearchableSelect.tsx +16 -97
  380. package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +5 -2
  381. package/src/plugins/impl/__tests__/MultiSelectPlugin.test.ts +1 -1
  382. package/src/plugins/layout/DownloadPlugin.tsx +1 -1
  383. package/src/utils/lazy.ts +6 -1
  384. package/dist/assets/JsonOutput-40Fp2jEG.js +0 -53
  385. package/dist/assets/LazyAnyLanguageCodeMirror-BEvXb3VX.js +0 -2
  386. package/dist/assets/RunButton-NDsrcmxR.js +0 -1
  387. package/dist/assets/__vite-browser-external-DuZehUbK.js +0 -1
  388. package/dist/assets/__vite-browser-external-Jpm67kL1.js +0 -1
  389. package/dist/assets/apl-EAxnZS_5.js +0 -1
  390. package/dist/assets/asciiarmor-zxnaShQE.js +0 -1
  391. package/dist/assets/asn1-7i28Os5R.js +0 -1
  392. package/dist/assets/brainfuck-BZegPsXK.js +0 -1
  393. package/dist/assets/cells-jmgGt1lS.css +0 -2
  394. package/dist/assets/channel-6XBTrC3Q.js +0 -1
  395. package/dist/assets/chunk-55IACEB6-Cr4aqhf3.js +0 -1
  396. package/dist/assets/classDiagram-2ON5EDUG-DlIMDu6i.js +0 -1
  397. package/dist/assets/classDiagram-v2-WZHVMYZB-CcIhhkQu.js +0 -1
  398. package/dist/assets/clojure-VUVi7fTV.js +0 -1
  399. package/dist/assets/cmake-DZJIDbjY.js +0 -1
  400. package/dist/assets/cobol-klCRwlLm.js +0 -1
  401. package/dist/assets/coffeescript-C9foD9ub.js +0 -1
  402. package/dist/assets/column-preview-Bd7jDAiw.js +0 -1
  403. package/dist/assets/commonlisp-tHxoA35J.js +0 -1
  404. package/dist/assets/components-C_z0Dsug.js +0 -1
  405. package/dist/assets/crystal-CQ11GdrX.js +0 -1
  406. package/dist/assets/cypher-CJ0Uzw29.js +0 -1
  407. package/dist/assets/d-DP0SUIt1.js +0 -1
  408. package/dist/assets/dependency-graph-panel-BmJ-hPrs.js +0 -5
  409. package/dist/assets/diff-CNs8MB38.js +0 -1
  410. package/dist/assets/dist-B1U1kGCR.js +0 -1
  411. package/dist/assets/dist-B7U5jPfs.js +0 -1
  412. package/dist/assets/dist-BZX17NA8.js +0 -1
  413. package/dist/assets/dist-BtL81uwZ.js +0 -1
  414. package/dist/assets/dist-Bww7hlVc.js +0 -1
  415. package/dist/assets/dist-CAIBlJtJ.js +0 -1
  416. package/dist/assets/dist-CHcznzB-.js +0 -2
  417. package/dist/assets/dist-CPF3W2Y-.js +0 -1
  418. package/dist/assets/dist-CPczQFlJ.js +0 -3
  419. package/dist/assets/dist-CUapWJe4.js +0 -1
  420. package/dist/assets/dist-CWeWT34c.js +0 -1
  421. package/dist/assets/dist-CXBpwk_w.js +0 -7
  422. package/dist/assets/dist-ChF5Ln9c.js +0 -13
  423. package/dist/assets/dist-CuCuJBdf.js +0 -1
  424. package/dist/assets/dist-DH60fwgs.js +0 -1
  425. package/dist/assets/dist-DZPpMvcR.js +0 -1
  426. package/dist/assets/dist-DkcQg5xD.js +0 -1
  427. package/dist/assets/dist-DkzFxGAX.js +0 -1
  428. package/dist/assets/dist-DmBXXm0k.js +0 -1
  429. package/dist/assets/dist-W1iHBJeE.js +0 -1
  430. package/dist/assets/dist-_fyDen1v.js +0 -1
  431. package/dist/assets/dist-cgiAP5sW.js +0 -1
  432. package/dist/assets/dist-vkd1160q.js +0 -1
  433. package/dist/assets/download-cs3tezQD.js +0 -9
  434. package/dist/assets/dtd-BsD0uJw0.js +0 -1
  435. package/dist/assets/dylan-DbrGP1IP.js +0 -1
  436. package/dist/assets/ecl-C0rZlhHw.js +0 -1
  437. package/dist/assets/edit-page-DBwRiakc.js +0 -9
  438. package/dist/assets/eiffel-2ZX-OpSJ.js +0 -1
  439. package/dist/assets/ellipsis-vertical-CkwWkOQL.js +0 -1
  440. package/dist/assets/elm-CbOSKldD.js +0 -1
  441. package/dist/assets/erlang-BWiOgHIX.js +0 -1
  442. package/dist/assets/esm-CqWdmSnV.js +0 -1
  443. package/dist/assets/factor-CUwFIMOP.js +0 -1
  444. package/dist/assets/file-explorer-panel-B6UWw04X.js +0 -26
  445. package/dist/assets/forth-BEQA4QQL.js +0 -1
  446. package/dist/assets/fortran-DoPpOZgG.js +0 -1
  447. package/dist/assets/gas-BYovsvOE.js +0 -1
  448. package/dist/assets/gherkin-CFiRc1Pf.js +0 -1
  449. package/dist/assets/groovy-DJNH7evt.js +0 -1
  450. package/dist/assets/haskell-duZvcePm.js +0 -1
  451. package/dist/assets/haxe-B2l95qvB.js +0 -1
  452. package/dist/assets/home-page-5euYDrSb.js +0 -4
  453. package/dist/assets/idl-CZ_xwU8I.js +0 -1
  454. package/dist/assets/index-BIw7BKLH.css +0 -2
  455. package/dist/assets/index-DIc0rD1S.js +0 -38
  456. package/dist/assets/infoDiagram-HS3SLOUP-CaaUieFa.js +0 -2
  457. package/dist/assets/javascript-CF5KGSAj.js +0 -1
  458. package/dist/assets/julia-BQlq5iZn.js +0 -1
  459. package/dist/assets/katex-CzQ1KdW3.js +0 -1
  460. package/dist/assets/layout-Bco8l-YP.js +0 -9
  461. package/dist/assets/livescript-sRMenfqS.js +0 -1
  462. package/dist/assets/lua-a56ITumN.js +0 -1
  463. package/dist/assets/maps-n3GaPJwv.js +0 -1
  464. package/dist/assets/mathematica-B3m4jXeH.js +0 -1
  465. package/dist/assets/mbox-BtL7aO2I.js +0 -1
  466. package/dist/assets/mermaid-4DMBBIKO-CekzuCTz.js +0 -1
  467. package/dist/assets/mirc-S27kuZ31.js +0 -1
  468. package/dist/assets/mllike-B3kx3KeF.js +0 -1
  469. package/dist/assets/modelica-DgbW4dSi.js +0 -1
  470. package/dist/assets/mscgen-BIa_4d-0.js +0 -1
  471. package/dist/assets/multi-map-CUuNtzHt.js +0 -1
  472. package/dist/assets/mumps-4fnELyHs.js +0 -1
  473. package/dist/assets/nsis-BfGyMssE.js +0 -1
  474. package/dist/assets/ntriples-DeY1n_tC.js +0 -1
  475. package/dist/assets/octave-7Qn21jzx.js +0 -1
  476. package/dist/assets/oz-CiPFl3Ni.js +0 -1
  477. package/dist/assets/pascal-BH9yQLzw.js +0 -1
  478. package/dist/assets/perl-DfMCx2i2.js +0 -1
  479. package/dist/assets/pig-D9CNebQN.js +0 -1
  480. package/dist/assets/play-C7DcCsoO.js +0 -1
  481. package/dist/assets/powershell-Dss0bU9F.js +0 -1
  482. package/dist/assets/properties-CHADYQUL.js +0 -1
  483. package/dist/assets/protobuf-DFN-V4SD.js +0 -1
  484. package/dist/assets/pug-DOI9FnEk.js +0 -1
  485. package/dist/assets/puppet-BV0HAkDS.js +0 -1
  486. package/dist/assets/python-C83Db0-4.js +0 -1
  487. package/dist/assets/q-D84S4YaJ.js +0 -1
  488. package/dist/assets/r-jmqrRzXv.js +0 -1
  489. package/dist/assets/radio-group-DcUXH-59.js +0 -1
  490. package/dist/assets/readonly-python-code-D6Ca_8n6.js +0 -1
  491. package/dist/assets/reveal-component-ComuCTva.js +0 -1069
  492. package/dist/assets/rpm-DUjG0xRk.js +0 -1
  493. package/dist/assets/ruby-SP4FIzir.js +0 -1
  494. package/dist/assets/sas-BxaPz2EX.js +0 -1
  495. package/dist/assets/save-worker-D2iQi-UK.js +0 -77
  496. package/dist/assets/scheme-HBseLApj.js +0 -1
  497. package/dist/assets/scratchpad-panel-rClgbzFO.js +0 -1
  498. package/dist/assets/session-panel-DSNfdRG3.js +0 -1
  499. package/dist/assets/shell-w8ATY_lQ.js +0 -1
  500. package/dist/assets/sieve-Dyq0LGDO.js +0 -1
  501. package/dist/assets/smalltalk-D7mAtumc.js +0 -1
  502. package/dist/assets/sparql-DAeEYE_u.js +0 -1
  503. package/dist/assets/stateDiagram-v2-4FDKWEC3-DX9rpmwh.js +0 -1
  504. package/dist/assets/stylus-Cw3Ugan7.js +0 -1
  505. package/dist/assets/swift-CPsNOBsX.js +0 -1
  506. package/dist/assets/tcl-BfWyQdZa.js +0 -1
  507. package/dist/assets/textile-BKgaSzSN.js +0 -1
  508. package/dist/assets/toml-BSOdv04W.js +0 -1
  509. package/dist/assets/tree-actions-BM_EJr3E.js +0 -1
  510. package/dist/assets/troff-C0hD9kig.js +0 -1
  511. package/dist/assets/ttcn-DEqPxhoh.js +0 -1
  512. package/dist/assets/ttcn-cfg-B-7jSlUe.js +0 -1
  513. package/dist/assets/turtle-BTtgFsu8.js +0 -1
  514. package/dist/assets/use-toast-IPAtJGea.js +0 -1
  515. package/dist/assets/useBoolean-Bp18o6XG.js +0 -1
  516. package/dist/assets/useCellActionButton-DARfBbL-.js +0 -1
  517. package/dist/assets/useDeleteCell-l5BAp1WU.js +0 -1
  518. package/dist/assets/useNotebookActions-DFkPMDea.js +0 -1
  519. package/dist/assets/vb-DfRPk_ji.js +0 -1
  520. package/dist/assets/vbscript-C8D4uv5N.js +0 -1
  521. package/dist/assets/velocity-DxKr2FFC.js +0 -1
  522. package/dist/assets/verilog-CxVhamiH.js +0 -1
  523. package/dist/assets/vhdl-B-IpBNOA.js +0 -1
  524. package/dist/assets/webidl-CBjKmBwO.js +0 -1
  525. package/dist/assets/xquery-ABGCbLv0.js +0 -1
  526. package/dist/assets/yacas-Ckyxh7oh.js +0 -1
  527. package/dist/assets/z80-Dr5sQweg.js +0 -1
  528. package/src/plugins/impl/multiselectFilterFn.tsx +0 -22
  529. /package/dist/assets/{ImageComparisonComponent-BIetTBDq.js → ImageComparisonComponent-_eB8PDFu.js} +0 -0
  530. /package/dist/assets/{Inputs-C6ftxLAJ.js → Inputs-CdyQ7nLC.js} +0 -0
  531. /package/dist/assets/{Plot-Ba3WGWNu.js → Plot-BEhgxy0k.js} +0 -0
  532. /package/dist/assets/{apl-Byte72fT.js → apl-CpVTW0fY.js} +0 -0
  533. /package/dist/assets/{array-CC7vZNGO.js → array-BKCdRGCR.js} +0 -0
  534. /package/dist/assets/{asciiarmor-BU-VnG1Y.js → asciiarmor-qDK46YPd.js} +0 -0
  535. /package/dist/assets/{asn1-hTvH3S4T.js → asn1-s2ZJql-T.js} +0 -0
  536. /package/dist/assets/{asterisk-DIMri3P4.js → asterisk-BCtKIQ_I.js} +0 -0
  537. /package/dist/assets/{azure-B42ls0Ui.js → azure-DHLkI9dd.js} +0 -0
  538. /package/dist/assets/{brainfuck-C-q1Rv8J.js → brainfuck-5fD7ZBSv.js} +0 -0
  539. /package/dist/assets/{card--6HRj4T9.js → card-C9wGDUuq.js} +0 -0
  540. /package/dist/assets/{chunk-4F5CHEZ2-eEwFz7fp.js → chunk-4F5CHEZ2-DyHrF3GO.js} +0 -0
  541. /package/dist/assets/{chunk-B2363JML-COExSe0d.js → chunk-B2363JML-DutzPsZq.js} +0 -0
  542. /package/dist/assets/{chunk-DR5Q36YT-OB6tC_dd.js → chunk-DR5Q36YT-CbaaAWZ2.js} +0 -0
  543. /package/dist/assets/{chunk-FRFDVMJY-CO3-6rb4.js → chunk-FRFDVMJY-2_jGMKZ2.js} +0 -0
  544. /package/dist/assets/{chunk-PL6DKKU2-B9mDp5iV.js → chunk-PL6DKKU2-Ce2JFCUf.js} +0 -0
  545. /package/dist/assets/{chunk-SJTYNZTY-Dh_h90Yu.js → chunk-SJTYNZTY-PWGFKpLd.js} +0 -0
  546. /package/dist/assets/{chunk-TQ3KTPDO-CFybjK0M.js → chunk-TQ3KTPDO-CNkbM7LT.js} +0 -0
  547. /package/dist/assets/{chunk-UMXZTB3W-C3w83KpJ.js → chunk-UMXZTB3W-emEajCOH.js} +0 -0
  548. /package/dist/assets/{clear-button-Cfe8K4j_.js → clear-button-UYLFbizO.js} +0 -0
  549. /package/dist/assets/{click-outside-container-BNVqwewc.js → click-outside-container-B4pJ8dzi.js} +0 -0
  550. /package/dist/assets/{clike-BE-9Ct_H.js → clike-D58k-9vu.js} +0 -0
  551. /package/dist/assets/{clojure-Co-TLeNo.js → clojure-Dkfjc-Fr.js} +0 -0
  552. /package/dist/assets/{cmake-B-Nm_Opd.js → cmake-ffkxaUPf.js} +0 -0
  553. /package/dist/assets/{cobol-BGdihAZT.js → cobol-CKARYRbQ.js} +0 -0
  554. /package/dist/assets/{coffeescript-BUZXkMUO.js → coffeescript-Dz_r13Pd.js} +0 -0
  555. /package/dist/assets/{colors-BG8Z91CW.js → colors-CUF0x3zZ.js} +0 -0
  556. /package/dist/assets/{common-keywords-15xBKau4.js → common-keywords-Dl8aWedN.js} +0 -0
  557. /package/dist/assets/{commonlisp-CFkPbxvX.js → commonlisp-EavL1_-N.js} +0 -0
  558. /package/dist/assets/{crystal-CqfqDl34.js → crystal-BQ8grXRY.js} +0 -0
  559. /package/dist/assets/{css-DPEtZWJi.js → css-Bmqfl4iE.js} +0 -0
  560. /package/dist/assets/{cypher-B0t8FJvU.js → cypher-BKXIqXpT.js} +0 -0
  561. /package/dist/assets/{cytoscape.esm-DT8iy6p1.js → cytoscape.esm-Dr1GhgW1.js} +0 -0
  562. /package/dist/assets/{d-DRa_XRSB.js → d-DRfFJaS4.js} +0 -0
  563. /package/dist/assets/{diff-GLneonpD.js → diff-BWk1g4qN.js} +0 -0
  564. /package/dist/assets/{dist-BQWswd1A.js → dist-3Zzc89mE.js} +0 -0
  565. /package/dist/assets/{dist-BXRWfNwi.js → dist-D_deoNzY.js} +0 -0
  566. /package/dist/assets/{dtd-uVrZNVF0.js → dtd-C1gvGnbI.js} +0 -0
  567. /package/dist/assets/{duckdb-keywords-CYQ5DEZJ.js → duckdb-keywords-C_J2q1mp.js} +0 -0
  568. /package/dist/assets/{dylan-DkNeA4FZ.js → dylan-D26gjyBo.js} +0 -0
  569. /package/dist/assets/{ebnf-XMH6KY7E.js → ebnf-VrI3aTER.js} +0 -0
  570. /package/dist/assets/{ecl-CldUgvc9.js → ecl-D_pghsRW.js} +0 -0
  571. /package/dist/assets/{eiffel-CoMDRbRL.js → eiffel-CQeRT5l7.js} +0 -0
  572. /package/dist/assets/{elm-Cb5XC6ev.js → elm-BMJejWwJ.js} +0 -0
  573. /package/dist/assets/{empty-state-Cjt8SfMh.js → empty-state-vCWg-_A9.js} +0 -0
  574. /package/dist/assets/{erlang-8H3fTZ3L.js → erlang-DTDt7sE1.js} +0 -0
  575. /package/dist/assets/{esm-1wf4HygE.js → esm-DAVeZ8YU.js} +0 -0
  576. /package/dist/assets/{fcl-DyFJAgkq.js → fcl-B9roOCQ-.js} +0 -0
  577. /package/dist/assets/{formatting-CSG9kqNb.js → formatting-30FX-rC-.js} +0 -0
  578. /package/dist/assets/{forth-B8kC4npz.js → forth-DLug1Uos.js} +0 -0
  579. /package/dist/assets/{fortran-CNWGEL3c.js → fortran-CfPd9x83.js} +0 -0
  580. /package/dist/assets/{gas-DnZQNTHK.js → gas-C1vwqe1-.js} +0 -0
  581. /package/dist/assets/{gherkin-JfGcGvci.js → gherkin-DxFhlJYL.js} +0 -0
  582. /package/dist/assets/{groovy-D0FWiAVm.js → groovy-AqjvKzmp.js} +0 -0
  583. /package/dist/assets/{haskell-wUB3uX-G.js → haskell-B9BMJXS_.js} +0 -0
  584. /package/dist/assets/{haxe-g0JY6eL-.js → haxe-CFd4aFZH.js} +0 -0
  585. /package/dist/assets/{http-ySzAzH5W.js → http-BM6n_euc.js} +0 -0
  586. /package/dist/assets/{idl-CV2cLkPc.js → idl-DKlFwAHI.js} +0 -0
  587. /package/dist/assets/{init-DsZRk2YA.js → init-DZpk0tdu.js} +0 -0
  588. /package/dist/assets/{javascript-CT6okXEZ.js → javascript-BMuus-3E.js} +0 -0
  589. /package/dist/assets/{julia-CKC48ufo.js → julia-DGv2rboF.js} +0 -0
  590. /package/dist/assets/{katex-BE4UDS50.js → katex-DL3QMY8n.js} +0 -0
  591. /package/dist/assets/{links-1rtF1-eC.js → links-DoPgJNku.js} +0 -0
  592. /package/dist/assets/{livescript-C43pZ6Ue.js → livescript-51GCvdcX.js} +0 -0
  593. /package/dist/assets/{loro_wasm_bg-CXnd80ne.js → loro_wasm_bg-DYsTic7p.js} +0 -0
  594. /package/dist/assets/{lua-Cs2mb10K.js → lua-BwsAaftY.js} +0 -0
  595. /package/dist/assets/{marimo-icons-CiwvnnsT.js → marimo-icons-CLbC-oB3.js} +0 -0
  596. /package/dist/assets/{math-B-ZqhQTL.js → math-PgJy15ir.js} +0 -0
  597. /package/dist/assets/{mathematica-B5FMK3ma.js → mathematica-Du4amQ2X.js} +0 -0
  598. /package/dist/assets/{mbox-36Zrn5Bd.js → mbox-DKL-l6mb.js} +0 -0
  599. /package/dist/assets/{mirc-BKTAABSX.js → mirc-CvS1f8zr.js} +0 -0
  600. /package/dist/assets/{mllike-DbuClUqc.js → mllike-VhUq11ot.js} +0 -0
  601. /package/dist/assets/{modelica-CKRvBm7N.js → modelica-CjlHUZat.js} +0 -0
  602. /package/dist/assets/{mscgen-B4BRgnCi.js → mscgen-26STiUsc.js} +0 -0
  603. /package/dist/assets/{multi-icon-NVkxesVZ.js → multi-icon-BvuxcR2m.js} +0 -0
  604. /package/dist/assets/{mumps-BFiMcyFV.js → mumps-4o8IRFVU.js} +0 -0
  605. /package/dist/assets/{nginx-Cz_XvoTm.js → nginx-Tk1rzBXg.js} +0 -0
  606. /package/dist/assets/{node-sql-parser-BtkrI4pN.js → node-sql-parser-BRpb-iwO.js} +0 -0
  607. /package/dist/assets/{ntriples-QQAkJYAR.js → ntriples-D0zMsGJ-.js} +0 -0
  608. /package/dist/assets/{octave-DsTphmGZ.js → octave-CpJ40RVG.js} +0 -0
  609. /package/dist/assets/{oz-CD9rr5Iz.js → oz-W9l5CbXg.js} +0 -0
  610. /package/dist/assets/{panel-context-BJbBGfoL.js → panel-context-D7Ggu8Nw.js} +0 -0
  611. /package/dist/assets/{pascal-DdHEIlJE.js → pascal-BZtdYBm4.js} +0 -0
  612. /package/dist/assets/{path-DvTahePH.js → path-dqkZlAhR.js} +0 -0
  613. /package/dist/assets/{pathUtils-CJjndqMI.js → pathUtils-DPJ-EgtH.js} +0 -0
  614. /package/dist/assets/{perl-DHPJBQ1u.js → perl-Q79ziUtd.js} +0 -0
  615. /package/dist/assets/{pig-Yz7ERgca.js → pig-Dn9ueYxG.js} +0 -0
  616. /package/dist/assets/{powershell-CHPZ_bsU.js → powershell-DfXPJ56g.js} +0 -0
  617. /package/dist/assets/{properties-CI9nc7K4.js → properties-DRrw--9g.js} +0 -0
  618. /package/dist/assets/{protobuf-BYSIv2pY.js → protobuf-5jBh6Y7Q.js} +0 -0
  619. /package/dist/assets/{puppet-CEpLafZX.js → puppet-Bql5dDjm.js} +0 -0
  620. /package/dist/assets/{python-BndVuwG1.js → python-C7HNB5A8.js} +0 -0
  621. /package/dist/assets/{q-L_cetpiW.js → q-CW9lnZXb.js} +0 -0
  622. /package/dist/assets/{r-Dd37AKWk.js → r-DmuxMz9j.js} +0 -0
  623. /package/dist/assets/{request-registry--h6PWG50.js → request-registry-BmtPM40k.js} +0 -0
  624. /package/dist/assets/{requests-DqJEWJ-Q.js → requests-QKoDeQkn.js} +0 -0
  625. /package/dist/assets/{rpm-CHrvhtlN.js → rpm-2BQZRXYJ.js} +0 -0
  626. /package/dist/assets/{ruby-BPOowfX6.js → ruby-B-FyRKB2.js} +0 -0
  627. /package/dist/assets/{runs-BD0G-C2A.js → runs-DSnhrBgK.js} +0 -0
  628. /package/dist/assets/{sas-BsEFSvEP.js → sas-Q-94el51.js} +0 -0
  629. /package/dist/assets/{scheme-B42INBu7.js → scheme-By445Ne_.js} +0 -0
  630. /package/dist/assets/{semaphore-FlZezxaf.js → semaphore-qUGKVeAE.js} +0 -0
  631. /package/dist/assets/{shell-BPea12OI.js → shell-CezKrT5T.js} +0 -0
  632. /package/dist/assets/{sieve-C-yPcLw5.js → sieve-MRWdUbX3.js} +0 -0
  633. /package/dist/assets/{simple-mode-CFlvn0Mm.js → simple-mode-BtxX-F6Z.js} +0 -0
  634. /package/dist/assets/{smalltalk-e7OO1ATb.js → smalltalk-C0KZrhPl.js} +0 -0
  635. /package/dist/assets/{solr-BAO4N63o.js → solr-DaMZCY5b.js} +0 -0
  636. /package/dist/assets/{sparql-B4I2Ledx.js → sparql-CIMoBhOL.js} +0 -0
  637. /package/dist/assets/{spreadsheet-DWqd5foV.js → spreadsheet-CAZFfDgv.js} +0 -0
  638. /package/dist/assets/{sql-RBdzBYsM.js → sql-bIHkMPYp.js} +0 -0
  639. /package/dist/assets/{src-BnrQkOKh.js → src-DvosOx8X.js} +0 -0
  640. /package/dist/assets/{state-BGDrw26V.js → state-B2X5_9Jc.js} +0 -0
  641. /package/dist/assets/{stylus-CBRbZwhN.js → stylus-BxV1gbJN.js} +0 -0
  642. /package/dist/assets/{swift-B2hnU7ha.js → swift-C7ozIpB2.js} +0 -0
  643. /package/dist/assets/{swiper-component-YGJlBaCp.js → swiper-component-BA40Nidc.js} +0 -0
  644. /package/dist/assets/{tcl-BtyamtaZ.js → tcl-D9BrnXdg.js} +0 -0
  645. /package/dist/assets/{textile-M9mhyNE9.js → textile-8cDJUs1C.js} +0 -0
  646. /package/dist/assets/{tiddlywiki-BsHUDwie.js → tiddlywiki-C-jC8X9Z.js} +0 -0
  647. /package/dist/assets/{tiki-ZqBe4Kjv.js → tiki-CJPdyY5i.js} +0 -0
  648. /package/dist/assets/{timer-B6DpdVnC.js → timer-ffBO1paY.js} +0 -0
  649. /package/dist/assets/{toml-YxyxhyRy.js → toml-Dtc3-sql.js} +0 -0
  650. /package/dist/assets/{treemap-DeGcO9km.js → treemap-8bMgVaTX.js} +0 -0
  651. /package/dist/assets/{troff-C7xpi05X.js → troff-CxUT34rC.js} +0 -0
  652. /package/dist/assets/{ttcn-D3YytrJU.js → ttcn-BiVwbsr5.js} +0 -0
  653. /package/dist/assets/{ttcn-cfg-DlZ5vA9E.js → ttcn-cfg-BLBfLtVM.js} +0 -0
  654. /package/dist/assets/{turtle-BSHvAsUe.js → turtle-DqTQI7WU.js} +0 -0
  655. /package/dist/assets/{types-a-yURniQ.js → types-Cpe-qFT-.js} +0 -0
  656. /package/dist/assets/{useDeepCompareMemoize-zUHU--0D.js → useDeepCompareMemoize-CVmg-GkP.js} +0 -0
  657. /package/dist/assets/{useInterval-2YvvhIZI.js → useInterval-COQ3SSh0.js} +0 -0
  658. /package/dist/assets/{vb-DdkIDLlO.js → vb-D-mN5USJ.js} +0 -0
  659. /package/dist/assets/{vbscript-DhYGmk_p.js → vbscript-BHlqX42l.js} +0 -0
  660. /package/dist/assets/{velocity-DAXJNEw4.js → velocity-BX6395is.js} +0 -0
  661. /package/dist/assets/{verilog-jmuT_L3b.js → verilog-CixbCKyb.js} +0 -0
  662. /package/dist/assets/{vhdl-DcVQ97RU.js → vhdl-CofOR-02.js} +0 -0
  663. /package/dist/assets/{web-vitals-xkV-JBVF.js → web-vitals-CpL_P378.js} +0 -0
  664. /package/dist/assets/{webidl-B-YB_4OQ.js → webidl-DAqkXtNt.js} +0 -0
  665. /package/dist/assets/{ws-BnE9sl8z.js → ws-K6nioC-Z.js} +0 -0
  666. /package/dist/assets/{xquery-DOmY3Oe8.js → xquery-wPbfv0-o.js} +0 -0
  667. /package/dist/assets/{yacas-pL3kJRXV.js → yacas-B5Zk1avC.js} +0 -0
  668. /package/dist/assets/{z80-VwVuI_MT.js → z80-C0HuDTqd.js} +0 -0
  669. /package/src/components/{data-table → ui}/value-chips.tsx +0 -0
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-DIc0rD1S.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-CyOq1SNo.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-BPPi7vOr.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
@@ -83,15 +83,15 @@
83
83
  <link rel="modulepreload" crossorigin href="./assets/badge-j3NGjqhR.js">
84
84
  <link rel="modulepreload" crossorigin href="./assets/button-BbCh-29a.js">
85
85
  <link rel="modulepreload" crossorigin href="./assets/react-dom-CSu739Rf.js">
86
- <link rel="modulepreload" crossorigin href="./assets/fullscreen-eipL3i3Y.js">
87
- <link rel="modulepreload" crossorigin href="./assets/menu-items-DcP01QzW.js">
88
- <link rel="modulepreload" crossorigin href="./assets/dist-BdyjRhEt.js">
86
+ <link rel="modulepreload" crossorigin href="./assets/fullscreen-DFky0PAA.js">
87
+ <link rel="modulepreload" crossorigin href="./assets/menu-items-BP7Ju9ww.js">
88
+ <link rel="modulepreload" crossorigin href="./assets/dist-CWMKC7yO.js">
89
89
  <link rel="modulepreload" crossorigin href="./assets/createLucideIcon-D5guW7EU.js">
90
90
  <link rel="modulepreload" crossorigin href="./assets/check-BH35Ndha.js">
91
91
  <link rel="modulepreload" crossorigin href="./assets/x-C-6liIBr.js">
92
- <link rel="modulepreload" crossorigin href="./assets/select-DZcFyKFQ.js">
93
- <link rel="modulepreload" crossorigin href="./assets/tooltip-DTV9tlSr.js">
94
- <link rel="modulepreload" crossorigin href="./assets/use-toast-IPAtJGea.js">
92
+ <link rel="modulepreload" crossorigin href="./assets/select-6suE6YM2.js">
93
+ <link rel="modulepreload" crossorigin href="./assets/tooltip-B_PkSKN3.js">
94
+ <link rel="modulepreload" crossorigin href="./assets/use-toast-CJ1Tj2eC.js">
95
95
  <link rel="modulepreload" crossorigin href="./assets/useEvent-D91BmmQi.js">
96
96
  <link rel="modulepreload" crossorigin href="./assets/invariant-BUdrueMv.js">
97
97
  <link rel="modulepreload" crossorigin href="./assets/isObject-DvLSfCY5.js">
@@ -115,15 +115,15 @@
115
115
  <link rel="modulepreload" crossorigin href="./assets/capabilities-A_KhFcGV.js">
116
116
  <link rel="modulepreload" crossorigin href="./assets/createReducer-CI9qeK_X.js">
117
117
  <link rel="modulepreload" crossorigin href="./assets/paths-D5zczhUD.js">
118
- <link rel="modulepreload" crossorigin href="./assets/dist-BrR4M-k3.js">
119
- <link rel="modulepreload" crossorigin href="./assets/dist-HlsDto3K.js">
120
- <link rel="modulepreload" crossorigin href="./assets/dist-CHcznzB-.js">
121
- <link rel="modulepreload" crossorigin href="./assets/dist-B1U1kGCR.js">
122
- <link rel="modulepreload" crossorigin href="./assets/dist-ChF5Ln9c.js">
123
- <link rel="modulepreload" crossorigin href="./assets/dist-CpTFpfm_.js">
124
- <link rel="modulepreload" crossorigin href="./assets/dist-CBSMxaO_.js">
125
- <link rel="modulepreload" crossorigin href="./assets/dist-CPczQFlJ.js">
126
- <link rel="modulepreload" crossorigin href="./assets/dist-C9ZB41s2.js">
118
+ <link rel="modulepreload" crossorigin href="./assets/dist-D0HyMpgV.js">
119
+ <link rel="modulepreload" crossorigin href="./assets/dist-Bo13cFwO.js">
120
+ <link rel="modulepreload" crossorigin href="./assets/dist-DVkC-Qmw.js">
121
+ <link rel="modulepreload" crossorigin href="./assets/dist-rBRbke5D.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/dist-RMRSa-Mj.js">
123
+ <link rel="modulepreload" crossorigin href="./assets/dist-BwnT-_gD.js">
124
+ <link rel="modulepreload" crossorigin href="./assets/dist-HyCgERnW.js">
125
+ <link rel="modulepreload" crossorigin href="./assets/dist-BURue7-e.js">
126
+ <link rel="modulepreload" crossorigin href="./assets/dist-YEXtMjTi.js">
127
127
  <link rel="modulepreload" crossorigin href="./assets/stex-BGrE-q7N.js">
128
128
  <link rel="modulepreload" crossorigin href="./assets/toDate-B5A0DFEz.js">
129
129
  <link rel="modulepreload" crossorigin href="./assets/purify.es-B9KxLTTS.js">
@@ -133,62 +133,64 @@
133
133
  <link rel="modulepreload" crossorigin href="./assets/debounce-DhnxH9Rh.js">
134
134
  <link rel="modulepreload" crossorigin href="./assets/database-zap-kIkTfzTX.js">
135
135
  <link rel="modulepreload" crossorigin href="./assets/main-B0OX4z33.js">
136
- <link rel="modulepreload" crossorigin href="./assets/cells-BRMYB7Wo.js">
136
+ <link rel="modulepreload" crossorigin href="./assets/cells-k7Js5h2t.js">
137
137
  <link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-DyYDV0HI.js">
138
138
  <link rel="modulepreload" crossorigin href="./assets/kbd-CTUAEnEx.js">
139
- <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-DUF4IRRI.js">
140
- <link rel="modulepreload" crossorigin href="./assets/alert-dialog-BqFLkbUc.js">
141
- <link rel="modulepreload" crossorigin href="./assets/dialog-DzC_QCtT.js">
139
+ <link rel="modulepreload" crossorigin href="./assets/useInstallPackage-GI6gu7_S.js">
140
+ <link rel="modulepreload" crossorigin href="./assets/alert-dialog-5BGIfskO.js">
141
+ <link rel="modulepreload" crossorigin href="./assets/dialog-DRnNAWYl.js">
142
142
  <link rel="modulepreload" crossorigin href="./assets/useDebounce-7xZwVnnu.js">
143
143
  <link rel="modulepreload" crossorigin href="./assets/numbers-C3BAdHZE.js">
144
144
  <link rel="modulepreload" crossorigin href="./assets/SSRProvider-CkFAAHXw.js">
145
145
  <link rel="modulepreload" crossorigin href="./assets/context-QkTujrKn.js">
146
146
  <link rel="modulepreload" crossorigin href="./assets/useNumberFormatter-ByUv-u9o.js">
147
147
  <link rel="modulepreload" crossorigin href="./assets/usePress-DQ_tAz5W.js">
148
- <link rel="modulepreload" crossorigin href="./assets/input-C3Hrdlqq.js">
149
- <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-B3Th7k4R.js">
150
- <link rel="modulepreload" crossorigin href="./assets/cell-link-Gwsf-bMV.js">
151
- <link rel="modulepreload" crossorigin href="./assets/multi-map-CUuNtzHt.js">
148
+ <link rel="modulepreload" crossorigin href="./assets/input-DckzEovC.js">
149
+ <link rel="modulepreload" crossorigin href="./assets/ImperativeModal-CDPfRIx5.js">
150
+ <link rel="modulepreload" crossorigin href="./assets/cell-link-BFEa98Sc.js">
151
+ <link rel="modulepreload" crossorigin href="./assets/multi-map-C4OANz8X.js">
152
152
  <link rel="modulepreload" crossorigin href="./assets/alert-yTS3WpF4.js">
153
153
  <link rel="modulepreload" crossorigin href="./assets/chevron-right-CG5QYXYk.js">
154
- <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-CR7cnzLX.js">
154
+ <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-CZ4XbE-c.js">
155
155
  <link rel="modulepreload" crossorigin href="./assets/links-D1JoyKTt.js">
156
- <link rel="modulepreload" crossorigin href="./assets/useRunCells-2n74L4TT.js">
156
+ <link rel="modulepreload" crossorigin href="./assets/useRunCells-CVd2QKS9.js">
157
157
  <link rel="modulepreload" crossorigin href="./assets/copy-LK56fFow.js">
158
158
  <link rel="modulepreload" crossorigin href="./assets/copy-BwrPA9zQ.js">
159
- <link rel="modulepreload" crossorigin href="./assets/copy-icon-OjtDb4gO.js">
160
- <link rel="modulepreload" crossorigin href="./assets/RenderHTML-B_YU1hMw.js">
161
- <link rel="modulepreload" crossorigin href="./assets/datasource-CHSjxFZg.js">
162
- <link rel="modulepreload" crossorigin href="./assets/state-BZoBW9cM.js">
159
+ <link rel="modulepreload" crossorigin href="./assets/copy-icon-BuRdHNPA.js">
160
+ <link rel="modulepreload" crossorigin href="./assets/RenderHTML-B5i6Qdbh.js">
161
+ <link rel="modulepreload" crossorigin href="./assets/datasource-mov7mYsn.js">
162
+ <link rel="modulepreload" crossorigin href="./assets/state-C9ggN1rs.js">
163
163
  <link rel="modulepreload" crossorigin href="./assets/package-Tv6ztuzw.js">
164
164
  <link rel="modulepreload" crossorigin href="./assets/sparkles-lWUAsPhp.js">
165
- <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-HYZo17DD.js">
165
+ <link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-BQyzDTet.js">
166
+ <link rel="modulepreload" crossorigin href="./assets/eye-off-Cm6DdkeR.js">
167
+ <link rel="modulepreload" crossorigin href="./assets/refresh-cw-DHwG4Mac.js">
168
+ <link rel="modulepreload" crossorigin href="./assets/tree-actions-XvgFV23w.js">
166
169
  <link rel="modulepreload" crossorigin href="./assets/spinner-Bhir8k53.js">
167
- <link rel="modulepreload" crossorigin href="./assets/html-to-image-GGmvROsd.js">
168
- <link rel="modulepreload" crossorigin href="./assets/focus-B2t0WTxH.js">
170
+ <link rel="modulepreload" crossorigin href="./assets/html-to-image-rLeQGF-G.js">
171
+ <link rel="modulepreload" crossorigin href="./assets/focus-CRI5ilWC.js">
169
172
  <link rel="modulepreload" crossorigin href="./assets/useAsyncData-bgszE9F0.js">
170
- <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BEvXb3VX.js">
173
+ <link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-DClDnO_2.js">
171
174
  <link rel="modulepreload" crossorigin href="./assets/micromark-factory-space-BygYYKhs.js">
172
- <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-D9iBG0F7.js">
173
- <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-CHlWY8PG.js">
174
- <link rel="modulepreload" crossorigin href="./assets/command-KARR7KMq.js">
175
- <link rel="modulepreload" crossorigin href="./assets/field-zLmMOSA4.js">
176
- <link rel="modulepreload" crossorigin href="./assets/popover-Bz_0Vkyf.js">
175
+ <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-Bp9g5nD2.js">
176
+ <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-BFAnsPek.js">
177
+ <link rel="modulepreload" crossorigin href="./assets/command-BkXWJLBP.js">
178
+ <link rel="modulepreload" crossorigin href="./assets/field-BWxnw0_c.js">
179
+ <link rel="modulepreload" crossorigin href="./assets/popover-CNCYAwbC.js">
177
180
  <link rel="modulepreload" crossorigin href="./assets/errors-vr57w7Ul.js">
178
- <link rel="modulepreload" crossorigin href="./assets/download-cs3tezQD.js">
181
+ <link rel="modulepreload" crossorigin href="./assets/download-GddKDXL8.js">
179
182
  <link rel="modulepreload" crossorigin href="./assets/table-BGPSHfig.js">
180
183
  <link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-CcI1zSdn.js">
181
- <link rel="modulepreload" crossorigin href="./assets/error-banner-LdWZDbqd.js">
184
+ <link rel="modulepreload" crossorigin href="./assets/error-banner-DWuez3Jq.js">
182
185
  <link rel="modulepreload" crossorigin href="./assets/formats-b7Sf6DAK.js">
183
186
  <link rel="modulepreload" crossorigin href="./assets/en-US-Cb8rIK52.js">
184
187
  <link rel="modulepreload" crossorigin href="./assets/isValid-CklTTytn.js">
185
188
  <link rel="modulepreload" crossorigin href="./assets/dates-CTxr0EqQ.js">
186
- <link rel="modulepreload" crossorigin href="./assets/maps-n3GaPJwv.js">
187
189
  <link rel="modulepreload" crossorigin href="./assets/extends-BiFDv3jB.js">
188
190
  <link rel="modulepreload" crossorigin href="./assets/emotion-is-prop-valid.esm-C59xfSYt.js">
189
191
  <link rel="modulepreload" crossorigin href="./assets/useDateFormatter-ICIDGgHf.js">
190
192
  <link rel="modulepreload" crossorigin href="./assets/react-icons.esm-BNzu6e7h.js">
191
- <link rel="modulepreload" crossorigin href="./assets/RSPContexts-CdN1NyAt.js">
193
+ <link rel="modulepreload" crossorigin href="./assets/RSPContexts-QoVyPvhN.js">
192
194
  <link rel="modulepreload" crossorigin href="./assets/table-6NxtGaCm.js">
193
195
  <link rel="modulepreload" crossorigin href="./assets/ellipsis-KAhMaCIV.js">
194
196
  <link rel="modulepreload" crossorigin href="./assets/external-link-BTNxSavU.js">
@@ -196,47 +198,43 @@
196
198
  <link rel="modulepreload" crossorigin href="./assets/plus-BgB18UzY.js">
197
199
  <link rel="modulepreload" crossorigin href="./assets/trash-2-rVklqqFF.js">
198
200
  <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-CV8-hvjx.js">
199
- <link rel="modulepreload" crossorigin href="./assets/JsonOutput-40Fp2jEG.js">
201
+ <link rel="modulepreload" crossorigin href="./assets/JsonOutput-Bg1SpAZP.js">
200
202
  <link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-nqk474t8.js">
201
203
  <link rel="modulepreload" crossorigin href="./assets/square-function-uY_yJr5g.js">
202
204
  <link rel="modulepreload" crossorigin href="./assets/spec-CPQR_o92.js">
203
- <link rel="modulepreload" crossorigin href="./assets/ellipsis-vertical-CkwWkOQL.js">
204
- <link rel="modulepreload" crossorigin href="./assets/refresh-cw-DHwG4Mac.js">
205
- <link rel="modulepreload" crossorigin href="./assets/tree-actions-BM_EJr3E.js">
206
- <link rel="modulepreload" crossorigin href="./assets/components-C_z0Dsug.js">
207
- <link rel="modulepreload" crossorigin href="./assets/column-preview-Bd7jDAiw.js">
205
+ <link rel="modulepreload" crossorigin href="./assets/column-preview-CibBmCB_.js">
208
206
  <link rel="modulepreload" crossorigin href="./assets/icons-Ol38nIbL.js">
209
- <link rel="modulepreload" crossorigin href="./assets/radio-group-DcUXH-59.js">
210
- <link rel="modulepreload" crossorigin href="./assets/floating-outline-C_E8vH7G.js">
207
+ <link rel="modulepreload" crossorigin href="./assets/radio-group-DS_mmqHJ.js">
208
+ <link rel="modulepreload" crossorigin href="./assets/floating-outline-CCH9y0X9.js">
211
209
  <link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-DfWeGRFv.js">
212
- <link rel="modulepreload" crossorigin href="./assets/esm-CqWdmSnV.js">
213
- <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-D6Ca_8n6.js">
210
+ <link rel="modulepreload" crossorigin href="./assets/esm-xaw4Vy8N.js">
211
+ <link rel="modulepreload" crossorigin href="./assets/readonly-python-code-3HZIBvHp.js">
214
212
  <link rel="modulepreload" crossorigin href="./assets/file-headphone-BrQspHac.js">
215
213
  <link rel="modulepreload" crossorigin href="./assets/file-BrdxGLRX.js">
216
214
  <link rel="modulepreload" crossorigin href="./assets/image-DQHXdEQn.js">
217
- <link rel="modulepreload" crossorigin href="./assets/file-icons-CNegz5Wt.js">
218
- <link rel="modulepreload" crossorigin href="./assets/switch-BiU_sAcn.js">
215
+ <link rel="modulepreload" crossorigin href="./assets/file-icons-on-PIYta.js">
216
+ <link rel="modulepreload" crossorigin href="./assets/switch-Ac7CgLgh.js">
219
217
  <link rel="modulepreload" crossorigin href="./assets/events-CPoJAfgx.js">
220
- <link rel="modulepreload" crossorigin href="./assets/globals-7JnRMGd4.js">
221
- <link rel="modulepreload" crossorigin href="./assets/share-DMwTZOTH.js">
218
+ <link rel="modulepreload" crossorigin href="./assets/globals-BivClSmn.js">
219
+ <link rel="modulepreload" crossorigin href="./assets/share-mSf5FZIP.js">
222
220
  <link rel="modulepreload" crossorigin href="./assets/blob-Bgnx1kuY.js">
223
221
  <link rel="modulepreload" crossorigin href="./assets/memoize-Tp7rARFe.js">
224
222
  <link rel="modulepreload" crossorigin href="./assets/get-C-qh_et5.js">
225
223
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-CxV9N1bc.js">
226
- <link rel="modulepreload" crossorigin href="./assets/state-CRuZ8deV.js">
227
- <link rel="modulepreload" crossorigin href="./assets/label-xHqFtfdz.js">
228
- <link rel="modulepreload" crossorigin href="./assets/textarea-0Z0sU8Go.js">
224
+ <link rel="modulepreload" crossorigin href="./assets/state-DvSTWgUA.js">
225
+ <link rel="modulepreload" crossorigin href="./assets/label-C2_YQRio.js">
226
+ <link rel="modulepreload" crossorigin href="./assets/textarea-BfDUjd9c.js">
229
227
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-C-n2VFP5.js">
230
- <link rel="modulepreload" crossorigin href="./assets/form-BnFjtYoC.js">
231
- <link rel="modulepreload" crossorigin href="./assets/renderShortcut-CcFk3m01.js">
232
- <link rel="modulepreload" crossorigin href="./assets/useBoolean-Bp18o6XG.js">
233
- <link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-zUHU--0D.js">
228
+ <link rel="modulepreload" crossorigin href="./assets/form-BUnTfUo-.js">
229
+ <link rel="modulepreload" crossorigin href="./assets/renderShortcut--ku7VECI.js">
230
+ <link rel="modulepreload" crossorigin href="./assets/useBoolean-CE6PfxGj.js">
231
+ <link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-CVmg-GkP.js">
234
232
  <link rel="modulepreload" crossorigin href="./assets/types-W8WWuumF.js">
235
- <link rel="modulepreload" crossorigin href="./assets/semaphore-FlZezxaf.js">
236
- <link rel="modulepreload" crossorigin href="./assets/fileToBase64-DZfwJMrG.js">
237
- <link rel="modulepreload" crossorigin href="./assets/pathUtils-CJjndqMI.js">
233
+ <link rel="modulepreload" crossorigin href="./assets/semaphore-qUGKVeAE.js">
234
+ <link rel="modulepreload" crossorigin href="./assets/fileToBase64-D15LPv1Y.js">
235
+ <link rel="modulepreload" crossorigin href="./assets/pathUtils-DPJ-EgtH.js">
238
236
  <link rel="modulepreload" crossorigin href="./assets/prop-types-DaaA-ptl.js">
239
- <link rel="modulepreload" crossorigin href="./assets/es-DGgq-Wes.js">
237
+ <link rel="modulepreload" crossorigin href="./assets/es-By9LYOsD.js">
240
238
  <link rel="modulepreload" crossorigin href="./assets/hasIn-DiS_ryrS.js">
241
239
  <link rel="modulepreload" crossorigin href="./assets/flatten-Dl4V1ub3.js">
242
240
  <link rel="modulepreload" crossorigin href="./assets/pick-DqWUNly1.js">
@@ -245,10 +243,10 @@
245
243
  <link rel="modulepreload" crossorigin href="./assets/square-B5xWCt0a.js">
246
244
  <link rel="modulepreload" crossorigin href="./assets/triangle-alert-D2p96PEF.js">
247
245
  <link rel="modulepreload" crossorigin href="./assets/bundle.esm-DjhGJy4I.js">
248
- <link rel="stylesheet" crossorigin href="./assets/cells-jmgGt1lS.css">
246
+ <link rel="stylesheet" crossorigin href="./assets/cells-pu5xzE_v.css">
249
247
  <link rel="stylesheet" crossorigin href="./assets/markdown-renderer-DdDKmWlR.css">
250
248
  <link rel="stylesheet" crossorigin href="./assets/JsonOutput-B7vuddcd.css">
251
- <link rel="stylesheet" crossorigin href="./assets/index-BIw7BKLH.css">
249
+ <link rel="stylesheet" crossorigin href="./assets/index-Ct3LgsQ8.css">
252
250
  </head>
253
251
  <body>
254
252
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.10-dev3",
3
+ "version": "0.23.10-dev30",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -57,7 +57,7 @@
57
57
  "@marimo-team/codemirror-ai": "^0.3.7",
58
58
  "@marimo-team/codemirror-languageserver": "^1.16.12",
59
59
  "@marimo-team/codemirror-mcp": "^0.1.5",
60
- "@marimo-team/codemirror-sql": "^0.2.4",
60
+ "@marimo-team/codemirror-sql": "^0.2.8",
61
61
  "@marimo-team/llm-info": "workspace:*",
62
62
  "@marimo-team/marimo-api": "workspace:*",
63
63
  "@marimo-team/react-slotz": "^0.2.0",
@@ -123,7 +123,7 @@
123
123
  "partysocket": "1.1.13",
124
124
  "path-to-regexp": "^8.4.0",
125
125
  "plotly.js": "^3.3.1",
126
- "pyodide": "0.27.7",
126
+ "pyodide": "314.0.0",
127
127
  "radix-ui": "1.4.3",
128
128
  "react-arborist": "^3.4.3",
129
129
  "react-aria": "3.47.0",
@@ -7,10 +7,6 @@ import type { GetRowIds } from "@/plugins/impl/DataTablePlugin";
7
7
  import { cn } from "@/utils/cn";
8
8
  import { Events } from "@/utils/events";
9
9
  import { prettyNumber } from "@/utils/numbers";
10
- import {
11
- PANEL_TYPES,
12
- type PanelType,
13
- } from "../editor/chrome/panels/context-aware-panel/context-aware-panel";
14
10
  import { Button } from "../ui/button";
15
11
  import { toast } from "../ui/use-toast";
16
12
  import { getColumnCountForDisplay } from "./hooks/use-column-visibility";
@@ -27,7 +23,6 @@ interface TableBottomBarProps<TData> {
27
23
  getRowIds?: GetRowIds;
28
24
  showPageSizeSelector?: boolean;
29
25
  tableLoading?: boolean;
30
- togglePanel?: (panelType: PanelType) => void;
31
26
  part?: string;
32
27
  className?: string;
33
28
  }
@@ -41,7 +36,6 @@ export const TableBottomBar = <TData,>({
41
36
  getRowIds,
42
37
  showPageSizeSelector,
43
38
  tableLoading,
44
- togglePanel,
45
39
  part,
46
40
  className,
47
41
  }: TableBottomBarProps<TData>) => {
@@ -159,15 +153,7 @@ export const TableBottomBar = <TData,>({
159
153
  return (
160
154
  <span className="flex items-center gap-1">
161
155
  <span>{rowsAndColumns}</span>
162
- {hiddenSuffix && (
163
- <button
164
- type="button"
165
- className="text-xs underline-offset-2 hover:underline cursor-pointer"
166
- onClick={() => togglePanel?.(PANEL_TYPES.COLUMN_EXPLORER)}
167
- >
168
- {hiddenSuffix}
169
- </button>
170
- )}
156
+ {hiddenSuffix && <span className="text-xs">{hiddenSuffix}</span>}
171
157
  </span>
172
158
  );
173
159
  };
@@ -1,6 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  "use no memo";
3
3
 
4
+ import type { Table } from "@tanstack/react-table";
4
5
  import { useDebounce } from "@uidotdev/usehooks";
5
6
  import {
6
7
  ChartSplineIcon,
@@ -17,13 +18,15 @@ import {
17
18
  } from "../editor/chrome/panels/context-aware-panel/context-aware-panel";
18
19
  import { Spinner } from "../icons/spinner";
19
20
  import { Button } from "../ui/button";
21
+ import { ColumnVisibilityDropdown } from "./column-visibility-dropdown";
20
22
  import { type ExportActionProps, ExportMenu } from "./export-actions";
21
23
 
22
24
  const NOOP_ON_SEARCH = () => {
23
25
  /** no-op*/
24
26
  };
25
27
 
26
- interface TableTopBarProps extends Partial<ExportActionProps> {
28
+ interface TableTopBarProps<TData> extends Partial<ExportActionProps> {
29
+ table: Table<TData>;
27
30
  enableSearch: boolean;
28
31
  searchQuery?: string;
29
32
  onSearchQueryChange?: (query: string) => void;
@@ -38,7 +41,8 @@ interface TableTopBarProps extends Partial<ExportActionProps> {
38
41
  sizeBytesIsLoading?: boolean;
39
42
  }
40
43
 
41
- export const TableTopBar: React.FC<TableTopBarProps> = ({
44
+ export const TableTopBar = <TData,>({
45
+ table,
42
46
  enableSearch,
43
47
  searchQuery,
44
48
  onSearchQueryChange,
@@ -52,7 +56,7 @@ export const TableTopBar: React.FC<TableTopBarProps> = ({
52
56
  downloadAs,
53
57
  sizeBytes,
54
58
  sizeBytesIsLoading,
55
- }) => {
59
+ }: TableTopBarProps<TData>) => {
56
60
  const [internalValue, setInternalValue] = useState(searchQuery || "");
57
61
  const debouncedSearch = useDebounce(internalValue, 500);
58
62
  const onSearch = useEvent(onSearchQueryChange ?? NOOP_ON_SEARCH);
@@ -62,16 +66,6 @@ export const TableTopBar: React.FC<TableTopBarProps> = ({
62
66
  onSearch(debouncedSearch);
63
67
  }, [debouncedSearch, onSearch]);
64
68
 
65
- const hasAnyAction =
66
- (enableSearch && onSearchQueryChange) ||
67
- showChartBuilder ||
68
- showTableExplorer ||
69
- downloadAs;
70
-
71
- if (!hasAnyAction) {
72
- return null;
73
- }
74
-
75
69
  return (
76
70
  <div className="flex items-center h-10 px-2 border-b gap-2">
77
71
  {onSearchQueryChange && enableSearch && (
@@ -106,6 +100,7 @@ export const TableTopBar: React.FC<TableTopBarProps> = ({
106
100
  )}
107
101
 
108
102
  <div className="flex items-center shrink-0">
103
+ <ColumnVisibilityDropdown table={table} />
109
104
  {showChartBuilder && (
110
105
  <Button
111
106
  variant="text"
@@ -3,7 +3,7 @@
3
3
 
4
4
  import { getCoreRowModel, useReactTable } from "@tanstack/react-table";
5
5
  import { render, screen } from "@testing-library/react";
6
- import { describe, expect, it, vi } from "vitest";
6
+ import { describe, expect, it } from "vitest";
7
7
  import { TooltipProvider } from "@/components/ui/tooltip";
8
8
  import { CellSelectionProvider } from "../range-focus/provider";
9
9
  import { TableBottomBar } from "../TableBottomBar";
@@ -11,7 +11,6 @@ import { TableBottomBar } from "../TableBottomBar";
11
11
  function renderWithTable(opts: {
12
12
  totalColumns: number;
13
13
  hiddenColumns?: string[];
14
- togglePanel?: (panelType: string) => void;
15
14
  }) {
16
15
  const Wrapper = () => {
17
16
  const table = useReactTable({
@@ -34,7 +33,6 @@ function renderWithTable(opts: {
34
33
  pagination={false}
35
34
  totalColumns={opts.totalColumns}
36
35
  table={table}
37
- togglePanel={opts.togglePanel}
38
36
  />
39
37
  );
40
38
  };
@@ -60,14 +58,10 @@ describe("TableBottomBar — hidden column count", () => {
60
58
  expect(screen.getByText(/\(1 hidden\)/)).toBeInTheDocument();
61
59
  });
62
60
 
63
- it("invokes togglePanel('column-explorer') when '(n hidden)' is clicked", () => {
64
- const togglePanel = vi.fn();
65
- renderWithTable({
66
- totalColumns: 3,
67
- hiddenColumns: ["col1"],
68
- togglePanel,
69
- });
70
- screen.getByText(/\(1 hidden\)/).click();
71
- expect(togglePanel).toHaveBeenCalledWith("column-explorer");
61
+ it("renders '(n hidden)' as inert text, not a button", () => {
62
+ renderWithTable({ totalColumns: 3, hiddenColumns: ["col1"] });
63
+ const suffix = screen.getByText(/\(1 hidden\)/);
64
+ expect(suffix.tagName).toBe("SPAN");
65
+ expect(suffix.closest("button")).toBeNull();
72
66
  });
73
67
  });
@@ -0,0 +1,227 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import {
4
+ type ColumnDef,
5
+ getCoreRowModel,
6
+ useReactTable,
7
+ } from "@tanstack/react-table";
8
+ import { fireEvent, render, screen } from "@testing-library/react";
9
+ import { beforeAll, describe, expect, it } from "vitest";
10
+ import { ColumnVisibilityDropdown } from "../column-visibility-dropdown";
11
+ import { INDEX_COLUMN_NAME, SELECT_COLUMN_ID } from "../types";
12
+
13
+ beforeAll(() => {
14
+ global.HTMLElement.prototype.scrollIntoView = () => {
15
+ // jsdom does not implement scrollIntoView; cmdk calls it on selection.
16
+ };
17
+ if (!global.HTMLElement.prototype.hasPointerCapture) {
18
+ global.HTMLElement.prototype.hasPointerCapture = () => false;
19
+ }
20
+ });
21
+
22
+ type Row = Record<string, unknown>;
23
+
24
+ const TEST_COLUMNS: ColumnDef<Row>[] = [
25
+ { id: SELECT_COLUMN_ID, accessorKey: SELECT_COLUMN_ID },
26
+ { id: INDEX_COLUMN_NAME, accessorKey: INDEX_COLUMN_NAME },
27
+ { id: "__m_column__0", accessorKey: "__m_column__0" },
28
+ {
29
+ id: "customer_name",
30
+ accessorKey: "customer_name",
31
+ meta: { dataType: "string" },
32
+ },
33
+ { id: "cust_age", accessorKey: "cust_age", meta: { dataType: "integer" } },
34
+ {
35
+ id: "order_total",
36
+ accessorKey: "order_total",
37
+ meta: { dataType: "number" },
38
+ },
39
+ ];
40
+
41
+ interface HarnessProps {
42
+ initiallyHidden?: string[];
43
+ nonHideable?: string[];
44
+ }
45
+
46
+ function Harness({ initiallyHidden = [], nonHideable = [] }: HarnessProps) {
47
+ const table = useReactTable<Row>({
48
+ data: [],
49
+ columns: TEST_COLUMNS.map((column) =>
50
+ nonHideable.includes(column.id as string)
51
+ ? { ...column, enableHiding: false }
52
+ : column,
53
+ ),
54
+ getCoreRowModel: getCoreRowModel(),
55
+ locale: "en-US",
56
+ initialState: {
57
+ columnVisibility: Object.fromEntries(
58
+ initiallyHidden.map((id) => [id, false]),
59
+ ),
60
+ },
61
+ });
62
+ return <ColumnVisibilityDropdown table={table} />;
63
+ }
64
+
65
+ function renderAndOpen(props?: HarnessProps) {
66
+ const result = render(<Harness {...(props ?? {})} />);
67
+ fireEvent.click(screen.getByTestId("column-visibility-trigger"));
68
+ return result;
69
+ }
70
+
71
+ function getOptionTexts(): string[] {
72
+ return screen.getAllByRole("option").map((el) => el.textContent ?? "");
73
+ }
74
+
75
+ function getColumnOption(name: string): HTMLElement {
76
+ const option = screen
77
+ .getAllByRole("option")
78
+ .find((el) => el.textContent === name);
79
+ if (!option) {
80
+ throw new Error(`No option for column ${name}`);
81
+ }
82
+ return option;
83
+ }
84
+
85
+ function getSearchInput() {
86
+ return screen.getByPlaceholderText("Search columns...");
87
+ }
88
+
89
+ describe("ColumnVisibilityDropdown", () => {
90
+ it("renders user columns and excludes select/index/nameless columns", () => {
91
+ renderAndOpen();
92
+ expect(screen.getByText("customer_name")).toBeInTheDocument();
93
+ expect(screen.getByText("cust_age")).toBeInTheDocument();
94
+ expect(screen.getByText("order_total")).toBeInTheDocument();
95
+ expect(screen.queryByText(SELECT_COLUMN_ID)).not.toBeInTheDocument();
96
+ expect(screen.queryByText(INDEX_COLUMN_NAME)).not.toBeInTheDocument();
97
+ expect(screen.queryByText("__m_column__0")).not.toBeInTheDocument();
98
+ });
99
+
100
+ it("lists hidden columns before shown columns", () => {
101
+ renderAndOpen({ initiallyHidden: ["cust_age"] });
102
+ expect(getOptionTexts()).toEqual([
103
+ "Show all",
104
+ "cust_age",
105
+ "customer_name",
106
+ "order_total",
107
+ ]);
108
+ });
109
+
110
+ it("toggling a hidden column flips the icon without moving the row", () => {
111
+ renderAndOpen({ initiallyHidden: ["cust_age"] });
112
+ expect(
113
+ getColumnOption("cust_age").querySelector(".lucide-eye-off"),
114
+ ).not.toBeNull();
115
+
116
+ fireEvent.click(getColumnOption("cust_age"));
117
+
118
+ expect(getOptionTexts()).toEqual([
119
+ "Show all",
120
+ "cust_age",
121
+ "customer_name",
122
+ "order_total",
123
+ ]);
124
+ expect(
125
+ getColumnOption("cust_age").querySelector(".lucide-eye-off"),
126
+ ).toBeNull();
127
+ });
128
+
129
+ it("re-sorts on reopen after a toggle", () => {
130
+ renderAndOpen({ initiallyHidden: ["cust_age"] });
131
+ // Hide customer_name: it stays in the shown section until reopen.
132
+ fireEvent.click(getColumnOption("customer_name"));
133
+ expect(getOptionTexts()).toEqual([
134
+ "Show all",
135
+ "cust_age",
136
+ "customer_name",
137
+ "order_total",
138
+ ]);
139
+
140
+ const trigger = screen.getByTestId("column-visibility-trigger");
141
+ fireEvent.click(trigger);
142
+ fireEvent.click(trigger);
143
+
144
+ // Reopen sorts both hidden columns first, preserving table order.
145
+ expect(getOptionTexts()).toEqual([
146
+ "Show all",
147
+ "customer_name",
148
+ "cust_age",
149
+ "order_total",
150
+ ]);
151
+ });
152
+
153
+ it("filters columns with smartMatch", () => {
154
+ renderAndOpen();
155
+ fireEvent.change(getSearchInput(), { target: { value: "cust" } });
156
+ expect(screen.getByText("customer_name")).toBeInTheDocument();
157
+ expect(screen.getByText("cust_age")).toBeInTheDocument();
158
+ expect(screen.queryByText("order_total")).not.toBeInTheDocument();
159
+ });
160
+
161
+ it("shows 'No results.' when nothing matches", () => {
162
+ renderAndOpen();
163
+ fireEvent.change(getSearchInput(), { target: { value: "xyz" } });
164
+ expect(screen.getByText("No results.")).toBeInTheDocument();
165
+ expect(screen.queryByText("customer_name")).not.toBeInTheDocument();
166
+ });
167
+
168
+ it("disables 'Show all' when no columns are hidden", () => {
169
+ renderAndOpen();
170
+ expect(getColumnOption("Show all")).toHaveAttribute(
171
+ "aria-disabled",
172
+ "true",
173
+ );
174
+ });
175
+
176
+ it("'Show all' restores hidden columns", () => {
177
+ renderAndOpen({ initiallyHidden: ["cust_age", "order_total"] });
178
+ fireEvent.click(getColumnOption("Show all"));
179
+
180
+ expect(
181
+ getColumnOption("cust_age").querySelector(".lucide-eye-off"),
182
+ ).toBeNull();
183
+ expect(
184
+ getColumnOption("order_total").querySelector(".lucide-eye-off"),
185
+ ).toBeNull();
186
+ expect(getColumnOption("Show all")).toHaveAttribute(
187
+ "aria-disabled",
188
+ "true",
189
+ );
190
+ });
191
+
192
+ it("hides and shows matching columns via bulk actions while searching", () => {
193
+ renderAndOpen();
194
+ fireEvent.change(getSearchInput(), { target: { value: "cust" } });
195
+ expect(screen.queryByText(/Show all/)).not.toBeInTheDocument();
196
+
197
+ fireEvent.click(getColumnOption("Hide 2 matching"));
198
+ expect(
199
+ getColumnOption("customer_name").querySelector(".lucide-eye-off"),
200
+ ).not.toBeNull();
201
+ expect(
202
+ getColumnOption("cust_age").querySelector(".lucide-eye-off"),
203
+ ).not.toBeNull();
204
+ expect(screen.queryByText(/Hide \d+ matching/)).not.toBeInTheDocument();
205
+
206
+ fireEvent.click(getColumnOption("Show 2 matching"));
207
+ expect(
208
+ getColumnOption("customer_name").querySelector(".lucide-eye-off"),
209
+ ).toBeNull();
210
+ expect(screen.queryByText(/Show \d+ matching/)).not.toBeInTheDocument();
211
+ });
212
+
213
+ it("offers both bulk actions when matches are mixed", () => {
214
+ renderAndOpen({ initiallyHidden: ["cust_age"] });
215
+ fireEvent.change(getSearchInput(), { target: { value: "cust" } });
216
+ expect(screen.getByText(/Hide 1 matching/)).toBeInTheDocument();
217
+ expect(screen.getByText(/Show 1 matching/)).toBeInTheDocument();
218
+ });
219
+
220
+ it("renders non-hideable columns disabled and without an eye toggle", () => {
221
+ renderAndOpen({ nonHideable: ["customer_name"] });
222
+ const option = getColumnOption("customer_name");
223
+ expect(option).toHaveAttribute("aria-disabled", "true");
224
+ expect(option.querySelector(".lucide-eye")).toBeNull();
225
+ expect(option.querySelector(".lucide-eye-off")).toBeNull();
226
+ });
227
+ });