@marimo-team/frontend 0.23.2-dev8 → 0.23.2
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.
- package/dist/assets/CellStatus-Dtymd7Mw.js +1 -0
- package/dist/assets/ConnectedDataExplorerComponent-ChNjqWW0.js +1 -0
- package/dist/assets/DeferredRequestRegistry-C2V-hXrK.js +1 -0
- package/dist/assets/ErrorBoundary-DzYV_VeY.js +1 -0
- package/dist/assets/ImageComparisonComponent-BDf80c-c.js +1 -0
- package/dist/assets/ImperativeModal-CAFE3UV7.js +1 -0
- package/dist/assets/Inputs-kqHYE7dL.js +1 -0
- package/dist/assets/JsonOutput-sWUD3O5F.js +49 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-BYkSpfWg.js +2 -0
- package/dist/assets/MarimoErrorOutput-CUkxKVSp.js +7 -0
- package/dist/assets/Plot-Dw2rpqfa.js +3789 -0
- package/dist/assets/RSPContexts-CrATdGvz.js +1 -0
- package/dist/assets/RenderHTML-aOmkRy0R.js +1 -0
- package/dist/assets/__vite-browser-external-DgbEhFq1.js +1 -0
- package/dist/assets/_baseFor-DKD1r8uL.js +1 -0
- package/dist/assets/_baseSet-CxV9N1bc.js +1 -0
- package/dist/assets/_baseUniq-CbY8vx1e.js +1 -0
- package/dist/assets/add-cell-with-ai-apfqz2QF.js +92 -0
- package/dist/assets/add-connection-dialog-D6XFTnTb.js +167 -0
- package/dist/assets/agent-panel-D7n2noTX.js +287 -0
- package/dist/assets/ai-model-dropdown-CMNpHk5I.js +5 -0
- package/dist/assets/alert-DD-RU0QZ.js +1 -0
- package/dist/assets/alert-dialog-BGBdrcqJ.js +11 -0
- package/dist/assets/any-language-editor-CFmH0GoP.js +1 -0
- package/dist/assets/apl-ezh0ScS-.js +1 -0
- package/dist/assets/app-config-button-CXAAPUFL.js +1 -0
- package/dist/assets/architecture-7HQA4BMR-CKjkd5Dl.js +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-x1tfs-Zy.js +36 -0
- package/dist/assets/arrays-DYDL-3-i.js +1 -0
- package/dist/assets/asciiarmor-DBqyln4y.js +1 -0
- package/dist/assets/asn1-C9Hie9a5.js +1 -0
- package/dist/assets/badge-IqsYSyWB.js +1 -0
- package/dist/assets/blockDiagram-VD42YOAC-DsnHpCid.js +122 -0
- package/dist/assets/bot-message-square-DrbHk31W.js +1 -0
- package/dist/assets/brainfuck-BDNU41Mw.js +1 -0
- package/dist/assets/button-D9nb17Rw.js +1 -0
- package/dist/assets/c4Diagram-YG6GDRKO-D32cjsO5.js +10 -0
- package/dist/assets/cache-panel-_zalrRwf.js +1 -0
- package/dist/assets/capabilities-C_FLIcjP.js +1 -0
- package/dist/assets/card-DaCTzD6y.js +1 -0
- package/dist/assets/cell-editor-BUrhiKcX.js +22 -0
- package/dist/assets/cell-link-owqfXuA4.js +1 -0
- package/dist/assets/cells-BA9ZN5Xy.js +229 -0
- package/dist/assets/channel-esN5troS.js +1 -0
- package/dist/assets/chart-no-axes-column-nqk474t8.js +1 -0
- package/dist/assets/chat-display-AB-C2j6p.js +1 -0
- package/dist/assets/chat-panel-C1Evz8wb.js +3 -0
- package/dist/assets/chat-ui-CcArYoMw.js +4 -0
- package/dist/assets/check-BH35Ndha.js +1 -0
- package/dist/assets/chevron-right-CG5QYXYk.js +1 -0
- package/dist/assets/chunk-4F5CHEZ2-CiW94ehv.js +1 -0
- package/dist/assets/chunk-55IACEB6-C_BE0X2F.js +1 -0
- package/dist/assets/chunk-5FQGJX7Z-wbiBygI_.js +113 -0
- package/dist/assets/chunk-ABZYJK2D-CSzcbtsR.js +80 -0
- package/dist/assets/chunk-ATLVNIR6-BGYBu2zE.js +1 -0
- package/dist/assets/chunk-B2363JML-Dj_BsGfX.js +1 -0
- package/dist/assets/chunk-B4BG7PRW-S78japIA.js +165 -0
- package/dist/assets/chunk-DI55MBZ5-B1Vz0MTl.js +220 -0
- package/dist/assets/chunk-EXTU4WIE-D-Spa6rW.js +1 -0
- package/dist/assets/chunk-FRFDVMJY-BB5sTbw6.js +1 -0
- package/dist/assets/chunk-JA3XYJ7Z-BJGCDHDS.js +70 -0
- package/dist/assets/chunk-JZLCHNYA-lm1LBIfJ.js +54 -0
- package/dist/assets/chunk-N4CR4FBY-BQWUF0Ly.js +2 -0
- package/dist/assets/chunk-PL6DKKU2-BVOKRgy0.js +1 -0
- package/dist/assets/chunk-QN33PNHL-Buv0c3y8.js +1 -0
- package/dist/assets/chunk-QXUST7PY-tI3bGlcO.js +7 -0
- package/dist/assets/chunk-S3R3BYOJ-BwE-T8-d.js +2 -0
- package/dist/assets/chunk-SJTYNZTY-BY2Gu6VM.js +1 -0
- package/dist/assets/chunk-TCCFYFTB-ClOYb5MI.js +125 -0
- package/dist/assets/chunk-TQ3KTPDO-BXqsqDoM.js +1 -0
- package/dist/assets/chunk-TZMSLE5B-zQ3MzIy5.js +1 -0
- package/dist/assets/chunk-UMXZTB3W-2RQe-UTW.js +1 -0
- package/dist/assets/circle-check-C17zXg7L.js +1 -0
- package/dist/assets/circle-play-CYXX2xu3.js +1 -0
- package/dist/assets/circle-plus-BdiiIXu5.js +1 -0
- package/dist/assets/classDiagram-2ON5EDUG-BSpbvL3e.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-CQ49gdZV.js +1 -0
- package/dist/assets/clear-button-hXGBrmNq.js +1 -0
- package/dist/assets/clike-B5Yp94w5.js +1 -0
- package/dist/assets/clipboard-paste-BPjPPEqD.js +1 -0
- package/dist/assets/clojure-DnkK3bSc.js +1 -0
- package/dist/assets/clone-wB3InSdt.js +1 -0
- package/dist/assets/cmake-BnWrJdTV.js +1 -0
- package/dist/assets/cn-DCUzRj2J.js +1 -0
- package/dist/assets/cobol-HBrO1JaF.js +1 -0
- package/dist/assets/code-block-37QAKDTI-Bf-3UT2Z.js +2 -0
- package/dist/assets/code-xml-CZN6vNxu.js +1 -0
- package/dist/assets/coffeescript-CRPuDhgD.js +1 -0
- package/dist/assets/column-preview-BbSZl4gC.js +1 -0
- package/dist/assets/command-DQS2IzwJ.js +1 -0
- package/dist/assets/command-palette-Cc7XXZHG.js +1 -0
- package/dist/assets/common-CakcoJKZ.js +1 -0
- package/dist/assets/commonlisp-Da4KcekY.js +1 -0
- package/dist/assets/components-DVzYtTDe.js +1 -0
- package/dist/assets/components-eaRIBPb2.js +1 -0
- package/dist/assets/config-Calf6e81.js +1 -0
- package/dist/assets/constants-DMpttj8Q.js +1 -0
- package/dist/assets/context-BrNoqz7t.js +1 -0
- package/dist/assets/copy-BnK_ki61.js +1 -0
- package/dist/assets/copy-BwrPA9zQ.js +1 -0
- package/dist/assets/copy-icon-D189KR4Z.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-DT_V8ZfF.js +1 -0
- package/dist/assets/createReducer-1ePoj7v6.js +1 -0
- package/dist/assets/crystal-DSapLTsa.js +1 -0
- package/dist/assets/css-B68S0me4.js +1 -0
- package/dist/assets/cypher-xFGoEou9.js +1 -0
- package/dist/assets/d-DgvhEIBQ.js +1 -0
- package/dist/assets/dagre-6UL2VRFP-DGYXMu3i.js +4 -0
- package/dist/assets/dagre-DhAJ2E-3.js +1 -0
- package/dist/assets/data-grid-overlay-editor-CD6KDhh4.js +1 -0
- package/dist/assets/database-zap-kIkTfzTX.js +1 -0
- package/dist/assets/datasource-BZ77nRPA.js +3 -0
- package/dist/assets/dates-CtmdgiVR.js +1 -0
- package/dist/assets/debounce-DhnxH9Rh.js +1 -0
- package/dist/assets/dependency-graph-panel-DJodxi-n.js +5 -0
- package/dist/assets/diagram-PSM6KHXK-Df7m0-Bk.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-BC5JXjfp.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-D6E97R3h.js +24 -0
- package/dist/assets/dialog-CqE8CV1Y.js +1 -0
- package/dist/assets/diff-_ncWAuCI.js +1 -0
- package/dist/assets/dist-B5ONF0fx.js +1 -0
- package/dist/assets/dist-B804XDz9.js +1 -0
- package/dist/assets/dist-BOBxlWRU.js +1 -0
- package/dist/assets/dist-BZX17NA8.js +1 -0
- package/dist/assets/dist-Bgd1ZX49.js +1 -0
- package/dist/assets/dist-BiQrY0m-.js +1 -0
- package/dist/assets/dist-BoOh2kN5.js +1 -0
- package/dist/assets/dist-BrR4M-k3.js +13 -0
- package/dist/assets/dist-BuSjuYCJ.js +1 -0
- package/dist/assets/dist-BvefCWaz.js +1 -0
- package/dist/assets/dist-BvpmHCI2.js +1 -0
- package/dist/assets/dist-BwejP-9J.js +6 -0
- package/dist/assets/dist-C2akIBaE.js +1 -0
- package/dist/assets/dist-C5pbZROJ.js +1 -0
- package/dist/assets/dist-C9ZB41s2.js +2 -0
- package/dist/assets/dist-C9byx33H.js +1 -0
- package/dist/assets/dist-CAjNwSwp.js +1 -0
- package/dist/assets/dist-CD7-c8A4.js +1 -0
- package/dist/assets/dist-CHcznzB-.js +2 -0
- package/dist/assets/dist-CM2zL7eu.js +1 -0
- package/dist/assets/dist-CSLszKKS.js +1 -0
- package/dist/assets/dist-Cb9wJQiu.js +1 -0
- package/dist/assets/dist-CdAQ8eZ9.js +1 -0
- package/dist/assets/dist-ChEIZSwD.js +1 -0
- package/dist/assets/dist-CpbLJKXc.js +3 -0
- package/dist/assets/dist-Ct7BBGwl.js +1 -0
- package/dist/assets/dist-D8d8D49Y.js +1 -0
- package/dist/assets/dist-D8llshvP.js +1 -0
- package/dist/assets/dist-D8mC0RLm.js +1 -0
- package/dist/assets/dist-D9brkCnf.js +1 -0
- package/dist/assets/dist-DDWNnRcK.js +7 -0
- package/dist/assets/dist-DEsgb6r0.js +1 -0
- package/dist/assets/dist-DK65leDK.js +1 -0
- package/dist/assets/dist-DMIdeanR.js +1 -0
- package/dist/assets/dist-DSv2WUkf.js +1 -0
- package/dist/assets/dist-DX-ejWLY.js +1 -0
- package/dist/assets/dist-DfWgLTCQ.js +13 -0
- package/dist/assets/dist-Dg3CCt0r.js +3 -0
- package/dist/assets/dist-DlFpiRHv.js +1 -0
- package/dist/assets/dist-G3xLh7ZX.js +1 -0
- package/dist/assets/dist-G8rBPeDP.js +1 -0
- package/dist/assets/dist-H-P6qorM.js +1 -0
- package/dist/assets/dist-HIpA48xV.js +7 -0
- package/dist/assets/dist-HlsDto3K.js +1 -0
- package/dist/assets/dist-a6hqEAyw.js +1 -0
- package/dist/assets/dist-fKK_jBk2.js +1 -0
- package/dist/assets/dist-idZNafp8.js +1 -0
- package/dist/assets/dist-vhQjV8kg.js +1 -0
- package/dist/assets/dockerfile-COvjaTvv.js +1 -0
- package/dist/assets/documentation-panel-DMXEUS7v.js +1 -0
- package/dist/assets/download-rCRPD7IF.js +9 -0
- package/dist/assets/dropdown-menu-D1A3cFC8.js +1 -0
- package/dist/assets/dtd-BnBIn3kr.js +1 -0
- package/dist/assets/dylan-CkGqQmFw.js +1 -0
- package/dist/assets/ecl-CFTIHpsV.js +1 -0
- package/dist/assets/edit-page-CK943x81.js +9 -0
- package/dist/assets/eiffel-DqSKoxJh.js +1 -0
- package/dist/assets/ellipsis-KAhMaCIV.js +1 -0
- package/dist/assets/ellipsis-vertical-CkwWkOQL.js +1 -0
- package/dist/assets/elm-dL9c1n0U.js +1 -0
- package/dist/assets/empty-state-CrP10sqm.js +1 -0
- package/dist/assets/en-US-B8TXLgVt.js +1 -0
- package/dist/assets/erDiagram-Q2GNP2WA-AvxewI5H.js +60 -0
- package/dist/assets/erlang-ZIYI48gw.js +1 -0
- package/dist/assets/error-banner-BxlXxssi.js +1 -0
- package/dist/assets/error-panel-4rKxybFL.js +1 -0
- package/dist/assets/es-CjWf0wU3.js +5 -0
- package/dist/assets/esm-CcSYdGmP.js +1 -0
- package/dist/assets/esm-jhgLTcf6.js +1 -0
- package/dist/assets/eye-off-n1Li95bE.js +1 -0
- package/dist/assets/factor-CDbckATe.js +1 -0
- package/dist/assets/factor-PbpmJuj6.js +1 -0
- package/dist/assets/field-Dpiu3eud.js +1 -0
- package/dist/assets/file-BrdxGLRX.js +1 -0
- package/dist/assets/file-explorer-panel-B5sFxYu1.js +26 -0
- package/dist/assets/file-headphone-BrQspHac.js +1 -0
- package/dist/assets/file-icons-CSF7UWQn.js +1 -0
- package/dist/assets/fileToBase64-Bzn96tYq.js +1 -0
- package/dist/assets/flatten-Dl4V1ub3.js +1 -0
- package/dist/assets/floating-outline-DzcyDJwQ.js +1 -0
- package/dist/assets/flowDiagram-NV44I4VS-BqW0suiP.js +162 -0
- package/dist/assets/focus-BRfyPUhi.js +1 -0
- package/dist/assets/form-BUVFJb5I.js +2 -0
- package/dist/assets/formats-CQbVJYLi.js +1 -0
- package/dist/assets/formatting-CbFi9xG8.js +1 -0
- package/dist/assets/forth-ClT6YoKq.js +1 -0
- package/dist/assets/fortran-D3wR_E-8.js +1 -0
- package/dist/assets/fullscreen-BDxedMYP.js +41 -0
- package/dist/assets/gallery-page-ClCkynuR.js +1 -0
- package/dist/assets/ganttDiagram-JELNMOA3-CeCvJWgC.js +267 -0
- package/dist/assets/gas-_ShnzaTM.js +1 -0
- package/dist/assets/get-C-qh_et5.js +1 -0
- package/dist/assets/gherkin-LsHtc0Ns.js +1 -0
- package/dist/assets/gitGraph-G5XIXVHT-nrZ-BMna.js +1 -0
- package/dist/assets/gitGraphDiagram-V2S2FVAM-Dn1AbOWu.js +65 -0
- package/dist/assets/github-BKS_2Qwn.js +1 -0
- package/dist/assets/glide-data-editor-CKiZFI5U.js +132 -0
- package/dist/assets/globals-DY_dRKpv.js +1 -0
- package/dist/assets/graphlib-CRNG9rUk.js +1 -0
- package/dist/assets/groovy-D_Yv0Fac.js +1 -0
- package/dist/assets/hasIn-DiS_ryrS.js +1 -0
- package/dist/assets/haskell-qhM1HAIB.js +1 -0
- package/dist/assets/haxe-Bi62PpIr.js +1 -0
- package/dist/assets/home-page-BvfssQ5c.js +4 -0
- package/dist/assets/hooks-CK1ac3iV.js +1 -0
- package/dist/assets/html-to-image-BOWUS6J2.js +2 -0
- package/dist/assets/icons-C66kZH_4.js +1 -0
- package/dist/assets/idl-CI42bOaI.js +1 -0
- package/dist/assets/image-HpSc22eh.js +1 -0
- package/dist/assets/index-BuOIqA8d.css +2 -0
- package/dist/assets/index-DCq7udug.js +42 -0
- package/dist/assets/info-VBDWY6EO-Bn_7XCeN.js +1 -0
- package/dist/assets/infoDiagram-HS3SLOUP-DTO3Z6Cg.js +2 -0
- package/dist/assets/input-2egRGOhT.js +1 -0
- package/dist/assets/isEmpty-CXeoXbuc.js +1 -0
- package/dist/assets/isValid-KoNx_uxe.js +1 -0
- package/dist/assets/javascript-BNZ5YnSy.js +1 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-BQL61Vfo.js +139 -0
- package/dist/assets/julia-dpVUKOp6.js +1 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-CMoUF4Qw.js +89 -0
- package/dist/assets/kbd-DSY6_TYl.js +1 -0
- package/dist/assets/kiosk-mode-BJNsfVZJ.js +1 -0
- package/dist/assets/label-DTR8T0AE.js +1 -0
- package/dist/assets/layout-0Xp7ABJw.js +9 -0
- package/dist/assets/linear-DxS7NPzz.js +1 -0
- package/dist/assets/link-DlqtQzll.js +1 -0
- package/dist/assets/links-D-VMsA11.js +1 -0
- package/dist/assets/links-DhwG_EVu.js +1 -0
- package/dist/assets/livescript-BDwSUbUd.js +1 -0
- package/dist/assets/logs-panel-bp6XOaLO.js +1 -0
- package/dist/assets/loro_wasm_bg-DpX928kr.js +1 -0
- package/dist/assets/lua-cGUKNtb5.js +1 -0
- package/dist/assets/maps-C48Oksn0.js +1 -0
- package/dist/assets/marimo-icons-Ce24dQVN.js +1 -0
- package/dist/assets/markdown-renderer-3M2UXZOE.js +5 -0
- package/dist/assets/mathematica-D4XScfvP.js +1 -0
- package/dist/assets/mbox-COnP75oc.js +1 -0
- package/dist/assets/memoize-Tp7rARFe.js +1 -0
- package/dist/assets/menu-items-CwUpDHG7.js +1 -0
- package/dist/assets/merge-_9WLTEyt.js +1 -0
- package/dist/assets/mermaid-4DMBBIKO-D-U6KmKa.js +1 -0
- package/dist/assets/mermaid-CI6k86rB.js +11 -0
- package/dist/assets/mermaid-parser.core-B0EhnNjP.js +4 -0
- package/dist/assets/message-circle-QFYtD-Lc.js +1 -0
- package/dist/assets/min-12WNOJ9e.js +1 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-C0BN8YhO.js +68 -0
- package/dist/assets/mirc-DXskkW6M.js +1 -0
- package/dist/assets/mllike-B3ebn_fS.js +1 -0
- package/dist/assets/modelica-Df8_BOFz.js +1 -0
- package/dist/assets/mscgen-ugK6iLdl.js +1 -0
- package/dist/assets/multi-icon-nJMmVh2f.js +1 -0
- package/dist/assets/multi-map-rafH3cg3.js +1 -0
- package/dist/assets/mumps-Qes0D9Sq.js +1 -0
- package/dist/assets/name-cell-input-CUkoykAD.js +1 -0
- package/dist/assets/now-CsYTPAhW.js +1 -0
- package/dist/assets/nsis-BbDlITQ-.js +1 -0
- package/dist/assets/nsis-CvTk2ElD.js +1 -0
- package/dist/assets/ntriples-BrWSHgAl.js +1 -0
- package/dist/assets/number-overlay-editor-DJEXT_Ye.js +9 -0
- package/dist/assets/numbers-epUg4eUW.js +1 -0
- package/dist/assets/octave--UXUC2au.js +1 -0
- package/dist/assets/once-DRroIaBz.js +1 -0
- package/dist/assets/outline-panel-s7vxHE_P.js +1 -0
- package/dist/assets/oz-SCICUQnB.js +1 -0
- package/dist/assets/packages-panel-CDb4sauq.js +1 -0
- package/dist/assets/packet-DYOGHKS2-B53MIhbR.js +1 -0
- package/dist/assets/panel-context-DgIiEtMa.js +1 -0
- package/dist/assets/panels-s8gQr6G_.js +1 -0
- package/dist/assets/pascal-BZRIRN0Y.js +1 -0
- package/dist/assets/perl-BJBf_VRX.js +1 -0
- package/dist/assets/pick-DqWUNly1.js +1 -0
- package/dist/assets/pie-VRWISCQL-CsQYRyI_.js +1 -0
- package/dist/assets/pieDiagram-ADFJNKIX-CZ1pBex_.js +30 -0
- package/dist/assets/pig-8VtGvtGP.js +1 -0
- package/dist/assets/play-CEytussU.js +1 -0
- package/dist/assets/plus-BueqiM86.js +1 -0
- package/dist/assets/popover-UExmgBsf.js +1 -0
- package/dist/assets/powershell-MUdKU-yo.js +1 -0
- package/dist/assets/precisionRound-BMPhtTJQ.js +1 -0
- package/dist/assets/process-output-C6_eNZv8.js +1 -0
- package/dist/assets/properties-B_YTP79K.js +1 -0
- package/dist/assets/protobuf-BjqtN1d3.js +1 -0
- package/dist/assets/pug-B2p6efPp.js +1 -0
- package/dist/assets/pug-pCMDyY3V.js +1 -0
- package/dist/assets/puppet-ByNusmmY.js +1 -0
- package/dist/assets/purify.es-Cg0r2qW-.js +2 -0
- package/dist/assets/python-CeK7Mdg6.js +1 -0
- package/dist/assets/q-BPLn3RjU.js +1 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-D6LNQBr8.js +7 -0
- package/dist/assets/r-C6hL19P_.js +1 -0
- package/dist/assets/radar-ZZBFDIW7-DixuyYGz.js +1 -0
- package/dist/assets/react-vega-B2Q2ObPu.js +1 -0
- package/dist/assets/react-vega-D3GJC5Ll.js +190 -0
- package/dist/assets/readonly-python-code-BBLUUIbP.js +1 -0
- package/dist/assets/refresh-ccw-BuMhEaS9.js +1 -0
- package/dist/assets/refresh-cw-BmiNHssk.js +1 -0
- package/dist/assets/renderShortcut-B-72v1dC.js +1 -0
- package/dist/assets/request-registry-yZbbPZkh.js +1 -0
- package/dist/assets/requests-DIwGYs0l.js +1 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-BQCIkW22.js +64 -0
- package/dist/assets/reveal-component-CT2scTNG.js +91 -0
- package/dist/assets/reveal-component-DlPTFz1w.css +1 -0
- package/dist/assets/rotate-ccw-Bwso-5RT.js +1 -0
- package/dist/assets/rpm-Cepx5AK5.js +1 -0
- package/dist/assets/ruby-8a_JNJtC.js +1 -0
- package/dist/assets/run-page-BebSJHhp.js +1 -0
- package/dist/assets/runs-BBFoea9K.js +1 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-WXVSVZRc.js +10 -0
- package/dist/assets/sas-DRXu6Kkn.js +1 -0
- package/dist/assets/save-B_q9ApPf.js +1 -0
- package/dist/assets/scheme-DaBlDkbO.js +1 -0
- package/dist/assets/scratchpad-panel-CPn_yM49.js +1 -0
- package/dist/assets/secrets-panel-B6HrST_M.js +1 -0
- package/dist/assets/select-5i7URBEn.js +1 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-FSYTKWFS.js +145 -0
- package/dist/assets/session-DdhIEena.js +1 -0
- package/dist/assets/session-panel-CfLYfSX2.js +1 -0
- package/dist/assets/settings-C_KZ1Eue.js +1 -0
- package/dist/assets/share-CJEPnWjm.js +1 -0
- package/dist/assets/shell-CEmng-T5.js +1 -0
- package/dist/assets/sieve-CTG31Wbe.js +1 -0
- package/dist/assets/slide-CdqatvaH.js +1 -0
- package/dist/assets/slides-BVvo79ll.css +1 -0
- package/dist/assets/smalltalk-DlBjAIRH.js +1 -0
- package/dist/assets/snippets-panel-tfceTIEM.js +1 -0
- package/dist/assets/sparkles-BRTQ46qC.js +1 -0
- package/dist/assets/sparql-D8XQtNgL.js +1 -0
- package/dist/assets/spec-6oUobewY.js +1 -0
- package/dist/assets/spinner-jEqwgi_c.js +1 -0
- package/dist/assets/square-function-DN3RwIjj.js +1 -0
- package/dist/assets/square-k2WwJdZy.js +1 -0
- package/dist/assets/src-COk1uIaa.js +1 -0
- package/dist/assets/state-BFFSWzNE.js +3 -0
- package/dist/assets/state-Dlj7aAV2.js +1 -0
- package/dist/assets/state-INwBo8-b.js +1 -0
- package/dist/assets/state-SzKMGrBW.js +1 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-NXeF8b27.js +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-co6cLoce.js +1 -0
- package/dist/assets/stex-CXcPf-7C.js +1 -0
- package/dist/assets/strings-md4mFbOQ.js +2 -0
- package/dist/assets/stylus-DpfM4Y-0.js +1 -0
- package/dist/assets/swift-Bevjlmsx.js +1 -0
- package/dist/assets/swiper-component-BIp7oQxt.js +1 -0
- package/dist/assets/swiper-component-a65-SW8d.css +1 -0
- package/dist/assets/switch-CqJGGLBT.js +1 -0
- package/dist/assets/table-6NxtGaCm.js +1 -0
- package/dist/assets/table-CZ3rujd6.js +1 -0
- package/dist/assets/tcl-CWB1W9St.js +1 -0
- package/dist/assets/terminal-6UFUAGzf.js +62 -0
- package/dist/assets/textarea-D2liylO5.js +1 -0
- package/dist/assets/textile-DrGyKlBQ.js +1 -0
- package/dist/assets/time-hqD5bg84.js +1 -0
- package/dist/assets/timeline-definition-IT6M3QCI-B3aCCYAY.js +61 -0
- package/dist/assets/toDate-B5A0DFEz.js +1 -0
- package/dist/assets/toml-CF49H3Gs.js +1 -0
- package/dist/assets/tooltip-Gcwqb_SK.js +1 -0
- package/dist/assets/tracing-BUxVK-Z_.js +1 -0
- package/dist/assets/tracing-panel-BZQdh8Uh.js +2 -0
- package/dist/assets/trash-2-C5AzNaHr.js +1 -0
- package/dist/assets/trash-BUseJO4n.js +1 -0
- package/dist/assets/tree-Dtn4o2IZ.js +3 -0
- package/dist/assets/treemap-GDKQZRPO-C7ssVrVz.js +1 -0
- package/dist/assets/triangle-alert-CBEvAwaa.js +1 -0
- package/dist/assets/troff-DS9glUnj.js +1 -0
- package/dist/assets/ttcn-cfg-D8JUANmi.js +1 -0
- package/dist/assets/ttcn-iXXxBDpr.js +1 -0
- package/dist/assets/turtle-IsYxGpD1.js +1 -0
- package/dist/assets/types-Bpx1EWqM.js +1 -0
- package/dist/assets/useAddCell-xtQoaf-X.js +1 -0
- package/dist/assets/useAsyncData-BRNkjHs1.js +1 -0
- package/dist/assets/useBoolean-D2Wc5G49.js +1 -0
- package/dist/assets/useCellActionButton-DXgH5B4A.js +1 -0
- package/dist/assets/useDateFormatter-_XK-fjTQ.js +1 -0
- package/dist/assets/useDebounce-BxKDvvzN.js +1 -0
- package/dist/assets/useDeleteCell-C1_f7lEy.js +1 -0
- package/dist/assets/useDependencyPanelTab-PKhgm9-V.js +1 -0
- package/dist/assets/useEventListener-BR0C1MaI.js +1 -0
- package/dist/assets/useHotkey-j1wCvjNq.js +1 -0
- package/dist/assets/useIframeCapabilities-Bqipv_jK.js +1 -0
- package/dist/assets/useInstallPackage-BHZ1EjqC.js +1 -0
- package/dist/assets/useInterval-BePSL0QQ.js +1 -0
- package/dist/assets/useLifecycle-DieWOfXE.js +1 -0
- package/dist/assets/useNotebookActions-BPt4w3KQ.js +1 -0
- package/dist/assets/useNumberFormatter-D_mZTdYK.js +1 -0
- package/dist/assets/usePress-Cj1lHaxt.js +7 -0
- package/dist/assets/useRunCells-cIxqHRwZ.js +1 -0
- package/dist/assets/useSplitCell-B0qjEpW1.js +1 -0
- package/dist/assets/useTheme-AmxLvSQ5.js +1 -0
- package/dist/assets/utils-DIGrmLDO.js +1 -0
- package/dist/assets/utils-DVodi8oQ.js +61 -0
- package/dist/assets/vb-CJBc18Ui.js +1 -0
- package/dist/assets/vbscript-f-536WNP.js +1 -0
- package/dist/assets/vega-component-Dh_sdcAu.js +1 -0
- package/dist/assets/vega-loader.browser-CRZ52CKf.js +6 -0
- package/dist/assets/velocity-BKcC2FIu.js +1 -0
- package/dist/assets/verilog-BwwsdDY5.js +1 -0
- package/dist/assets/vhdl-BG8PfJd8.js +1 -0
- package/dist/assets/webidl-BHBWV-F6.js +1 -0
- package/dist/assets/worker-ztl1wuLb.js +120 -0
- package/dist/assets/workflow-ktgLxNKJ.js +1 -0
- package/dist/assets/write-secret-modal-DNCTT09O.js +1 -0
- package/dist/assets/x-C-6liIBr.js +1 -0
- package/dist/assets/xquery-BSuR2Wlv.js +1 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-eSL2LfH9.js +7 -0
- package/dist/assets/yacas-DdJ1FiXV.js +1 -0
- package/dist/assets/youtube-CXGBiuia.js +1 -0
- package/dist/assets/z80-BWehJ3ot.js +1 -0
- package/dist/index.html +167 -170
- package/package.json +4 -2
- package/src/__mocks__/requests.ts +1 -0
- package/src/components/data-table/TableBottomBar.tsx +5 -1
- package/src/components/data-table/__tests__/chart-spec-model.test.ts +14 -14
- package/src/components/data-table/__tests__/columns.test.tsx +104 -0
- package/src/components/data-table/__tests__/filters.test.ts +304 -0
- package/src/components/data-table/__tests__/pagination.test.tsx +46 -132
- package/src/components/data-table/__tests__/sentinel-cell.test.tsx +171 -0
- package/src/components/data-table/__tests__/types.test.ts +34 -1
- package/src/components/data-table/__tests__/utils.test.ts +227 -0
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
- package/src/components/data-table/column-header.tsx +11 -2
- package/src/components/data-table/column-summary/chart-spec-model.tsx +6 -3
- package/src/components/data-table/column-summary/column-summary.tsx +1 -1
- package/src/components/data-table/columns.tsx +48 -5
- package/src/components/data-table/export-actions.tsx +62 -23
- package/src/components/data-table/filters.ts +87 -33
- package/src/components/data-table/pagination.tsx +189 -76
- package/src/components/data-table/schemas.ts +8 -1
- package/src/components/data-table/sentinel-cell.tsx +118 -0
- package/src/components/data-table/types.ts +32 -11
- package/src/components/data-table/utils.ts +119 -1
- package/src/components/datasources/__tests__/missing-package-prompt.test.tsx +103 -0
- package/src/components/datasources/missing-package-prompt.tsx +49 -0
- package/src/components/editor/actions/useNotebookActions.tsx +12 -0
- package/src/components/editor/cell/code/cell-editor.tsx +1 -0
- package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +33 -0
- package/src/components/editor/file-tree/file-explorer.tsx +8 -33
- package/src/components/editor/file-tree/requesting-tree.tsx +41 -0
- package/src/components/editor/file-tree/state.tsx +1 -0
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +9 -17
- package/src/components/home/components.tsx +7 -0
- package/src/components/slides/reveal-component.tsx +109 -0
- package/src/components/slides/reveal-slides.css +42 -0
- package/src/components/slides/slides.css +0 -65
- package/src/components/slides/swiper-component.tsx +159 -0
- package/src/components/slides/swiper-slides.css +64 -0
- package/src/components/static-html/static-banner.tsx +23 -14
- package/src/components/ui/toast.tsx +16 -7
- package/src/core/cells/__tests__/apply-transaction.test.ts +483 -0
- package/src/core/cells/__tests__/cells.test.ts +110 -0
- package/src/core/cells/__tests__/logs.test.ts +101 -0
- package/src/core/cells/cells.ts +18 -0
- package/src/core/cells/document-changes.ts +34 -1
- package/src/core/cells/logs.ts +9 -1
- package/src/core/codemirror/__tests__/__snapshots__/setup.test.ts.snap +4 -14
- package/src/core/codemirror/cells/extensions.ts +0 -4
- package/src/core/codemirror/keymaps/keymaps.ts +69 -2
- package/src/core/constants.ts +1 -0
- package/src/core/islands/bridge.ts +1 -0
- package/src/core/mode.ts +10 -1
- package/src/core/network/requests-lazy.ts +1 -0
- package/src/core/network/requests-network.ts +8 -0
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +3 -0
- package/src/core/wasm/__tests__/bridge.test.ts +113 -0
- package/src/core/wasm/bridge.ts +13 -2
- package/src/core/wasm/worker/types.ts +3 -0
- package/src/core/wasm/worker/worker.ts +1 -0
- package/src/plugins/core/__test__/trusted-url.test.ts +45 -1
- package/src/plugins/core/trusted-url.ts +27 -2
- package/src/plugins/impl/DataEditorPlugin.tsx +7 -3
- package/src/plugins/impl/DataTablePlugin.tsx +7 -20
- package/src/plugins/impl/FileBrowserPlugin.tsx +81 -81
- package/src/plugins/impl/TabsPlugin.tsx +18 -12
- package/src/plugins/impl/data-editor/__tests__/data-utils.test.ts +147 -149
- package/src/plugins/impl/data-editor/data-utils.ts +12 -11
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +4 -4
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +4 -4
- package/src/plugins/impl/data-frames/schema.ts +41 -9
- package/src/plugins/impl/data-frames/utils/operators.ts +2 -0
- package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +16 -0
- package/src/plugins/layout/carousel/CarouselPlugin.tsx +3 -1
- package/dist/assets/CellStatus-Bwtcvgko.js +0 -1
- package/dist/assets/ConnectedDataExplorerComponent-B0Mh-Jhz.js +0 -1
- package/dist/assets/DeferredRequestRegistry-BLWK1eKa.js +0 -1
- package/dist/assets/ErrorBoundary-CxTq44MI.js +0 -1
- package/dist/assets/ImageComparisonComponent-DKZ20H-k.js +0 -1
- package/dist/assets/ImperativeModal-hsPVDTG-.js +0 -1
- package/dist/assets/Inputs-6ni2iCdV.js +0 -1
- package/dist/assets/JsonOutput-ZBMYDZ3q.js +0 -49
- package/dist/assets/LazyAnyLanguageCodeMirror-CsrwfW0n.js +0 -2
- package/dist/assets/MarimoErrorOutput-DLREr23s.js +0 -7
- package/dist/assets/Plot-DHwg76ki.js +0 -3789
- package/dist/assets/RSPContexts-DzigvqmT.js +0 -1
- package/dist/assets/RenderHTML-5FjN3OZH.js +0 -1
- package/dist/assets/__vite-browser-external-DT1nudb6.js +0 -1
- package/dist/assets/_basePickBy-C0EPK3Lm.js +0 -1
- package/dist/assets/_baseSet-49dbm-yb.js +0 -1
- package/dist/assets/_baseUniq-Mbsklgl4.js +0 -1
- package/dist/assets/add-cell-with-ai-DbPkyXyg.js +0 -92
- package/dist/assets/add-connection-dialog-sNnLlFNN.js +0 -167
- package/dist/assets/agent-panel-DMb4Q9pS.js +0 -287
- package/dist/assets/ai-model-dropdown-CZB8Xt_D.js +0 -5
- package/dist/assets/alert-DF3HbVtk.js +0 -1
- package/dist/assets/alert-dialog-C2mTH3GM.js +0 -11
- package/dist/assets/any-language-editor-DkEDDsUJ.js +0 -1
- package/dist/assets/apl-CuOurP-c.js +0 -1
- package/dist/assets/app-config-button-b2p8_NdZ.js +0 -1
- package/dist/assets/architecture-7HQA4BMR-Ch3DQout.js +0 -1
- package/dist/assets/architectureDiagram-VXUJARFQ-AnnUUivr.js +0 -36
- package/dist/assets/arrays-DAC2orgH.js +0 -1
- package/dist/assets/asciiarmor-C4q0KAuh.js +0 -1
- package/dist/assets/asn1-gmsDz0li.js +0 -1
- package/dist/assets/badge-CwbVR_sO.js +0 -1
- package/dist/assets/blockDiagram-VD42YOAC-BSbV1P7v.js +0 -122
- package/dist/assets/bot-message-square-BbnE8Q1J.js +0 -1
- package/dist/assets/brainfuck-RlYwG6Xx.js +0 -1
- package/dist/assets/button-COIw2x9i.js +0 -1
- package/dist/assets/c4Diagram-YG6GDRKO-mvY8KdgG.js +0 -10
- package/dist/assets/cache-panel-C3V9UubH.js +0 -1
- package/dist/assets/capabilities-BmGdj50E.js +0 -1
- package/dist/assets/card-DCTJ4k_v.js +0 -1
- package/dist/assets/cell-editor-BhmiBBOV.js +0 -22
- package/dist/assets/cell-link-DMyOfytV.js +0 -1
- package/dist/assets/cells-CAft_y9h.js +0 -229
- package/dist/assets/channel-QWYayEtd.js +0 -1
- package/dist/assets/chart-no-axes-column-CsXoiEZx.js +0 -1
- package/dist/assets/chat-display-CnlcyHaA.js +0 -1
- package/dist/assets/chat-panel-DujR1b5z.js +0 -3
- package/dist/assets/chat-ui-D-qk0TXi.js +0 -4
- package/dist/assets/check-B-sKate2.js +0 -1
- package/dist/assets/chevron-right-CgvDWFE3.js +0 -1
- package/dist/assets/chunk-4F5CHEZ2-BXUyRfDO.js +0 -1
- package/dist/assets/chunk-55IACEB6-CRnvfQlo.js +0 -1
- package/dist/assets/chunk-5FQGJX7Z-Cyc7d5AB.js +0 -113
- package/dist/assets/chunk-ABZYJK2D-C6__zbIg.js +0 -80
- package/dist/assets/chunk-ATLVNIR6-DioUoCL-.js +0 -1
- package/dist/assets/chunk-B2363JML-CY6QiDyK.js +0 -1
- package/dist/assets/chunk-B4BG7PRW-DO-H9cDE.js +0 -165
- package/dist/assets/chunk-DI55MBZ5-DWj-L2ic.js +0 -220
- package/dist/assets/chunk-EXTU4WIE-B_Um-dIN.js +0 -1
- package/dist/assets/chunk-FRFDVMJY-CjptiqNO.js +0 -1
- package/dist/assets/chunk-JA3XYJ7Z-WVXBR9gk.js +0 -70
- package/dist/assets/chunk-JZLCHNYA-D6hMv1Qk.js +0 -54
- package/dist/assets/chunk-N4CR4FBY-DEy2vl_t.js +0 -2
- package/dist/assets/chunk-PL6DKKU2-BdoRD2nE.js +0 -1
- package/dist/assets/chunk-QN33PNHL-CC2wokMI.js +0 -1
- package/dist/assets/chunk-QXUST7PY-B7IiJgbH.js +0 -7
- package/dist/assets/chunk-S3R3BYOJ-QzFziHq0.js +0 -2
- package/dist/assets/chunk-SJTYNZTY-rJzTNWIe.js +0 -1
- package/dist/assets/chunk-TCCFYFTB-ByQR3Ftq.js +0 -125
- package/dist/assets/chunk-TQ3KTPDO-CURFAmMV.js +0 -1
- package/dist/assets/chunk-TZMSLE5B-D1IHu2ux.js +0 -1
- package/dist/assets/chunk-UMXZTB3W-C4miLMVf.js +0 -1
- package/dist/assets/circle-check-DlWaawuO.js +0 -1
- package/dist/assets/circle-play-Ddna5GuC.js +0 -1
- package/dist/assets/circle-plus-ifSmVHqa.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-BANhktcu.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-D9c1d8Pg.js +0 -1
- package/dist/assets/clear-button-DpuufuDm.js +0 -1
- package/dist/assets/clike-0Uxq7Mmj.js +0 -1
- package/dist/assets/clipboard-paste-Br9mwBe9.js +0 -1
- package/dist/assets/clojure-DaWCBM5I.js +0 -1
- package/dist/assets/clone-DrGu00U8.js +0 -1
- package/dist/assets/cmake-Nobmxv0n.js +0 -1
- package/dist/assets/cn-DYvqRARy.js +0 -1
- package/dist/assets/cobol--NmnvDWE.js +0 -1
- package/dist/assets/code-block-37QAKDTI-Cfn-cGs0.js +0 -2
- package/dist/assets/code-xml-DxxzgVgU.js +0 -1
- package/dist/assets/coffeescript-Cv1Wf46X.js +0 -1
- package/dist/assets/column-preview-D2B6qQUU.js +0 -1
- package/dist/assets/command-DnzBp4l4.js +0 -1
- package/dist/assets/command-palette-eS5sJOYR.js +0 -1
- package/dist/assets/common-BK4i6reD.js +0 -1
- package/dist/assets/commonlisp-8PbUodZQ.js +0 -1
- package/dist/assets/components-CviIANwr.js +0 -1
- package/dist/assets/components-Dta3XEEY.js +0 -1
- package/dist/assets/config-DoZCLcOb.js +0 -1
- package/dist/assets/constants-tOPFFcLZ.js +0 -1
- package/dist/assets/context-DGqo1TbK.js +0 -1
- package/dist/assets/copy-Bizk-4hH.js +0 -1
- package/dist/assets/copy-DFMsQ6MJ.js +0 -1
- package/dist/assets/copy-icon-Ci08KCdY.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-BpHOyjit.js +0 -1
- package/dist/assets/createReducer-CYlwteGD.js +0 -1
- package/dist/assets/crystal-DOOJCjhq.js +0 -1
- package/dist/assets/css-vLkD8PfS.js +0 -1
- package/dist/assets/cypher-Aazxis5r.js +0 -1
- package/dist/assets/d-B-5Jnu40.js +0 -1
- package/dist/assets/dagre-6UL2VRFP-BHbCmhc1.js +0 -4
- package/dist/assets/dagre-BhaTummv.js +0 -1
- package/dist/assets/data-grid-overlay-editor-B6BRn3Yh.js +0 -1
- package/dist/assets/database-zap-BxfYZ6ML.js +0 -1
- package/dist/assets/datasource-C1kSlT4s.js +0 -3
- package/dist/assets/dates-stqTIkXD.js +0 -1
- package/dist/assets/debounce-BbSyBDA8.js +0 -1
- package/dist/assets/dependency-graph-panel-CMZnqwyn.js +0 -5
- package/dist/assets/diagram-PSM6KHXK-UdiW7QQb.js +0 -24
- package/dist/assets/diagram-QEK2KX5R-3ZxYNJPR.js +0 -43
- package/dist/assets/diagram-S2PKOQOG-C5dLQnUR.js +0 -24
- package/dist/assets/dialog-H-hXtEOq.js +0 -1
- package/dist/assets/diff-8GFZiZ2V.js +0 -1
- package/dist/assets/dist-04hxiWlB.js +0 -1
- package/dist/assets/dist-4lB-oR9j.js +0 -1
- package/dist/assets/dist-B1XdVflW.js +0 -1
- package/dist/assets/dist-B6i4q8vX.js +0 -1
- package/dist/assets/dist-BNTOYRCs.js +0 -1
- package/dist/assets/dist-BPkOpnKv.js +0 -2
- package/dist/assets/dist-BQuOw7vA.js +0 -1
- package/dist/assets/dist-BYHplnRv.js +0 -1
- package/dist/assets/dist-BZIkwcpM.js +0 -1
- package/dist/assets/dist-BaQhtL0H.js +0 -1
- package/dist/assets/dist-BrK3C3Mc.js +0 -1
- package/dist/assets/dist-BrR2nUId.js +0 -1
- package/dist/assets/dist-BuHKsU8Z.js +0 -7
- package/dist/assets/dist-BvlMLwcr.js +0 -6
- package/dist/assets/dist-ByWFdhfz.js +0 -7
- package/dist/assets/dist-C0ZJnmgG.js +0 -1
- package/dist/assets/dist-C80Ed7Y5.js +0 -3
- package/dist/assets/dist-CHgkfE72.js +0 -1
- package/dist/assets/dist-CJDjz8TY.js +0 -1
- package/dist/assets/dist-CQvRfEJt.js +0 -1
- package/dist/assets/dist-CWLNI6B7.js +0 -1
- package/dist/assets/dist-CaQ_ONVt.js +0 -1
- package/dist/assets/dist-CgYlATe-.js +0 -3
- package/dist/assets/dist-CsTHFGvB.js +0 -1
- package/dist/assets/dist-CxquLoAZ.js +0 -1
- package/dist/assets/dist-D281cBMB.js +0 -1
- package/dist/assets/dist-D797J-u_.js +0 -1
- package/dist/assets/dist-DDiNOVwA.js +0 -1
- package/dist/assets/dist-DW-_Bd4t.js +0 -1
- package/dist/assets/dist-DZJfxwLb.js +0 -2
- package/dist/assets/dist-D_Lhmjyi.js +0 -1
- package/dist/assets/dist-DjS0QmS_.js +0 -1
- package/dist/assets/dist-Dl90TzK0.js +0 -1
- package/dist/assets/dist-DlC_MlJ3.js +0 -1
- package/dist/assets/dist-Dnlw22ji.js +0 -13
- package/dist/assets/dist-Dz1-lL07.js +0 -1
- package/dist/assets/dist-Gx6Yy96j.js +0 -1
- package/dist/assets/dist-Hgde9xRP.js +0 -1
- package/dist/assets/dist-IBCCX0qd.js +0 -1
- package/dist/assets/dist-VwkX7yeV.js +0 -13
- package/dist/assets/dist-Yk16cgLk.js +0 -1
- package/dist/assets/dist-ZzjYvfSN.js +0 -1
- package/dist/assets/dist-aDPblQOY.js +0 -1
- package/dist/assets/dist-bOlBcn5A.js +0 -1
- package/dist/assets/dist-eH2iPs-V.js +0 -1
- package/dist/assets/dist-fPjTlo0F.js +0 -1
- package/dist/assets/dist-sZgjGm4S.js +0 -1
- package/dist/assets/dist-umvL589W.js +0 -1
- package/dist/assets/dockerfile-CmMwYXtW.js +0 -1
- package/dist/assets/documentation-panel-D9WN55Gq.js +0 -1
- package/dist/assets/download-COyB8G-Y.js +0 -9
- package/dist/assets/dropdown-menu-DrHAuMTb.js +0 -1
- package/dist/assets/dtd-DbhDFQ4b.js +0 -1
- package/dist/assets/dylan-4K5wZgOx.js +0 -1
- package/dist/assets/ecl-BCQ-LzuG.js +0 -1
- package/dist/assets/edit-page-DlRqSgY9.js +0 -9
- package/dist/assets/eiffel-DjgNAio4.js +0 -1
- package/dist/assets/ellipsis-DidENKDy.js +0 -1
- package/dist/assets/ellipsis-vertical-DEH0lwkn.js +0 -1
- package/dist/assets/elm-BJzUTgDF.js +0 -1
- package/dist/assets/empty-state-BbLVXQU7.js +0 -1
- package/dist/assets/en-US-JRtp5zfw.js +0 -1
- package/dist/assets/erDiagram-Q2GNP2WA-CZOjIM5c.js +0 -60
- package/dist/assets/erlang-BMwCh1Tz.js +0 -1
- package/dist/assets/error-banner-frvr6JXK.js +0 -1
- package/dist/assets/error-panel-5I4mWGfs.js +0 -1
- package/dist/assets/es-ISEb5HNL.js +0 -5
- package/dist/assets/esm-BqofWdD5.js +0 -1
- package/dist/assets/esm-D1fwWXHg.js +0 -1
- package/dist/assets/eye-off-DgRJ-xBZ.js +0 -1
- package/dist/assets/factor-B-0VZGQP.js +0 -1
- package/dist/assets/factor-DuQK79vi.js +0 -1
- package/dist/assets/field-DaQqUJ5I.js +0 -1
- package/dist/assets/file-explorer-panel-B86r63YC.js +0 -26
- package/dist/assets/file-headphone-5_PGMxRL.js +0 -1
- package/dist/assets/file-icons-CRsc39Ny.js +0 -1
- package/dist/assets/file-l37OnSN4.js +0 -1
- package/dist/assets/fileToBase64-D7Ur9Qxq.js +0 -1
- package/dist/assets/floating-outline-Cj9Gdjkf.js +0 -1
- package/dist/assets/flowDiagram-NV44I4VS-D_6XQmDF.js +0 -162
- package/dist/assets/focus-BtOH5aLt.js +0 -1
- package/dist/assets/form-Dd-gRdD5.js +0 -2
- package/dist/assets/formats-BQHP_yQk.js +0 -1
- package/dist/assets/formatting-BCAZDWQ0.js +0 -1
- package/dist/assets/forth-CN0H2hBb.js +0 -1
- package/dist/assets/fortran-D-JaE1fl.js +0 -1
- package/dist/assets/fullscreen-k58KVlT-.js +0 -41
- package/dist/assets/gallery-page-BDI9wEUZ.js +0 -1
- package/dist/assets/ganttDiagram-JELNMOA3-KWj06bYC.js +0 -267
- package/dist/assets/gas-B-bID6UX.js +0 -1
- package/dist/assets/get-D7jeR2wg.js +0 -1
- package/dist/assets/gherkin-JGxOpXhU.js +0 -1
- package/dist/assets/gitGraph-G5XIXVHT-DhmryHL1.js +0 -1
- package/dist/assets/gitGraphDiagram-V2S2FVAM-B3wFQI4T.js +0 -65
- package/dist/assets/github-C3N4cuN4.js +0 -1
- package/dist/assets/glide-data-editor-QI6B6uKw.js +0 -132
- package/dist/assets/globals-Bu6OEURn.js +0 -1
- package/dist/assets/graphlib-V7iwZMUS.js +0 -1
- package/dist/assets/groovy-BHPB9Hfx.js +0 -1
- package/dist/assets/hasIn-DafhTYio.js +0 -1
- package/dist/assets/haskell-By6RbCCv.js +0 -1
- package/dist/assets/haxe-HQiVsOCF.js +0 -1
- package/dist/assets/home-page-B320ImBG.js +0 -4
- package/dist/assets/hooks-B5RY2sms.js +0 -1
- package/dist/assets/html-to-image-WCAzCguU.js +0 -2
- package/dist/assets/icons-DlzgV4KY.js +0 -1
- package/dist/assets/idl-B2iocbwq.js +0 -1
- package/dist/assets/image-BgkzrnsX.js +0 -1
- package/dist/assets/index-BjVgEJVi.js +0 -42
- package/dist/assets/index-CKRn_SiB.css +0 -2
- package/dist/assets/info-VBDWY6EO-DrmKMqYO.js +0 -1
- package/dist/assets/infoDiagram-HS3SLOUP-DihiLNx1.js +0 -2
- package/dist/assets/input-DNCT6U6R.js +0 -1
- package/dist/assets/isArrayLikeObject-ODovYgPQ.js +0 -1
- package/dist/assets/isEmpty-Do0cOI51.js +0 -1
- package/dist/assets/isValid-U-UFA9KI.js +0 -1
- package/dist/assets/javascript-CTjlnOSz.js +0 -1
- package/dist/assets/journeyDiagram-XKPGCS4Q-CyzBM2zk.js +0 -139
- package/dist/assets/julia-BiUkdI9P.js +0 -1
- package/dist/assets/kanban-definition-3W4ZIXB7-9wLZ4rew.js +0 -89
- package/dist/assets/kbd-BUtlbGdu.js +0 -1
- package/dist/assets/kiosk-mode-CJ7p0kAg.js +0 -1
- package/dist/assets/label-C89F4v17.js +0 -1
- package/dist/assets/layout-CnhRBcnG.js +0 -9
- package/dist/assets/linear-BICTUQLW.js +0 -1
- package/dist/assets/link-dU_vDDSR.js +0 -1
- package/dist/assets/links-C19POYUQ.js +0 -1
- package/dist/assets/links-DOybeRem.js +0 -1
- package/dist/assets/livescript-uNIpKRlq.js +0 -1
- package/dist/assets/logs-panel-DG3RlQaY.js +0 -1
- package/dist/assets/loro_wasm_bg-BQvuJIS2.js +0 -1
- package/dist/assets/lua-CMIwWFMm.js +0 -1
- package/dist/assets/maps-B4xARV9R.js +0 -1
- package/dist/assets/marimo-icons-Dp8wmdDL.js +0 -1
- package/dist/assets/markdown-renderer-BDdzHOwK.js +0 -5
- package/dist/assets/mathematica-eDJrChdG.js +0 -1
- package/dist/assets/mbox-zqvBlhy3.js +0 -1
- package/dist/assets/memoize-BwAF2XN5.js +0 -1
- package/dist/assets/menu-items-Dtw5N98_.js +0 -1
- package/dist/assets/merge-BOaDhCTH.js +0 -1
- package/dist/assets/mermaid-4DMBBIKO--O9SSBwI.js +0 -1
- package/dist/assets/mermaid-BPufPrIN.js +0 -11
- package/dist/assets/mermaid-parser.core-CvPV98yl.js +0 -4
- package/dist/assets/message-circle-DiHwtSG8.js +0 -1
- package/dist/assets/min-DWLDRnm3.js +0 -1
- package/dist/assets/mindmap-definition-VGOIOE7T-B5l11lp6.js +0 -68
- package/dist/assets/mirc-DA5aApOX.js +0 -1
- package/dist/assets/mllike-bIsNpdn1.js +0 -1
- package/dist/assets/modelica-0mx6heI0.js +0 -1
- package/dist/assets/mscgen-BKLWiiDn.js +0 -1
- package/dist/assets/multi-icon-CGRsWmew.js +0 -1
- package/dist/assets/multi-map-MSuUqmbC.js +0 -1
- package/dist/assets/mumps-5_kXgafg.js +0 -1
- package/dist/assets/name-cell-input-68gHDuvg.js +0 -1
- package/dist/assets/now-DNX1lT2d.js +0 -1
- package/dist/assets/nsis-DGDbP9K4.js +0 -1
- package/dist/assets/nsis-DOhuqhNG.js +0 -1
- package/dist/assets/ntriples-BWf6tqTo.js +0 -1
- package/dist/assets/number-overlay-editor-cvUhY9ie.js +0 -9
- package/dist/assets/numbers--nDjbAPa.js +0 -1
- package/dist/assets/octave-DmFvn7Va.js +0 -1
- package/dist/assets/once-hq2TLzOp.js +0 -1
- package/dist/assets/outline-panel-Dr0105mz.js +0 -1
- package/dist/assets/oz-TIwA1cRs.js +0 -1
- package/dist/assets/packages-panel-CZHZDUXZ.js +0 -1
- package/dist/assets/packet-DYOGHKS2-CwDZ6UjC.js +0 -1
- package/dist/assets/panel-context-aIZ10ULn.js +0 -1
- package/dist/assets/panels-DkMIu1eO.js +0 -1
- package/dist/assets/pascal-BFfHjByI.js +0 -1
- package/dist/assets/perl-iyEBGoKl.js +0 -1
- package/dist/assets/pick-neNJUP_8.js +0 -1
- package/dist/assets/pie-VRWISCQL-OxD1_FlH.js +0 -1
- package/dist/assets/pieDiagram-ADFJNKIX-ixj1Ihpk.js +0 -30
- package/dist/assets/pig-Du8JEd9u.js +0 -1
- package/dist/assets/play-BdC4C3dp.js +0 -1
- package/dist/assets/plus-BYq_Btg-.js +0 -1
- package/dist/assets/popover-AtoFZ7i4.js +0 -1
- package/dist/assets/powershell-rJPOSwVp.js +0 -1
- package/dist/assets/precisionRound-CU2C3Vxx.js +0 -1
- package/dist/assets/process-output-CGSREMph.js +0 -1
- package/dist/assets/properties-B7p1o35g.js +0 -1
- package/dist/assets/protobuf-DSVPm4uR.js +0 -1
- package/dist/assets/pug-5wW7Sn9S.js +0 -1
- package/dist/assets/pug-BBnJinJ-.js +0 -1
- package/dist/assets/puppet-CvB_7oA0.js +0 -1
- package/dist/assets/purify.es-BFDc-_i_.js +0 -2
- package/dist/assets/python-D-LGD-zO.js +0 -1
- package/dist/assets/q-s96Dgstm.js +0 -1
- package/dist/assets/quadrantDiagram-AYHSOK5B-DAgQxEHI.js +0 -7
- package/dist/assets/r-DCKN0Q_M.js +0 -1
- package/dist/assets/radar-ZZBFDIW7-DJSwOnYp.js +0 -1
- package/dist/assets/range-D-0CV4c0.js +0 -1
- package/dist/assets/react-vega-BVBnH7ue.js +0 -190
- package/dist/assets/react-vega-BfEZWy9T.js +0 -1
- package/dist/assets/readonly-python-code-3lQBDicq.js +0 -1
- package/dist/assets/refresh-ccw-CfYqAbmq.js +0 -1
- package/dist/assets/refresh-cw-CiOe0azG.js +0 -1
- package/dist/assets/renderShortcut-DrDh2657.js +0 -1
- package/dist/assets/request-registry-1QRLEb_0.js +0 -1
- package/dist/assets/requests-9-v2bhoi.js +0 -1
- package/dist/assets/requirementDiagram-UZGBJVZJ-DC0CM6P-.js +0 -64
- package/dist/assets/rotate-ccw-JPx2hOFZ.js +0 -1
- package/dist/assets/rpm-DKF6hj80.js +0 -1
- package/dist/assets/ruby-DrHWYpO-.js +0 -1
- package/dist/assets/run-page-DX60GJ1i.js +0 -1
- package/dist/assets/runs-Qc-nusQ0.js +0 -1
- package/dist/assets/sankeyDiagram-TZEHDZUN-DAWWzAvZ.js +0 -10
- package/dist/assets/sas-Bf--oEyw.js +0 -1
- package/dist/assets/save-bKSHuTCo.js +0 -1
- package/dist/assets/scheme-BZSq5_CL.js +0 -1
- package/dist/assets/scratchpad-panel-DxI-sH1n.js +0 -1
- package/dist/assets/secrets-panel-DWMqzwkS.js +0 -1
- package/dist/assets/select-BwwUWhww.js +0 -1
- package/dist/assets/sequenceDiagram-WL72ISMW-Dmh7vbtw.js +0 -145
- package/dist/assets/session-DdnWW30b.js +0 -1
- package/dist/assets/session-panel-DxZNtbiE.js +0 -1
- package/dist/assets/settings-C1bg8A2T.js +0 -1
- package/dist/assets/share-0LPgOyiW.js +0 -1
- package/dist/assets/shell-C5LsobAY.js +0 -1
- package/dist/assets/sieve-B6cTRfjv.js +0 -1
- package/dist/assets/slides-component-BZCkobYT.css +0 -1
- package/dist/assets/slides-component-ncUJNz7U.js +0 -1
- package/dist/assets/smalltalk-B-ZeF8oP.js +0 -1
- package/dist/assets/snippets-panel-CFXjJW29.js +0 -1
- package/dist/assets/sparkles-B79Qf6ma.js +0 -1
- package/dist/assets/sparql-hKgXdTt3.js +0 -1
- package/dist/assets/spec-DqqZbNbU.js +0 -1
- package/dist/assets/spinner-C5wIpWgQ.js +0 -1
- package/dist/assets/square-COtNnHUC.js +0 -1
- package/dist/assets/square-function-BecUoMho.js +0 -1
- package/dist/assets/src-lJewPvdk.js +0 -1
- package/dist/assets/state-BFn0AerH.js +0 -3
- package/dist/assets/state-BZaEj59U.js +0 -1
- package/dist/assets/state-BgrGQPFs.js +0 -1
- package/dist/assets/state-CDUQVvOe.js +0 -1
- package/dist/assets/stateDiagram-FKZM4ZOC-D9krI4Nw.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CbPEQmLi.js +0 -1
- package/dist/assets/stex-Dn4qnyVB.js +0 -1
- package/dist/assets/strings-pfr2N700.js +0 -2
- package/dist/assets/stylus-MJ5VouuS.js +0 -1
- package/dist/assets/swift-jqL65uqK.js +0 -1
- package/dist/assets/switch-YkPg_CVc.js +0 -1
- package/dist/assets/table-B03CpBmt.js +0 -1
- package/dist/assets/table-qC3alE1r.js +0 -1
- package/dist/assets/tcl-D9FDKTky.js +0 -1
- package/dist/assets/terminal-BEaHyVIQ.js +0 -62
- package/dist/assets/textarea-CWy4stSy.js +0 -1
- package/dist/assets/textile-Ne1MkNjB.js +0 -1
- package/dist/assets/time-DLcLlk0u.js +0 -1
- package/dist/assets/timeline-definition-IT6M3QCI-DknnNgba.js +0 -61
- package/dist/assets/toDate-BGIVWsZ9.js +0 -1
- package/dist/assets/toFinite-2vTWYoIX.js +0 -1
- package/dist/assets/toNumber-BvwE1TMv.js +0 -1
- package/dist/assets/toml-Ba1TjbvG.js +0 -1
- package/dist/assets/tooltip-DmqhBBs6.js +0 -1
- package/dist/assets/tracing-CIygWG5q.js +0 -1
- package/dist/assets/tracing-panel-Dk7FE-7H.js +0 -2
- package/dist/assets/trash-2-DunI72kV.js +0 -1
- package/dist/assets/trash-9_cXnavq.js +0 -1
- package/dist/assets/tree-B2IkUHDB.js +0 -3
- package/dist/assets/treemap-GDKQZRPO-DQhwLg1W.js +0 -1
- package/dist/assets/triangle-alert-DJ8dAd4j.js +0 -1
- package/dist/assets/troff-ClRZFpM8.js +0 -1
- package/dist/assets/ttcn-JOxk9-wl.js +0 -1
- package/dist/assets/ttcn-cfg-D-oWP0t7.js +0 -1
- package/dist/assets/turtle-CfJStbTs.js +0 -1
- package/dist/assets/types-BteCqkNg.js +0 -1
- package/dist/assets/useAddCell-BZ5oFC7U.js +0 -1
- package/dist/assets/useAsyncData-aCoWDe-l.js +0 -1
- package/dist/assets/useBoolean-Dk1Mb_so.js +0 -1
- package/dist/assets/useCellActionButton-Dd3hgOb6.js +0 -1
- package/dist/assets/useDateFormatter-BEz9SEXo.js +0 -1
- package/dist/assets/useDebounce-LVL1r3-M.js +0 -1
- package/dist/assets/useDeleteCell-BHcPGuXL.js +0 -1
- package/dist/assets/useDependencyPanelTab-B94SJnJl.js +0 -1
- package/dist/assets/useEventListener-DGjKht0c.js +0 -1
- package/dist/assets/useHotkey-DALUNe8I.js +0 -1
- package/dist/assets/useIframeCapabilities-C8jvQ1Lj.js +0 -1
- package/dist/assets/useInstallPackage-CeM6oPsT.js +0 -1
- package/dist/assets/useInterval-BTxxJQ7C.js +0 -1
- package/dist/assets/useLifecycle-N3bfh_O1.js +0 -1
- package/dist/assets/useNotebookActions-PmHNCN16.js +0 -1
- package/dist/assets/useNumberFormatter-wQU1z0W_.js +0 -1
- package/dist/assets/usePress-BXMIcLWP.js +0 -7
- package/dist/assets/useRunCells-BJn5ZEb6.js +0 -1
- package/dist/assets/useSplitCell-Bfb8riCm.js +0 -1
- package/dist/assets/useTheme-DCDmxPD0.js +0 -1
- package/dist/assets/utils-8btzWeZg.js +0 -1
- package/dist/assets/utils-BZwMGX81.js +0 -61
- package/dist/assets/vb-DtMAcbIy.js +0 -1
- package/dist/assets/vbscript-CUB17r-X.js +0 -1
- package/dist/assets/vega-component-DtSTT5wO.js +0 -1
- package/dist/assets/vega-loader.browser-DXARUlxo.js +0 -6
- package/dist/assets/velocity-Dwo66olV.js +0 -1
- package/dist/assets/verilog-DuexQCyX.js +0 -1
- package/dist/assets/vhdl-Mgyyw75F.js +0 -1
- package/dist/assets/webidl-DZaOA0mR.js +0 -1
- package/dist/assets/worker-BPV9SmHz.js +0 -120
- package/dist/assets/workflow-BAgKBPlq.js +0 -1
- package/dist/assets/write-secret-modal-CInxHVWJ.js +0 -1
- package/dist/assets/x-Bv2rCglF.js +0 -1
- package/dist/assets/xquery-DpQixCSm.js +0 -1
- package/dist/assets/xychartDiagram-PRI3JC2R-DgjhbmH4.js +0 -7
- package/dist/assets/yacas-B1gHpHXz.js +0 -1
- package/dist/assets/youtube-D6LtMx2w.js +0 -1
- package/dist/assets/z80-IF9HkI5m.js +0 -1
- package/src/components/slides/slides-component.tsx +0 -158
- /package/dist/assets/{Deferred-DxQeE5uh.js → Deferred-Bk0r4KDZ.js} +0 -0
- /package/dist/assets/{SSRProvider-D3zWcDme.js → SSRProvider-1sSrgJwI.js} +0 -0
- /package/dist/assets/{apl-CArdF_Ee.js → apl-BYqtBlld.js} +0 -0
- /package/dist/assets/{asciiarmor-rf6n_8YZ.js → asciiarmor-DUW0Iozu.js} +0 -0
- /package/dist/assets/{asn1-Bl4vlAxN.js → asn1-ClnHsHDP.js} +0 -0
- /package/dist/assets/{azure-C2phEgLq.js → azure-BGC9_IAe.js} +0 -0
- /package/dist/assets/{blob-CTort_or.js → blob-CpeNXBj-.js} +0 -0
- /package/dist/assets/{brainfuck-CWRjg_-2.js → brainfuck-FB_E90sw.js} +0 -0
- /package/dist/assets/{bundle.esm-BIoPrMH_.js → bundle.esm-sq57iaa5.js} +0 -0
- /package/dist/assets/{cjs-D5tzp-Y6.js → cjs-BRGiG41H.js} +0 -0
- /package/dist/assets/{clike-B4xEkWXN.js → clike-B7PZCnaI.js} +0 -0
- /package/dist/assets/{clojure-04C6o-hL.js → clojure-DtLrahuY.js} +0 -0
- /package/dist/assets/{clsx-XrBBnd7s.js → clsx-Dz_KRrWq.js} +0 -0
- /package/dist/assets/{cmake-Dh64a3j4.js → cmake-DGfhkTv5.js} +0 -0
- /package/dist/assets/{cobol-B24ofC4q.js → cobol-Cpbk-vCU.js} +0 -0
- /package/dist/assets/{coffeescript-B0i0O-b-.js → coffeescript-BATQF8kE.js} +0 -0
- /package/dist/assets/{commonlisp-NXg-Bye5.js → commonlisp-C9N48zGs.js} +0 -0
- /package/dist/assets/{createLucideIcon-w-Qo9n0R.js → createLucideIcon-D5guW7EU.js} +0 -0
- /package/dist/assets/{crystal-BOjNTZjx.js → crystal-D2nrZv1k.js} +0 -0
- /package/dist/assets/{css-C_vknI7E.js → css-DNoZFvlx.js} +0 -0
- /package/dist/assets/{cypher-DwQoZmH9.js → cypher-6TFCZzgE.js} +0 -0
- /package/dist/assets/{d-xedQGhmO.js → d-DHH1X7PS.js} +0 -0
- /package/dist/assets/{defaultLocale-BLne0bXb.js → defaultLocale-C92Rrpmf.js} +0 -0
- /package/dist/assets/{defaultLocale-JieDVWC_.js → defaultLocale-D_rSvXvJ.js} +0 -0
- /package/dist/assets/{diff-ChFnp8JW.js → diff-DNDp4fOd.js} +0 -0
- /package/dist/assets/{dtd-KbDPyUs4.js → dtd-BYdB19UC.js} +0 -0
- /package/dist/assets/{dylan-0KH4Nowk.js → dylan-3sqQfqPE.js} +0 -0
- /package/dist/assets/{ecl-B5iM_b7s.js → ecl-79y60Sdt.js} +0 -0
- /package/dist/assets/{eiffel-sVM1STl5.js → eiffel-Cy1qkCDz.js} +0 -0
- /package/dist/assets/{elm-BlNENVB6.js → elm-DrRzHEES.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-DYxi7n2b.js → emotion-is-prop-valid.esm-UWgehH47.js} +0 -0
- /package/dist/assets/{erlang-C0uOSFok.js → erlang-D3BTE-y0.js} +0 -0
- /package/dist/assets/{errors-CZb6hI2x.js → errors-DVkmLSXX.js} +0 -0
- /package/dist/assets/{events-Qeh-bHlj.js → events-CWUex2qo.js} +0 -0
- /package/dist/assets/{extends-Co37_JfG.js → extends-q1GgI0Ag.js} +0 -0
- /package/dist/assets/{forth-Dkvgp5v0.js → forth-DGce5eRS.js} +0 -0
- /package/dist/assets/{fortran-DWGt9NN5.js → fortran-CS97oQQW.js} +0 -0
- /package/dist/assets/{gas-ucVnXY28.js → gas-7e_zvN4u.js} +0 -0
- /package/dist/assets/{gherkin-BRjIORXo.js → gherkin-3f1nzx4Y.js} +0 -0
- /package/dist/assets/{groovy-BwyAyRPC.js → groovy-Bn1MvSId.js} +0 -0
- /package/dist/assets/{haskell-Cs-Andhs.js → haskell-qtyafuM6.js} +0 -0
- /package/dist/assets/{haxe-BW46cyaq.js → haxe-CQwWk_Ht.js} +0 -0
- /package/dist/assets/{idl-BGiQ18ct.js → idl-BnUby_AK.js} +0 -0
- /package/dist/assets/{invariant-CkiqGLcK.js → invariant-BUdrueMv.js} +0 -0
- /package/dist/assets/{javascript-I9_Q-6Fg.js → javascript-BFKHKHDt.js} +0 -0
- /package/dist/assets/{jsx-runtime-Blw4afVn.js → jsx-runtime-BqBOg78p.js} +0 -0
- /package/dist/assets/{julia-Wfay9brY.js → julia-BZeLe6be.js} +0 -0
- /package/dist/assets/{livescript-J6EnSQWw.js → livescript-LB6oZdgV.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-B_AVgvOe.js → loro_wasm_bg-DSqjo7Pf.js} +0 -0
- /package/dist/assets/{lua-BO_knq_Q.js → lua-D73MeF_d.js} +0 -0
- /package/dist/assets/{main-BNL5rxQw.js → main-B0OX4z33.js} +0 -0
- /package/dist/assets/{mathematica-DU8ikXHk.js → mathematica-SckqhulL.js} +0 -0
- /package/dist/assets/{mbox-Dzzw6MxI.js → mbox-DpdjYR8y.js} +0 -0
- /package/dist/assets/{micromark-factory-space-DzSMahmM.js → micromark-factory-space-8Uk-uN5W.js} +0 -0
- /package/dist/assets/{mirc-82uLLidC.js → mirc-9Mp8ii_5.js} +0 -0
- /package/dist/assets/{mllike-WTbu2PGL.js → mllike-CteazA5r.js} +0 -0
- /package/dist/assets/{modelica-w4uKZrXu.js → modelica-DruS-uJ8.js} +0 -0
- /package/dist/assets/{mscgen-Bf7m7BDT.js → mscgen-Dqm6ZJyo.js} +0 -0
- /package/dist/assets/{mumps-Bicgf-gh.js → mumps-DAwJeUn4.js} +0 -0
- /package/dist/assets/{ntriples-CyotCBD4.js → ntriples-D5_p8srT.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-smPWkHxB.js → objectWithoutPropertiesLoose-BQlZis3f.js} +0 -0
- /package/dist/assets/{octave-BP7UuRZ-.js → octave-StxXX2kg.js} +0 -0
- /package/dist/assets/{ordinal-DuTuuUgV.js → ordinal-DTOdb5Da.js} +0 -0
- /package/dist/assets/{oz-C9dsRBsA.js → oz-CZcv8Gut.js} +0 -0
- /package/dist/assets/{pascal-Do-HizJs.js → pascal-BTSTYf7j.js} +0 -0
- /package/dist/assets/{paths-BzSgteR-.js → paths-DsQUzvvb.js} +0 -0
- /package/dist/assets/{perl-DkWjygEp.js → perl-D3WNCnWS.js} +0 -0
- /package/dist/assets/{pig-C5cO5Lzu.js → pig-m1LfHx7X.js} +0 -0
- /package/dist/assets/{powershell-B7iMkhi7.js → powershell-C7evXFhK.js} +0 -0
- /package/dist/assets/{preload-helper-D2MJg03u.js → preload-helper-BFv3hW2s.js} +0 -0
- /package/dist/assets/{prop-types-BFRDxSKF.js → prop-types-D9vVr8W2.js} +0 -0
- /package/dist/assets/{properties-BojS2wNP.js → properties-CX3A241c.js} +0 -0
- /package/dist/assets/{protobuf-C3jQLUT4.js → protobuf-CEqDY4vo.js} +0 -0
- /package/dist/assets/{puppet-BIu7yw7Q.js → puppet-DlFBPmUd.js} +0 -0
- /package/dist/assets/{python-BvK-LeGt.js → python-kNH0316T.js} +0 -0
- /package/dist/assets/{q-DxTFD_3l.js → q-KQ_N2MXi.js} +0 -0
- /package/dist/assets/{r-D9kMb9Pl.js → r-Dj_WdT8c.js} +0 -0
- /package/dist/assets/{range-1DwpgXvM.js → range-Bc7-zhbC.js} +0 -0
- /package/dist/assets/{react-icons.esm-BUYTQ32a.js → react-icons.esm-B8rtE4cC.js} +0 -0
- /package/dist/assets/{react-resizable-panels.browser.esm-BUNcfKXO.js → react-resizable-panels.browser.esm-xQHRvEag.js} +0 -0
- /package/dist/assets/{requests-CsNnmup3.js → requests-DdU2Ap88.js} +0 -0
- /package/dist/assets/{rpm-DMBmptJ_.js → rpm-C3VyCeYo.js} +0 -0
- /package/dist/assets/{ruby-Bi66LQBu.js → ruby-9RpAFOsP.js} +0 -0
- /package/dist/assets/{sas-DDMCLlZz.js → sas-CFBIkOrK.js} +0 -0
- /package/dist/assets/{scheme-MngEI34z.js → scheme-n4WmsRUQ.js} +0 -0
- /package/dist/assets/{shell-BSVgrHzY.js → shell-BDAgpmgp.js} +0 -0
- /package/dist/assets/{sieve-DvUWNrPv.js → sieve-BVNIn7Yz.js} +0 -0
- /package/dist/assets/{simple-mode-DxeVZov3.js → simple-mode-C-nP-kAb.js} +0 -0
- /package/dist/assets/{smalltalk-CeZ66qpG.js → smalltalk-C7nE9dmX.js} +0 -0
- /package/dist/assets/{sparql-oFx_t7AO.js → sparql-DPFIzZM3.js} +0 -0
- /package/dist/assets/{stex-jWatZkll.js → stex--zUcZkER.js} +0 -0
- /package/dist/assets/{stylus-KE-9LQSK.js → stylus-DGcebGVS.js} +0 -0
- /package/dist/assets/{swift-A-ZhZWU8.js → swift-DiAJo7C6.js} +0 -0
- /package/dist/assets/{tcl-CREXWwrr.js → tcl-DpD837eJ.js} +0 -0
- /package/dist/assets/{textile-Cj8L4qVJ.js → textile-DEqOicm6.js} +0 -0
- /package/dist/assets/{timer-DBQ_H0G1.js → timer-DwQQMK5T.js} +0 -0
- /package/dist/assets/{toml-BwSlV2Pt.js → toml-BdA-7EhB.js} +0 -0
- /package/dist/assets/{troff-DWonWT6V.js → troff-iGRgQHLe.js} +0 -0
- /package/dist/assets/{ttcn--CHQduBW.js → ttcn-CLQ1c3XL.js} +0 -0
- /package/dist/assets/{ttcn-cfg-Cei3Mnk3.js → ttcn-cfg-BFj90pgD.js} +0 -0
- /package/dist/assets/{turtle-BaGuNPTf.js → turtle-DwFVq6UC.js} +0 -0
- /package/dist/assets/{types-DOdUT9LT.js → types-D8yP89N6.js} +0 -0
- /package/dist/assets/{use-toast-BDYuj3zG.js → use-toast-PYIpV284.js} +0 -0
- /package/dist/assets/{useDeepCompareMemoize-D0WTlCXt.js → useDeepCompareMemoize-pHFuC8FJ.js} +0 -0
- /package/dist/assets/{useNonce-CbdaHKzX.js → useNonce-DfoVjkkH.js} +0 -0
- /package/dist/assets/{uuid-DXdzqzcr.js → uuid-CCkGk34L.js} +0 -0
- /package/dist/assets/{vb-DQgwufRi.js → vb-gm5P9Pn5.js} +0 -0
- /package/dist/assets/{vbscript-B66XhQhu.js → vbscript-gQvKiDdU.js} +0 -0
- /package/dist/assets/{velocity-D7CxwqhZ.js → velocity-CkfRmD_d.js} +0 -0
- /package/dist/assets/{verilog-SCT9zECa.js → verilog-D3b05tu1.js} +0 -0
- /package/dist/assets/{vhdl-Bz6d75os.js → vhdl-DRo1SU3e.js} +0 -0
- /package/dist/assets/{webidl-B7LbwCfy.js → webidl-DFtmGFay.js} +0 -0
- /package/dist/assets/{ws-BApgRfsy.js → ws-BV-4clkP.js} +0 -0
- /package/dist/assets/{xquery-BOMK2ySj.js → xquery-CzUikajR.js} +0 -0
- /package/dist/assets/{yacas-Yk74VuuD.js → yacas-BqvQWbYq.js} +0 -0
- /package/dist/assets/{z80-BQKQ7DhX.js → z80-CQqkYd-2.js} +0 -0
|
@@ -0,0 +1,118 @@
|
|
|
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" },
|
|
7
|
+
"\t": { marker: "\\t", name: "tab" },
|
|
8
|
+
"\n": { marker: "\\n", name: "newline" },
|
|
9
|
+
"\r": { marker: "\\r", name: "carriage return" },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function renderWhitespaceMarkers(str: string): React.ReactNode[] {
|
|
13
|
+
return [...str].map((ch, i) => {
|
|
14
|
+
const entry = WHITESPACE_CHARS[ch];
|
|
15
|
+
const marker = entry
|
|
16
|
+
? entry.marker
|
|
17
|
+
: `\\u${(ch.codePointAt(0) ?? 0).toString(16).padStart(4, "0")}`;
|
|
18
|
+
return (
|
|
19
|
+
<span key={i} className="mr-0.5 last:mr-0">
|
|
20
|
+
{marker}
|
|
21
|
+
</span>
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function describeWhitespace(str: string): string {
|
|
27
|
+
const counts: Record<string, number> = {};
|
|
28
|
+
for (const ch of str) {
|
|
29
|
+
const name = WHITESPACE_CHARS[ch]?.name ?? "unicode whitespace";
|
|
30
|
+
counts[name] = (counts[name] ?? 0) + 1;
|
|
31
|
+
}
|
|
32
|
+
return Object.entries(counts)
|
|
33
|
+
.map(([name, count]) => `${count} ${name}${count > 1 ? "s" : ""}`)
|
|
34
|
+
.join(", ");
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
interface SentinelConfig {
|
|
38
|
+
label: (value: CellValueSentinel["value"]) => string | React.ReactNode[];
|
|
39
|
+
tooltip: (value: CellValueSentinel["value"]) => string;
|
|
40
|
+
ariaLabel: (value: CellValueSentinel["value"]) => string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const SENTINEL_CONFIG: Record<CellValueSentinelType, SentinelConfig> = {
|
|
44
|
+
null: {
|
|
45
|
+
label: () => "None",
|
|
46
|
+
tooltip: () => "None",
|
|
47
|
+
ariaLabel: () => "None",
|
|
48
|
+
},
|
|
49
|
+
"empty-string": {
|
|
50
|
+
label: () => "<empty>",
|
|
51
|
+
tooltip: () => "<empty>",
|
|
52
|
+
ariaLabel: () => "empty string",
|
|
53
|
+
},
|
|
54
|
+
whitespace: {
|
|
55
|
+
label: (value) => renderWhitespaceMarkers(String(value)),
|
|
56
|
+
tooltip: (value) => describeWhitespace(String(value)),
|
|
57
|
+
ariaLabel: (value) => describeWhitespace(String(value)),
|
|
58
|
+
},
|
|
59
|
+
nan: {
|
|
60
|
+
label: () => "NaN",
|
|
61
|
+
tooltip: () => "NaN",
|
|
62
|
+
ariaLabel: () => "NaN",
|
|
63
|
+
},
|
|
64
|
+
"positive-infinity": {
|
|
65
|
+
label: () => "inf",
|
|
66
|
+
tooltip: () => "Infinity",
|
|
67
|
+
ariaLabel: () => "infinity",
|
|
68
|
+
},
|
|
69
|
+
"negative-infinity": {
|
|
70
|
+
label: () => "-inf",
|
|
71
|
+
tooltip: () => "-Infinity",
|
|
72
|
+
ariaLabel: () => "negative infinity",
|
|
73
|
+
},
|
|
74
|
+
nat: {
|
|
75
|
+
label: () => "NaT",
|
|
76
|
+
tooltip: () => "NaT (Not a Time)",
|
|
77
|
+
ariaLabel: () => "Not a Time",
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export function WhitespaceMarkers({ value }: { value: string }) {
|
|
82
|
+
if (!value) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const description = describeWhitespace(value);
|
|
87
|
+
|
|
88
|
+
return (
|
|
89
|
+
<span
|
|
90
|
+
className="text-muted-foreground opacity-60"
|
|
91
|
+
aria-label={description}
|
|
92
|
+
title={description}
|
|
93
|
+
>
|
|
94
|
+
{renderWhitespaceMarkers(value)}
|
|
95
|
+
</span>
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function SentinelCell({
|
|
100
|
+
sentinel,
|
|
101
|
+
}: {
|
|
102
|
+
sentinel: CellValueSentinel;
|
|
103
|
+
}): React.ReactElement {
|
|
104
|
+
const config = SENTINEL_CONFIG[sentinel.type];
|
|
105
|
+
const label = config.label(sentinel.value);
|
|
106
|
+
const tooltip = config.tooltip(sentinel.value);
|
|
107
|
+
const ariaLabel = config.ariaLabel(sentinel.value);
|
|
108
|
+
|
|
109
|
+
return (
|
|
110
|
+
<span
|
|
111
|
+
className="italic text-muted-foreground bg-muted rounded px-1"
|
|
112
|
+
aria-label={ariaLabel}
|
|
113
|
+
title={tooltip}
|
|
114
|
+
>
|
|
115
|
+
<span className="opacity-70">{label}</span>
|
|
116
|
+
</span>
|
|
117
|
+
);
|
|
118
|
+
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import type { RowData } from "@tanstack/react-table";
|
|
4
4
|
import type { DataType } from "@/core/kernel/messages";
|
|
5
|
-
import { Objects } from "@/utils/objects";
|
|
6
5
|
|
|
7
6
|
declare module "@tanstack/react-table" {
|
|
8
7
|
interface TableMeta<TData extends RowData> {
|
|
@@ -56,16 +55,19 @@ export type FieldTypesWithExternalType = [
|
|
|
56
55
|
columnName: string,
|
|
57
56
|
[dataType: DataType, externalType: string],
|
|
58
57
|
][];
|
|
59
|
-
|
|
58
|
+
// Ordered map of column name -> data type.
|
|
59
|
+
//
|
|
60
|
+
// `Map` (not `Record`) because JS objects reorder integer-string keys
|
|
61
|
+
// to the front in numeric order per `OrdinaryOwnPropertyKeys`; a
|
|
62
|
+
// DataFrame with a `"2010"` column alongside `"here"` would otherwise
|
|
63
|
+
// lose its column order on iteration (#9269). `Map` preserves insertion
|
|
64
|
+
// order for all keys.
|
|
65
|
+
export type FieldTypes = Map<string, DataType>;
|
|
60
66
|
|
|
61
67
|
export function toFieldTypes(
|
|
62
68
|
fieldTypes: FieldTypesWithExternalType,
|
|
63
69
|
): FieldTypes {
|
|
64
|
-
return
|
|
65
|
-
fieldTypes,
|
|
66
|
-
([columnName]) => columnName,
|
|
67
|
-
([, [type]]) => type,
|
|
68
|
-
);
|
|
70
|
+
return new Map(fieldTypes.map(([columnName, [type]]) => [columnName, type]));
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
interface BinValue {
|
|
@@ -95,6 +97,29 @@ export type DataTableSelection =
|
|
|
95
97
|
| "multi-cell"
|
|
96
98
|
| null;
|
|
97
99
|
|
|
100
|
+
export type CellValueSentinel =
|
|
101
|
+
| { type: "null"; value: null | undefined }
|
|
102
|
+
| { type: "empty-string"; value: string }
|
|
103
|
+
| { type: "whitespace"; value: string }
|
|
104
|
+
| { type: "nan"; value: number | string }
|
|
105
|
+
| { type: "positive-infinity"; value: number | string }
|
|
106
|
+
| { type: "negative-infinity"; value: number | string }
|
|
107
|
+
| { type: "nat"; value: string };
|
|
108
|
+
|
|
109
|
+
export type CellValueSentinelType = CellValueSentinel["type"];
|
|
110
|
+
|
|
111
|
+
export function isNumericType(
|
|
112
|
+
dataType: DataType | undefined,
|
|
113
|
+
): dataType is "number" | "integer" {
|
|
114
|
+
return dataType === "number" || dataType === "integer";
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export function isTemporalType(
|
|
118
|
+
dataType: DataType | undefined,
|
|
119
|
+
): dataType is "date" | "datetime" | "time" {
|
|
120
|
+
return dataType === "date" || dataType === "datetime" || dataType === "time";
|
|
121
|
+
}
|
|
122
|
+
|
|
98
123
|
export function extractTimezone(dtype: string | undefined): string | undefined {
|
|
99
124
|
if (!dtype) {
|
|
100
125
|
return undefined;
|
|
@@ -105,7 +130,3 @@ export function extractTimezone(dtype: string | undefined): string | undefined {
|
|
|
105
130
|
const match = /^datetime(?:64)?\[[^,]+,([^,]+)]$/.exec(dtype);
|
|
106
131
|
return match?.[1]?.trim();
|
|
107
132
|
}
|
|
108
|
-
|
|
109
|
-
export type PageRange =
|
|
110
|
-
| { type: "page"; page: number }
|
|
111
|
-
| { type: "ellipsis"; key: string };
|
|
@@ -5,7 +5,60 @@ 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 {
|
|
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]+$/;
|
|
17
|
+
const WHITESPACE_CHAR_RE = /\s/;
|
|
18
|
+
const EDGE_WHITESPACE_RE = /^(\s*)([\s\S]*?)(\s*)$/;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* checks for leading and trailing whitespaces.
|
|
22
|
+
* Will run for every cell, so fast exits for common cases
|
|
23
|
+
*
|
|
24
|
+
* @param value - to split
|
|
25
|
+
* @returns - leading, middle, and trailing string where leading and trailing are whitespace string
|
|
26
|
+
*/
|
|
27
|
+
export function splitLeadingTrailingWhitespace(value: string): {
|
|
28
|
+
leading: string;
|
|
29
|
+
middle: string;
|
|
30
|
+
trailing: string;
|
|
31
|
+
} {
|
|
32
|
+
const parts = {
|
|
33
|
+
leading: "",
|
|
34
|
+
middle: "",
|
|
35
|
+
trailing: "",
|
|
36
|
+
};
|
|
37
|
+
if (value.length === 0) {
|
|
38
|
+
return parts;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const firstWhitespaceCh = WHITESPACE_CHAR_RE.test(value[0]);
|
|
42
|
+
const lastWhitespaceCh = WHITESPACE_CHAR_RE.test(value[value.length - 1]);
|
|
43
|
+
|
|
44
|
+
// if does not start or end with ws
|
|
45
|
+
if (!firstWhitespaceCh && !lastWhitespaceCh) {
|
|
46
|
+
parts.middle = value;
|
|
47
|
+
return parts;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const match = EDGE_WHITESPACE_RE.exec(value);
|
|
51
|
+
if (!match) {
|
|
52
|
+
parts.middle = value;
|
|
53
|
+
return parts;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
parts.leading = match[1] ?? "";
|
|
57
|
+
parts.middle = match[2] ?? "";
|
|
58
|
+
parts.trailing = match[3] ?? "";
|
|
59
|
+
|
|
60
|
+
return parts;
|
|
61
|
+
}
|
|
9
62
|
|
|
10
63
|
/**
|
|
11
64
|
* Convenience function to load table data.
|
|
@@ -85,6 +138,71 @@ export function getPageIndexForRow(
|
|
|
85
138
|
return null;
|
|
86
139
|
}
|
|
87
140
|
|
|
141
|
+
// String representations of numeric special values.
|
|
142
|
+
// Only matched when the caller indicates the column is numeric.
|
|
143
|
+
type StringValueSentinelType = Extract<
|
|
144
|
+
CellValueSentinel,
|
|
145
|
+
{ value: number | string }
|
|
146
|
+
>["type"];
|
|
147
|
+
|
|
148
|
+
const NUMERIC_STRING_SPECIALS: Record<string, StringValueSentinelType> = {
|
|
149
|
+
NaN: "nan",
|
|
150
|
+
Infinity: "positive-infinity",
|
|
151
|
+
"-Infinity": "negative-infinity",
|
|
152
|
+
inf: "positive-infinity",
|
|
153
|
+
"-inf": "negative-infinity",
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Detect if a cell value is a sentinel (null, empty string, whitespace,
|
|
158
|
+
* NaN, infinity, NaT). Column-type-dependent sentinels (string "NaN",
|
|
159
|
+
* "NaT", etc.) are matched based on `dataType`.
|
|
160
|
+
*/
|
|
161
|
+
export function detectSentinel(
|
|
162
|
+
value: unknown,
|
|
163
|
+
dataType: DataType | undefined,
|
|
164
|
+
): CellValueSentinel | null {
|
|
165
|
+
if (value == null) {
|
|
166
|
+
return { type: "null", value };
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (typeof value === "string") {
|
|
170
|
+
if (value === "") {
|
|
171
|
+
return { type: "empty-string", value };
|
|
172
|
+
}
|
|
173
|
+
if (WHITESPACE_ONLY_RE.test(value)) {
|
|
174
|
+
return { type: "whitespace", value };
|
|
175
|
+
}
|
|
176
|
+
// String "NaN"/"Infinity" in a numeric column = actual special float value
|
|
177
|
+
if (isNumericType(dataType)) {
|
|
178
|
+
const type = NUMERIC_STRING_SPECIALS[value];
|
|
179
|
+
if (type) {
|
|
180
|
+
return { type, value };
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// String "NaT" in a temporal column = pandas Not-a-Time sentinel
|
|
184
|
+
if (isTemporalType(dataType) && value === "NaT") {
|
|
185
|
+
return { type: "nat", value };
|
|
186
|
+
}
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (typeof value === "number") {
|
|
191
|
+
if (Number.isNaN(value)) {
|
|
192
|
+
return { type: "nan", value };
|
|
193
|
+
}
|
|
194
|
+
if (value === Number.POSITIVE_INFINITY) {
|
|
195
|
+
return { type: "positive-infinity", value };
|
|
196
|
+
}
|
|
197
|
+
if (value === Number.NEGATIVE_INFINITY) {
|
|
198
|
+
return { type: "negative-infinity", value };
|
|
199
|
+
}
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
|
|
88
206
|
/**
|
|
89
207
|
* Stringify an unknown value. Converts objects to JSON strings.
|
|
90
208
|
* @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
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import { useInstallAllowed } from "@/core/mode";
|
|
4
|
+
import { cn } from "@/utils/cn";
|
|
5
|
+
import { InstallPackageButton } from "./install-package-button";
|
|
6
|
+
|
|
7
|
+
interface MissingPackagePromptProps {
|
|
8
|
+
packages: string[];
|
|
9
|
+
featureName: string;
|
|
10
|
+
description?: string | null; // server message, suppressing this in read-only mode
|
|
11
|
+
onInstall?: () => void;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* display missing-package requirement with mode-aware copy. In edit mode,
|
|
17
|
+
* shows the backend explanation (if any) plus an install button for missing-packages.
|
|
18
|
+
* read mode, shows a generic "isn't available"
|
|
19
|
+
*/
|
|
20
|
+
export const MissingPackagePrompt: React.FC<MissingPackagePromptProps> = ({
|
|
21
|
+
packages,
|
|
22
|
+
featureName,
|
|
23
|
+
description,
|
|
24
|
+
onInstall,
|
|
25
|
+
className,
|
|
26
|
+
}) => {
|
|
27
|
+
const installAllowed = useInstallAllowed();
|
|
28
|
+
|
|
29
|
+
if (!installAllowed) {
|
|
30
|
+
return (
|
|
31
|
+
<span className={cn("text-xs", className)}>
|
|
32
|
+
{featureName} isn't available in this notebook
|
|
33
|
+
</span>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<div className={cn("text-xs flex flex-col items-end gap-2", className)}>
|
|
39
|
+
<span className="self-start">
|
|
40
|
+
{description || `${featureName} requires ${packages.join(", ")}`}
|
|
41
|
+
</span>
|
|
42
|
+
<InstallPackageButton
|
|
43
|
+
packages={packages}
|
|
44
|
+
onInstall={onInstall}
|
|
45
|
+
className="ml-0"
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
);
|
|
49
|
+
};
|
|
@@ -381,6 +381,18 @@ export function useNotebookActions() {
|
|
|
381
381
|
});
|
|
382
382
|
},
|
|
383
383
|
},
|
|
384
|
+
{
|
|
385
|
+
icon: <MarimoPlusIcon size={14} strokeWidth={1.5} />,
|
|
386
|
+
label: "Create molab notebook",
|
|
387
|
+
handle: async () => {
|
|
388
|
+
const code = await readCode();
|
|
389
|
+
const url = createShareableLink({
|
|
390
|
+
code: code.contents,
|
|
391
|
+
baseUrl: `${Constants.molab}/new`,
|
|
392
|
+
});
|
|
393
|
+
window.open(url, "_blank");
|
|
394
|
+
},
|
|
395
|
+
},
|
|
384
396
|
],
|
|
385
397
|
},
|
|
386
398
|
|
|
@@ -8,6 +8,7 @@ import { RequestingTree } from "../requesting-tree";
|
|
|
8
8
|
const sendListFiles = vi.fn();
|
|
9
9
|
const sendCreateFileOrFolder = vi.fn();
|
|
10
10
|
const sendDeleteFileOrFolder = vi.fn();
|
|
11
|
+
const sendCopyFileOrFolder = vi.fn();
|
|
11
12
|
const sendRenameFileOrFolder = vi.fn();
|
|
12
13
|
|
|
13
14
|
vi.mock("@/components/ui/use-toast", () => MockModules.toast());
|
|
@@ -21,6 +22,7 @@ describe("RequestingTree", () => {
|
|
|
21
22
|
listFiles: sendListFiles,
|
|
22
23
|
createFileOrFolder: sendCreateFileOrFolder,
|
|
23
24
|
deleteFileOrFolder: sendDeleteFileOrFolder,
|
|
25
|
+
copyFileOrFolder: sendCopyFileOrFolder,
|
|
24
26
|
renameFileOrFolder: sendRenameFileOrFolder,
|
|
25
27
|
});
|
|
26
28
|
sendListFiles.mockResolvedValue({
|
|
@@ -169,6 +171,17 @@ describe("RequestingTree", () => {
|
|
|
169
171
|
`);
|
|
170
172
|
});
|
|
171
173
|
|
|
174
|
+
test("copy should duplicate a file", async () => {
|
|
175
|
+
sendCopyFileOrFolder.mockResolvedValue({ success: true });
|
|
176
|
+
|
|
177
|
+
await requestingTree.copy("1.1", "file1_copy");
|
|
178
|
+
expect(sendCopyFileOrFolder).toHaveBeenCalledWith({
|
|
179
|
+
path: "/root/file1",
|
|
180
|
+
newPath: "/root/file1_copy",
|
|
181
|
+
});
|
|
182
|
+
expect(mockOnChange).toHaveBeenCalled();
|
|
183
|
+
});
|
|
184
|
+
|
|
172
185
|
test("createFile should create a new file", async () => {
|
|
173
186
|
sendCreateFileOrFolder.mockResolvedValue({ success: true });
|
|
174
187
|
|
|
@@ -236,6 +249,7 @@ describe("RequestingTree", () => {
|
|
|
236
249
|
listFiles: sendListFiles,
|
|
237
250
|
createFileOrFolder: sendCreateFileOrFolder,
|
|
238
251
|
deleteFileOrFolder: sendDeleteFileOrFolder,
|
|
252
|
+
copyFileOrFolder: sendCopyFileOrFolder,
|
|
239
253
|
renameFileOrFolder: sendRenameFileOrFolder,
|
|
240
254
|
});
|
|
241
255
|
sendListFiles.mockRejectedValue(new Error("Network error"));
|
|
@@ -263,6 +277,23 @@ describe("RequestingTree", () => {
|
|
|
263
277
|
});
|
|
264
278
|
});
|
|
265
279
|
|
|
280
|
+
test("copy should handle API failure", async () => {
|
|
281
|
+
sendCopyFileOrFolder.mockResolvedValue({
|
|
282
|
+
success: false,
|
|
283
|
+
message: "Error duplicating",
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
await requestingTree.copy("1.1", "file1_copy");
|
|
287
|
+
expect(sendCopyFileOrFolder).toHaveBeenCalledWith({
|
|
288
|
+
path: "/root/file1",
|
|
289
|
+
newPath: "/root/file1_copy",
|
|
290
|
+
});
|
|
291
|
+
expect(toast).toHaveBeenCalledWith({
|
|
292
|
+
title: "Failed",
|
|
293
|
+
description: "Error duplicating",
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
|
|
266
297
|
test("move should handle missing parent node gracefully", async () => {
|
|
267
298
|
await requestingTree.move(["1.x"], "2");
|
|
268
299
|
expect(sendRenameFileOrFolder).not.toHaveBeenCalled();
|
|
@@ -284,6 +315,7 @@ describe("RequestingTree", () => {
|
|
|
284
315
|
listFiles: sendListFiles,
|
|
285
316
|
createFileOrFolder: sendCreateFileOrFolder,
|
|
286
317
|
deleteFileOrFolder: sendDeleteFileOrFolder,
|
|
318
|
+
copyFileOrFolder: sendCopyFileOrFolder,
|
|
287
319
|
renameFileOrFolder: sendRenameFileOrFolder,
|
|
288
320
|
});
|
|
289
321
|
|
|
@@ -305,6 +337,7 @@ describe("RequestingTree", () => {
|
|
|
305
337
|
listFiles: sendListFiles,
|
|
306
338
|
createFileOrFolder: sendCreateFileOrFolder,
|
|
307
339
|
deleteFileOrFolder: sendDeleteFileOrFolder,
|
|
340
|
+
copyFileOrFolder: sendCopyFileOrFolder,
|
|
308
341
|
renameFileOrFolder: sendRenameFileOrFolder,
|
|
309
342
|
});
|
|
310
343
|
|
|
@@ -381,6 +381,7 @@ const Show = ({
|
|
|
381
381
|
{node.data.name}
|
|
382
382
|
{node.data.isMarimoFile && !isWasm() && (
|
|
383
383
|
<span
|
|
384
|
+
data-testid="file-explorer-open-marimo-button"
|
|
384
385
|
className="shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline"
|
|
385
386
|
onClick={onOpenMarimoFile}
|
|
386
387
|
>
|
|
@@ -419,8 +420,7 @@ const Edit = ({ node }: { node: NodeApi<FileInfo> }) => {
|
|
|
419
420
|
};
|
|
420
421
|
|
|
421
422
|
const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
|
|
422
|
-
const { openFile,
|
|
423
|
-
useRequestClient();
|
|
423
|
+
const { openFile, sendFileDetails } = useRequestClient();
|
|
424
424
|
const disableFileDownloads = useAtomValue(disableFileDownloadsAtom);
|
|
425
425
|
|
|
426
426
|
const fileType: FileIconType = node.data.isDirectory
|
|
@@ -502,37 +502,14 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
|
|
|
502
502
|
});
|
|
503
503
|
|
|
504
504
|
const handleDuplicate = useEvent(async () => {
|
|
505
|
-
if (!tree
|
|
505
|
+
if (!tree) {
|
|
506
506
|
return;
|
|
507
507
|
}
|
|
508
508
|
|
|
509
509
|
const [name, extension] = fileSplit(node.data.name);
|
|
510
510
|
const duplicateName = `${name}_copy${extension}`;
|
|
511
511
|
|
|
512
|
-
|
|
513
|
-
// First get the file contents
|
|
514
|
-
const details = await sendFileDetails({ path: node.data.path });
|
|
515
|
-
|
|
516
|
-
// Get the parent directory path
|
|
517
|
-
const parentPath = node.parent?.data.path || "";
|
|
518
|
-
|
|
519
|
-
// Create the duplicate file by creating a new file with the same contents
|
|
520
|
-
await sendCreateFileOrFolder({
|
|
521
|
-
path: parentPath,
|
|
522
|
-
type: "file",
|
|
523
|
-
name: duplicateName,
|
|
524
|
-
contents: details.contents ? btoa(details.contents) : undefined,
|
|
525
|
-
});
|
|
526
|
-
|
|
527
|
-
// Refresh the parent folder to show the new file
|
|
528
|
-
await tree.refreshAll([parentPath]);
|
|
529
|
-
} catch {
|
|
530
|
-
toast({
|
|
531
|
-
title: "Failed to duplicate file",
|
|
532
|
-
description: "Unable to create a duplicate of the file",
|
|
533
|
-
variant: "danger",
|
|
534
|
-
});
|
|
535
|
-
}
|
|
512
|
+
await tree.copy(node.id, duplicateName);
|
|
536
513
|
});
|
|
537
514
|
|
|
538
515
|
const renderActions = () => {
|
|
@@ -581,12 +558,10 @@ const Node = ({ node, style, dragHandle }: NodeRendererProps<FileInfo>) => {
|
|
|
581
558
|
<Edit3Icon className={ic} />
|
|
582
559
|
Rename
|
|
583
560
|
</DropdownMenuItem>
|
|
584
|
-
{
|
|
585
|
-
<
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
</DropdownMenuItem>
|
|
589
|
-
)}
|
|
561
|
+
<DropdownMenuItem onSelect={handleDuplicate}>
|
|
562
|
+
<CopyIcon className={ic} />
|
|
563
|
+
Duplicate
|
|
564
|
+
</DropdownMenuItem>
|
|
590
565
|
<DropdownMenuItem
|
|
591
566
|
onSelect={async () => {
|
|
592
567
|
await copyToClipboard(node.data.path);
|