@marimo-team/islands 0.21.2-dev64 → 0.21.2-dev70
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/{ConnectedDataExplorerComponent-DkSulho5.js → ConnectedDataExplorerComponent-CLLlotD4.js} +1 -1
- package/dist/{any-language-editor-B_YcSEs7.js → any-language-editor-BBegsg-m.js} +10 -10
- package/dist/apl-e1B5LPEL.js +4 -0
- package/dist/{arc-DfkSnvZm.js → arc-CHF8PiiF.js} +2 -2
- package/dist/{architecture-7HQA4BMR-BVuGBj38.js → architecture-7HQA4BMR-KeUc82D1.js} +1 -1
- package/dist/{architectureDiagram-VXUJARFQ-CTttozWW.js → architectureDiagram-VXUJARFQ-CIl7H_7A.js} +16 -16
- package/dist/asciiarmor-B-gwgesP.js +4 -0
- package/dist/asn1-DF2ckRB4.js +4 -0
- package/dist/{blockDiagram-VD42YOAC-DPCYZecD.js → blockDiagram-VD42YOAC-Bxg4bo7H.js} +11 -11
- package/dist/brainfuck-4G-7_gq_.js +4 -0
- package/dist/{c4Diagram-YG6GDRKO-BAE3Buci.js → c4Diagram-YG6GDRKO-k4TEDUb8.js} +5 -5
- package/dist/{channel-DApRnm6b.js → channel-CCR8wXOx.js} +1 -1
- package/dist/{chat-ui-DIuq4Mn6.js → chat-ui-D4ay_SFE.js} +2 -3
- package/dist/{chunk-4BX2VUAB-BtdcCA7H.js → chunk-4BX2VUAB-BwfrWBqN.js} +1 -1
- package/dist/{chunk-55IACEB6-hJraQgx2.js → chunk-55IACEB6-D8THf2mi.js} +1 -1
- package/dist/{chunk-5FQGJX7Z-DwBOYBMa.js → chunk-5FQGJX7Z-Cz2QbNIw.js} +1502 -2844
- package/dist/{chunk-ABZYJK2D-DFnIGLNd.js → chunk-ABZYJK2D-NPoevJcI.js} +2 -2
- package/dist/{chunk-ATLVNIR6-4HgRPLgX.js → chunk-ATLVNIR6-DAhC1FCG.js} +2 -2
- package/dist/{chunk-B4BG7PRW-Bp8FDZTb.js → chunk-B4BG7PRW-BDmytgmO.js} +7 -7
- package/dist/{chunk-CVBHYZKI-B_c5YBcW.js → chunk-CVBHYZKI-B6xhgaBd.js} +1 -1
- package/dist/{chunk-DI55MBZ5-CtD9lSpd.js → chunk-DI55MBZ5-C6iNEV8U.js} +6 -6
- package/dist/{chunk-EXTU4WIE-QrN2mPtn.js → chunk-EXTU4WIE-BtA6WdD4.js} +2 -2
- package/dist/{chunk-FMBD7UC4-B34QcQBj.js → chunk-FMBD7UC4-CHdus51S.js} +1 -1
- package/dist/{chunk-HN2XXSSU-E3n-Ys7Z.js → chunk-HN2XXSSU-2Vfbq-kU.js} +1 -1
- package/dist/{chunk-JA3XYJ7Z-B9-EWihm.js → chunk-JA3XYJ7Z-BeXqAsc9.js} +3 -3
- package/dist/{chunk-JZLCHNYA-CIx__-bR.js → chunk-JZLCHNYA-ibE7xTEx.js} +6 -6
- package/dist/{chunk-MI3HLSF2-CUYEasXO.js → chunk-MI3HLSF2-Do0-KRc0.js} +1 -1
- package/dist/{chunk-N4CR4FBY-Cl9KH_W1.js → chunk-N4CR4FBY-CHAcubAf.js} +7 -7
- package/dist/{chunk-QN33PNHL-DV6ID85v.js → chunk-QN33PNHL-CDWJY_kT.js} +2 -2
- package/dist/{chunk-QXUST7PY-CaiIvoL5.js → chunk-QXUST7PY-CV37xRZd.js} +10 -10
- package/dist/{chunk-QZHKN3VN-CBBP4d0M.js → chunk-QZHKN3VN-B_Mdb8GC.js} +1 -1
- package/dist/{chunk-S3R3BYOJ-CQOhwRBS.js → chunk-S3R3BYOJ-CGlk8NH-.js} +4 -4
- package/dist/{chunk-TZMSLE5B-BkqhN89K.js → chunk-TZMSLE5B-DfY6C3FB.js} +3 -3
- package/dist/classDiagram-2ON5EDUG-DbWOiPgs.js +30 -0
- package/dist/classDiagram-v2-WZHVMYZB-COnXBrRA.js +30 -0
- package/dist/{clike-jRoJKo3I.js → clike-7lgyEYRk.js} +1 -1
- package/dist/clojure-CUybM11R.js +4 -0
- package/dist/cmake-BPjGcuDL.js +4 -0
- package/dist/cobol-BETk_nb6.js +4 -0
- package/dist/{code-block-37QAKDTI-Dae3xvB0.js → code-block-37QAKDTI-DW3JC11U.js} +1 -1
- package/dist/coffeescript-CManZxXL.js +4 -0
- package/dist/commonlisp-DWkn7GW8.js +4 -0
- package/dist/{cose-bilkent-S5V4N54A-DvPVjKwP.js → cose-bilkent-S5V4N54A-DXHZkJKX.js} +2 -2
- package/dist/crystal-CCbg5EUH.js +4 -0
- package/dist/css-By8eo-XS.js +4 -0
- package/dist/cypher-DwfHg3nP.js +4 -0
- package/dist/d-Brs1wNbw.js +4 -0
- package/dist/{dagre-6UL2VRFP-ABg-WzQ3.js → dagre-6UL2VRFP-B8UW0fXE.js} +10 -10
- package/dist/{data-grid-overlay-editor-eVOR1Bqn.js → data-grid-overlay-editor-CpL5Zajy.js} +2 -2
- package/dist/{diagram-PSM6KHXK-D6zP_W1d.js → diagram-PSM6KHXK-DGD-j1bM.js} +18 -18
- package/dist/{diagram-QEK2KX5R-CuHhFHzr.js → diagram-QEK2KX5R-DgsT6ZW4.js} +14 -14
- package/dist/{diagram-S2PKOQOG-B2AqkaRk.js → diagram-S2PKOQOG-CDh5Ij8z.js} +14 -14
- package/dist/diff-DJIRmJ1g.js +4 -0
- package/dist/dist-BHGf2Zey.js +5 -0
- package/dist/dist-BImOGJZM.js +5 -0
- package/dist/dist-BbJfmCHJ.js +5 -0
- package/dist/{dist-Cxn9man7.js → dist-C0v-nFs_.js} +1 -1
- package/dist/{dist-CZ4qwYvJ.js → dist-C9TDg2aq.js} +1 -1
- package/dist/{dist-BwZY8Lt9.js → dist-CKVkWFcB.js} +1 -1
- package/dist/dist-CN4RKgNR.js +5 -0
- package/dist/{dist-CXayp1fR.js → dist-CVOkf_3P.js} +1 -1
- package/dist/dist-CwEBZkrQ.js +550 -0
- package/dist/dist-D6YTv0Kj.js +5 -0
- package/dist/{dist-DUTgSV0a.js → dist-D9vawryf.js} +1 -1
- package/dist/{dist-DcoiQ51H.js → dist-DasJgTvL.js} +1 -1
- package/dist/{dist-Don9K0di.js → dist-Ui51qXMz.js} +1 -1
- package/dist/dist-d2msfN-B.js +5 -0
- package/dist/{dist-DD2s3ocF.js → dist-uR-o9IVx.js} +1 -1
- package/dist/{dockerfile-Bhphd7by.js → dockerfile-DG6A2DdH.js} +1 -1
- package/dist/dtd-Dyiazv4N.js +4 -0
- package/dist/dylan-D8Fcw7NA.js +4 -0
- package/dist/ecl-CjKp8Vii.js +4 -0
- package/dist/eiffel-K9ViOX5r.js +4 -0
- package/dist/elm-B5NVtRco.js +4 -0
- package/dist/{erDiagram-Q2GNP2WA-DEGS1PP7.js → erDiagram-Q2GNP2WA-CGK0SUdu.js} +14 -14
- package/dist/erlang-BnLzgk7R.js +4 -0
- package/dist/{esm-dotk-2cB.js → esm-CCD9xN05.js} +96 -96
- package/dist/{factor-DNC3EI9I.js → factor-Bq2mGIHt.js} +1 -1
- package/dist/factor-C7f9Jz5R.js +4 -0
- package/dist/{flowDiagram-NV44I4VS-_NtC_MIa.js → flowDiagram-NV44I4VS-PjhviPI_.js} +16 -16
- package/dist/forth-rGM8jLao.js +4 -0
- package/dist/fortran-B3acSe0i.js +4 -0
- package/dist/{ganttDiagram-JELNMOA3-0iqJp9II.js → ganttDiagram-JELNMOA3-CUVtQqgT.js} +7 -7
- package/dist/gas-Bb1Vmv_N.js +4 -0
- package/dist/gherkin-C9Lyidgd.js +4 -0
- package/dist/{gitGraph-G5XIXVHT-D5dIC-Yj.js → gitGraph-G5XIXVHT-B6b-Z3mr.js} +1 -1
- package/dist/{gitGraphDiagram-V2S2FVAM-DmWsIkI5.js → gitGraphDiagram-V2S2FVAM-CNdrlK1I.js} +14 -14
- package/dist/{glide-data-editor-BkO3-23t.js → glide-data-editor-DQEuWuu_.js} +4 -4
- package/dist/groovy-DQk6XcGH.js +4 -0
- package/dist/haskell-mV0Vw9gv.js +4 -0
- package/dist/haxe-DqxN89zH.js +5 -0
- package/dist/idl-ya8W561J.js +4 -0
- package/dist/{info-VBDWY6EO-DTO3vFfS.js → info-VBDWY6EO-DfFl0Z8H.js} +1 -1
- package/dist/{infoDiagram-HS3SLOUP-UrOFax1c.js → infoDiagram-HS3SLOUP-DGimKb9k.js} +12 -12
- package/dist/javascript-CgqgptVu.js +4 -0
- package/dist/{journeyDiagram-XKPGCS4Q-m64vZmxT.js → journeyDiagram-XKPGCS4Q-CyoESVVb.js} +6 -6
- package/dist/julia-CFQ-HusI.js +4 -0
- package/dist/{kanban-definition-3W4ZIXB7-ZLe0Kp41.js → kanban-definition-3W4ZIXB7-Doc2YV80.js} +11 -11
- package/dist/{katex-DAGMFHph.js → katex-qPqrBHZ8.js} +1 -1
- package/dist/{line-C5s_12ee.js → line-BWRi3U3S.js} +3 -3
- package/dist/{linear-Cii2AMNm.js → linear-DZ8_CGCd.js} +2 -2
- package/dist/livescript-D__3TmDo.js +4 -0
- package/dist/lua-Bytcgj_W.js +4 -0
- package/dist/main.js +34 -28
- package/dist/mathematica-DJhvVKvl.js +4 -0
- package/dist/mbox-IGHPCjfR.js +4 -0
- package/dist/{mermaid-4DMBBIKO-0oQV6SKJ.js → mermaid-4DMBBIKO-DQdI9xDR.js} +1 -1
- package/dist/{mermaid-CP8gAOdP.js → mermaid-CzWpf81s.js} +41 -41
- package/dist/{mermaid-parser.core-Ldbqm2U2.js → mermaid-parser.core-CrrqF1ZZ.js} +7 -7
- package/dist/{mhchem-BGHMIfq6.js → mhchem-BwoRNwg_.js} +1 -1
- package/dist/micromark-factory-space-DQCQsiYz.js +1341 -0
- package/dist/{mindmap-definition-VGOIOE7T-BkJfqjP5.js → mindmap-definition-VGOIOE7T-L2ybicpO.js} +13 -13
- package/dist/mirc-tcwvVugm.js +4 -0
- package/dist/mllike-Dx91i62r.js +6 -0
- package/dist/modelica-_SRt-yU5.js +4 -0
- package/dist/mscgen-GZrGS9gt.js +6 -0
- package/dist/mumps-Cv3ygyod.js +4 -0
- package/dist/nsis-BU7GeGbI.js +4 -0
- package/dist/{nsis-CROWDZ9a.js → nsis-i9_sgigf.js} +1 -1
- package/dist/ntriples-CL-FCYXb.js +4 -0
- package/dist/{number-overlay-editor-B5y1rc-k.js → number-overlay-editor-D2Y0RpcH.js} +1 -1
- package/dist/octave-Dc6_3DIu.js +4 -0
- package/dist/{ordinal-Bz8O-XbW.js → ordinal-B4zYMadD.js} +1 -1
- package/dist/oz-DpUAJCXf.js +4 -0
- package/dist/{packet-DYOGHKS2-BWNLyWLh.js → packet-DYOGHKS2-DIf3Dotq.js} +1 -1
- package/dist/pascal-B17mncXs.js +4 -0
- package/dist/perl-BTpK97q9.js +4 -0
- package/dist/{pie-VRWISCQL-BNm0ZeOM.js → pie-VRWISCQL-Dj_gvPcD.js} +1 -1
- package/dist/{pieDiagram-ADFJNKIX-CLJoguev.js → pieDiagram-ADFJNKIX-x5w7q6Yp.js} +19 -19
- package/dist/pig-CFb638Ap.js +4 -0
- package/dist/powershell-Cxo-_2A5.js +4 -0
- package/dist/{process-output-BzDV74px.js → process-output-Cv8vQ4At.js} +4238 -4809
- package/dist/properties-BPgT1xTB.js +4 -0
- package/dist/protobuf-BgHBaIIK.js +4 -0
- package/dist/pug-25-oS0SG.js +4 -0
- package/dist/{pug-CSWat1rd.js → pug-BhE2JRSg.js} +1 -1
- package/dist/puppet-DarIr20S.js +4 -0
- package/dist/python-BqmOsBsi.js +4 -0
- package/dist/q-D3QJCTup.js +4 -0
- package/dist/{quadrantDiagram-AYHSOK5B-Bym-JxLx.js → quadrantDiagram-AYHSOK5B-D5j_5qG_.js} +3 -3
- package/dist/r-Cz_yBX4z.js +4 -0
- package/dist/{radar-ZZBFDIW7-CEhz-hUS.js → radar-ZZBFDIW7-DXDVq3gi.js} +1 -1
- package/dist/{react-vega-DZOOS-W4.js → react-vega-BBUxfZoV.js} +13 -13
- package/dist/{react-vega-CY82WAG3.js → react-vega-Cs3lfDw8.js} +1 -1
- package/dist/{requirementDiagram-UZGBJVZJ-CD_V4itb.js → requirementDiagram-UZGBJVZJ-3SoJH6yP.js} +13 -13
- package/dist/rpm-DGOtYwAI.js +5 -0
- package/dist/ruby-DBZu4rPc.js +4 -0
- package/dist/{sankeyDiagram-TZEHDZUN-CW3Bo_62.js → sankeyDiagram-TZEHDZUN-fGkFNe5q.js} +4 -4
- package/dist/sas-Dd1D9qTq.js +4 -0
- package/dist/scheme-BmDjvTHX.js +4 -0
- package/dist/{sequenceDiagram-WL72ISMW-BfAHIhk3.js → sequenceDiagram-WL72ISMW-BE2uTn_d.js} +7 -7
- package/dist/shell-BL8zFSaj.js +4 -0
- package/dist/sieve-BAx2WqUP.js +4 -0
- package/dist/smalltalk-CYRzF7VV.js +4 -0
- package/dist/sparql-YWaDRO4A.js +4 -0
- package/dist/{src-Bf2iLOlr.js → src-BY0BGg6V.js} +1 -1
- package/dist/{stateDiagram-FKZM4ZOC-CCfvnS3_.js → stateDiagram-FKZM4ZOC-Dmk9IAOx.js} +16 -16
- package/dist/stateDiagram-v2-4FDKWEC3-BGF0BvU6.js +29 -0
- package/dist/{step-CWipAYTY.js → step-DGAGWg3y.js} +1 -1
- package/dist/stylus-lYsyLFc1.js +4 -0
- package/dist/swift-ClQz9z1n.js +4 -0
- package/dist/tcl-B3jhsfqY.js +4 -0
- package/dist/textile-Cb1Dw7Aq.js +4 -0
- package/dist/{time-B31vFOEZ.js → time-C_pvjzP0.js} +2 -2
- package/dist/{timeline-definition-IT6M3QCI-BwyDPLz1.js → timeline-definition-IT6M3QCI-CvB4yGrN.js} +3 -3
- package/dist/toml-nHZhetdO.js +4 -0
- package/dist/{treemap-GDKQZRPO-BdsKcX7e.js → treemap-GDKQZRPO-CIG6WH-x.js} +1 -1
- package/dist/troff-DuJAGWKH.js +4 -0
- package/dist/ttcn-BxrcwP21.js +4 -0
- package/dist/ttcn-cfg-BAg_9dcc.js +4 -0
- package/dist/turtle-zCq949as.js +4 -0
- package/dist/vb-De5hElus.js +4 -0
- package/dist/vbscript-Cypcpv4F.js +4 -0
- package/dist/{vega-component-DX1QtRQE.js → vega-component-BQNW4qnB.js} +1 -1
- package/dist/velocity-Di7l-yhe.js +4 -0
- package/dist/verilog-Bzi-S3g2.js +4 -0
- package/dist/vhdl-B0ZZITaW.js +4 -0
- package/dist/webidl-0sviiRcN.js +4 -0
- package/dist/xquery-B4qMVWaB.js +4 -0
- package/dist/{xychartDiagram-PRI3JC2R-D-Of-r2y.js → xychartDiagram-PRI3JC2R-BbEInSqY.js} +10 -10
- package/dist/yacas-Jt25Fuv8.js +4 -0
- package/dist/z80-CrcbYzmp.js +4 -0
- package/package.json +1 -1
- package/src/__mocks__/requests.ts +1 -0
- package/src/components/data-table/range-focus/__tests__/use-cell-range-selection.test.ts +119 -0
- package/src/components/data-table/range-focus/use-cell-range-selection.ts +19 -0
- package/src/components/datasources/datasources.tsx +45 -0
- package/src/components/markdown/markdown-renderer.tsx +18 -2
- package/src/core/datasets/__tests__/data-source.test.ts +88 -1
- package/src/core/datasets/data-source-connections.ts +44 -0
- package/src/core/datasets/request-registry.ts +13 -0
- package/src/core/islands/bridge.ts +1 -0
- package/src/core/islands/main.ts +1 -0
- package/src/core/kernel/messages.ts +2 -0
- 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 +2 -0
- package/src/core/wasm/bridge.ts +10 -0
- package/src/core/websocket/useMarimoKernelConnection.tsx +4 -0
- package/dist/apl-Bw2VYJky.js +0 -4
- package/dist/asciiarmor-eqY4ZaG6.js +0 -4
- package/dist/asn1-Ch439-Sl.js +0 -4
- package/dist/brainfuck-CYhvoM5D.js +0 -4
- package/dist/classDiagram-2ON5EDUG-BKvGPmV7.js +0 -30
- package/dist/classDiagram-v2-WZHVMYZB-CUmRCVhz.js +0 -30
- package/dist/clojure-Dlp86hGI.js +0 -4
- package/dist/cmake-CW_qEITI.js +0 -4
- package/dist/cobol-XHu3WWjZ.js +0 -4
- package/dist/coffeescript-Bb6YS_bL.js +0 -4
- package/dist/commonlisp-BjSiOQCp.js +0 -4
- package/dist/crystal-BqTYUvZ7.js +0 -4
- package/dist/css-DADryIYo.js +0 -4
- package/dist/cypher-CNn306Oc.js +0 -4
- package/dist/d-D-tppFsq.js +0 -4
- package/dist/diff-BWHM7ple.js +0 -4
- package/dist/dist-BV8p87LG.js +0 -5
- package/dist/dist-CHmkCdpG.js +0 -5
- package/dist/dist-C__dRIDe.js +0 -5
- package/dist/dist-DjYymnvA.js +0 -5
- package/dist/dist-E9OVwuXi.js +0 -5
- package/dist/dist-s8cGIbEf.js +0 -5
- package/dist/dtd-_uCqoALQ.js +0 -4
- package/dist/dylan-C9RDQBgd.js +0 -4
- package/dist/ecl-D-cNcvrL.js +0 -4
- package/dist/eiffel-pwlnpFTa.js +0 -4
- package/dist/elm-Bw5cHXv0.js +0 -4
- package/dist/erlang-_hA30h6l.js +0 -4
- package/dist/factor-DmR0sS2X.js +0 -4
- package/dist/forth-Cp4B_BYs.js +0 -4
- package/dist/fortran-2KtXs5Vb.js +0 -4
- package/dist/gas-106_zOMN.js +0 -4
- package/dist/gherkin-CHK85w0F.js +0 -4
- package/dist/groovy-Bl2mjKn9.js +0 -4
- package/dist/haskell-BzHGL977.js +0 -4
- package/dist/haxe-BWQFLp-3.js +0 -5
- package/dist/idl-C28UwC1n.js +0 -4
- package/dist/javascript-DgLCEZTn.js +0 -4
- package/dist/julia-BPiwS_8t.js +0 -4
- package/dist/livescript-D--_lQnE.js +0 -4
- package/dist/lua-CsDs748O.js +0 -4
- package/dist/mathematica-BYQ9GF6F.js +0 -4
- package/dist/mbox-C7kaFMhK.js +0 -4
- package/dist/mirc-C2209Et3.js +0 -4
- package/dist/mllike-BLT4EygN.js +0 -6
- package/dist/modelica-DdJRZ_hL.js +0 -4
- package/dist/mscgen-CG9noCbk.js +0 -6
- package/dist/mumps-V-rMtaoS.js +0 -4
- package/dist/nsis-BaCxxbYc.js +0 -4
- package/dist/ntriples-2dOF8Rwr.js +0 -4
- package/dist/octave-DgJBCpUf.js +0 -4
- package/dist/oz-B4DqLn0e.js +0 -4
- package/dist/pascal-CzxJky4Q.js +0 -4
- package/dist/perl-BXxwSvR1.js +0 -4
- package/dist/pig-C6uUbdgq.js +0 -4
- package/dist/powershell-ByH1IK0s.js +0 -4
- package/dist/properties-D9ixNGHK.js +0 -4
- package/dist/protobuf-CL5MO5Bo.js +0 -4
- package/dist/pug-j1GtIGnO.js +0 -4
- package/dist/puppet-DAaSZQRF.js +0 -4
- package/dist/python-DWLse_Hh.js +0 -4
- package/dist/q-JRlUfaV4.js +0 -4
- package/dist/r-J8uFHie7.js +0 -4
- package/dist/rpm-C85hbO48.js +0 -5
- package/dist/ruby-D9HeYYQS.js +0 -4
- package/dist/sas-D4mSim4H.js +0 -4
- package/dist/scheme-DNmM-DGy.js +0 -4
- package/dist/shell-BS8ZwLUy.js +0 -4
- package/dist/sieve-B8TCe-_m.js +0 -4
- package/dist/smalltalk-CkAXTqlf.js +0 -4
- package/dist/sparql-Bt75sj2n.js +0 -4
- package/dist/stateDiagram-v2-4FDKWEC3-Dd_xAZiD.js +0 -29
- package/dist/stylus-BM4XGc6j.js +0 -4
- package/dist/swift-BRG-gyk5.js +0 -4
- package/dist/tcl-Bp61skpb.js +0 -4
- package/dist/textile-vndc5V2p.js +0 -4
- package/dist/toml-CMpRzNl5.js +0 -4
- package/dist/troff-BNSfnnQn.js +0 -4
- package/dist/ttcn-CILP7Q2P.js +0 -4
- package/dist/ttcn-cfg-Cs5Ekdhk.js +0 -4
- package/dist/turtle-1zFjsw2L.js +0 -4
- package/dist/vb-CCqDJO0q.js +0 -4
- package/dist/vbscript-CtqCxNqL.js +0 -4
- package/dist/velocity-BRacwoCp.js +0 -4
- package/dist/verilog-CdotQ5hS.js +0 -4
- package/dist/vhdl-CRMFlLc_.js +0 -4
- package/dist/webidl-Bo-4Hfyi.js +0 -4
- package/dist/xquery-CgMQN-7i.js +0 -4
- package/dist/yacas-6ORYe5fj.js +0 -4
- package/dist/z80-tFLqkB9-.js +0 -4
- /package/dist/{ImageComparisonComponent-gxt3EfyS.js → ImageComparisonComponent-BC00mJmw.js} +0 -0
- /package/dist/{Plot-Do8S2SQJ.js → Plot-B1ahrLui.js} +0 -0
- /package/dist/{apl-hy2nkDJ0.js → apl-99A7dLQe.js} +0 -0
- /package/dist/{array-tvvEqPy7.js → array-B-MVxRIF.js} +0 -0
- /package/dist/{asciiarmor-Bp85a1XA.js → asciiarmor-DLEhpFDx.js} +0 -0
- /package/dist/{asn1-CCINh2Tb.js → asn1-CMrcTsT4.js} +0 -0
- /package/dist/{asterisk-DaVJJDnV.js → asterisk-BUZwqih-.js} +0 -0
- /package/dist/{brainfuck-CWERNqpi.js → brainfuck-ChPt5yBe.js} +0 -0
- /package/dist/{chunk-4F5CHEZ2-trdcsslU.js → chunk-4F5CHEZ2-BigWQaTs.js} +0 -0
- /package/dist/{chunk-B2363JML-BFAcnt5i.js → chunk-B2363JML-DOYwB798.js} +0 -0
- /package/dist/{chunk-DR5Q36YT-BflwErH1.js → chunk-DR5Q36YT-CP69aZS_.js} +0 -0
- /package/dist/{chunk-FRFDVMJY-Bdi7sRSt.js → chunk-FRFDVMJY-Bo7Hv3UF.js} +0 -0
- /package/dist/{chunk-PL6DKKU2-BBQnb9JJ.js → chunk-PL6DKKU2-D3wYz-iW.js} +0 -0
- /package/dist/{chunk-SJTYNZTY-upm-bCUI.js → chunk-SJTYNZTY-Bauwp2-p.js} +0 -0
- /package/dist/{chunk-TQ3KTPDO-BYnhW5aQ.js → chunk-TQ3KTPDO-TjHW8xfv.js} +0 -0
- /package/dist/{chunk-UMXZTB3W-CmrAYToU.js → chunk-UMXZTB3W-DdRiIIOF.js} +0 -0
- /package/dist/{click-outside-container-D6Q_AEkf.js → click-outside-container-DB_bTXRG.js} +0 -0
- /package/dist/{clike-BclwMGdw.js → clike-CE0fXfM_.js} +0 -0
- /package/dist/{clojure-ygiDe_M6.js → clojure-QkBEMU-g.js} +0 -0
- /package/dist/{cmake-CqV32d9p.js → cmake-CU1jX7Mo.js} +0 -0
- /package/dist/{cobol-BC90RNzo.js → cobol-DMOKzzky.js} +0 -0
- /package/dist/{coffeescript-XlUo917R.js → coffeescript-DjnjLyfk.js} +0 -0
- /package/dist/{colors-CQAOa8cK.js → colors-Cn2p_FA3.js} +0 -0
- /package/dist/{common-keywords-FBrXPTcz.js → common-keywords-hbLeU7VU.js} +0 -0
- /package/dist/{commonlisp-BlMWxO2z.js → commonlisp-CYd9iOSe.js} +0 -0
- /package/dist/{crystal-BJriHwL7.js → crystal-Dy55yoYG.js} +0 -0
- /package/dist/{css-De5CPzak.js → css-CNU8w3HJ.js} +0 -0
- /package/dist/{cypher-CF3pgZHB.js → cypher-q47DGzK7.js} +0 -0
- /package/dist/{cytoscape.esm-GAzDZorR.js → cytoscape.esm-WbbDoCfu.js} +0 -0
- /package/dist/{d-DnmSJuVB.js → d-jEkaLvxX.js} +0 -0
- /package/dist/{diff-5fTcVlce.js → diff-vb2-unFN.js} +0 -0
- /package/dist/{dist-CWmTJeFK.js → dist-1-E4bC9V.js} +0 -0
- /package/dist/{dist-BcxBN3cs.js → dist-APyhcmvq.js} +0 -0
- /package/dist/{dist-9a7ktdXy.js → dist-B5thW2rT.js} +0 -0
- /package/dist/{dist-DaQ8gl6t.js → dist-BJvk9DSp.js} +0 -0
- /package/dist/{dist-WV8DSzVp.js → dist-BLrc9iNb.js} +0 -0
- /package/dist/{dist-BGdYVvOu.js → dist-C89sHDXk.js} +0 -0
- /package/dist/{dist-D_qEwdMV.js → dist-CGH6Jw-c.js} +0 -0
- /package/dist/{dist-C4UxHJAP.js → dist-CQ3XmGIH.js} +0 -0
- /package/dist/{dist-Ddms9oaj.js → dist-CYuoqvce.js} +0 -0
- /package/dist/{dist-B1fHT_HN.js → dist-CxczluAk.js} +0 -0
- /package/dist/{dist-BU99V51x.js → dist-DFBjYgbq.js} +0 -0
- /package/dist/{dist-CiisiGJh.js → dist-DbyoYfBn.js} +0 -0
- /package/dist/{dist-DkQrPBbq.js → dist-Dk13KZ54.js} +0 -0
- /package/dist/{dist-BJ43gqCe.js → dist-Dl9_0tkc.js} +0 -0
- /package/dist/{dist-BS0c9rME.js → dist-aW74oyUt.js} +0 -0
- /package/dist/{dist-XpVxGq0K.js → dist-iM9VwH8Z.js} +0 -0
- /package/dist/{dist-CMY2xBYw.js → dist-zGOEySUQ.js} +0 -0
- /package/dist/{dtd-CExSJ830.js → dtd-C9kR-bXa.js} +0 -0
- /package/dist/{duckdb-keywords-CvJhR_Yd.js → duckdb-keywords-CZ_ZTscu.js} +0 -0
- /package/dist/{dylan-D45mme_B.js → dylan-BLckrK-V.js} +0 -0
- /package/dist/{ebnf-2D4Ctp3y.js → ebnf-WEXPLEWb.js} +0 -0
- /package/dist/{ecl-Dt8H2ySk.js → ecl-CEsf6XVg.js} +0 -0
- /package/dist/{eiffel-BVH48wKK.js → eiffel-2KGZNzx6.js} +0 -0
- /package/dist/{elm-lLkDwz-w.js → elm-D2s3K5wF.js} +0 -0
- /package/dist/{erlang-Ct2FydHU.js → erlang-0PMFOndk.js} +0 -0
- /package/dist/{esm-CuMA4YP0.js → esm-Bb_hbWan.js} +0 -0
- /package/dist/{fcl-Ccj8Z5Xd.js → fcl-B_Gv5Jfx.js} +0 -0
- /package/dist/{forth-CXoVo3MY.js → forth-DG89iUsu.js} +0 -0
- /package/dist/{fortran-CgtioF-z.js → fortran-ytKsAVvu.js} +0 -0
- /package/dist/{gas-DA6wSQkj.js → gas-Cg2Fm0N2.js} +0 -0
- /package/dist/{gherkin-Cn3rybYZ.js → gherkin-B87FEnZ-.js} +0 -0
- /package/dist/{groovy-CGOZjiuH.js → groovy-Dcs08AWD.js} +0 -0
- /package/dist/{haskell-BWI76WET.js → haskell-cwkOuhx6.js} +0 -0
- /package/dist/{haxe-CovtkFbk.js → haxe-DWEo4q10.js} +0 -0
- /package/dist/{http-_DVAYWoR.js → http-Dc2fv19V.js} +0 -0
- /package/dist/{idl-SJSctwSZ.js → idl-WWQwDcRV.js} +0 -0
- /package/dist/{init-uv0kkh4g.js → init-D-g0ONX1.js} +0 -0
- /package/dist/{javascript-BzIdRGKh.js → javascript-BeR74dxD.js} +0 -0
- /package/dist/{julia-B3EQ2bxh.js → julia-UlvCUYGL.js} +0 -0
- /package/dist/{katex-CywHdYBC.js → katex-B7pMJpE0.js} +0 -0
- /package/dist/{livescript-BtVSE9jj.js → livescript-GPmFcmYV.js} +0 -0
- /package/dist/{lua-B1Esbvm1.js → lua-DYoT_0zM.js} +0 -0
- /package/dist/{math-DFcdCCU8.js → math-BYK36kWZ.js} +0 -0
- /package/dist/{mathematica-BLPJnY-e.js → mathematica-DSFIQlbG.js} +0 -0
- /package/dist/{mbox-C86ZBpjz.js → mbox-ej8lFMdL.js} +0 -0
- /package/dist/{mirc-Cqv8ECOt.js → mirc-CAdIdvHQ.js} +0 -0
- /package/dist/{mllike-BCn8p2Mf.js → mllike-CjTB1lHF.js} +0 -0
- /package/dist/{modelica-eD-847KF.js → modelica-BB68FYMa.js} +0 -0
- /package/dist/{mscgen-BtzXm_zS.js → mscgen-BkbzgGGI.js} +0 -0
- /package/dist/{mumps-BUx23-bh.js → mumps-Cu-28E9F.js} +0 -0
- /package/dist/{nginx-DasThI7R.js → nginx-ComVAAGN.js} +0 -0
- /package/dist/{node-sql-parser-CHcmQ9Ms.js → node-sql-parser-DNGGJ-Rw.js} +0 -0
- /package/dist/{ntriples-naSVo-bH.js → ntriples-D9cQiZxZ.js} +0 -0
- /package/dist/{octave-B-zftwnK.js → octave-BvtAnPX0.js} +0 -0
- /package/dist/{oz-OUZbVKrv.js → oz-COaVHk2E.js} +0 -0
- /package/dist/{pascal-C-c-17Ts.js → pascal-BFpqVD2x.js} +0 -0
- /package/dist/{path-BGaWgPKg.js → path-Du6n3sOU.js} +0 -0
- /package/dist/{perl-BBIS1zw3.js → perl-DaiORxHP.js} +0 -0
- /package/dist/{pig-B10mtuLC.js → pig-DFzRhmsF.js} +0 -0
- /package/dist/{powershell-SyaENm-A.js → powershell-BG2LQNKN.js} +0 -0
- /package/dist/{properties-BiiMVvre.js → properties-CqJJR5QY.js} +0 -0
- /package/dist/{protobuf-Cj2_antD.js → protobuf-WwDYV1yY.js} +0 -0
- /package/dist/{puppet-ZeJ9I40T.js → puppet-QNY3w_uN.js} +0 -0
- /package/dist/{python-mR64qk6D.js → python-4QrQ3Ugi.js} +0 -0
- /package/dist/{q-C_IMU433.js → q-DhwXuxE2.js} +0 -0
- /package/dist/{r-BKx4ZcIe.js → r-Df-nkR25.js} +0 -0
- /package/dist/{rpm-Dc3zEGCn.js → rpm-Cokue07s.js} +0 -0
- /package/dist/{ruby-eSClttk1.js → ruby-DrYcL3qF.js} +0 -0
- /package/dist/{sas-7VEmwDJB.js → sas-CoiPirA5.js} +0 -0
- /package/dist/{scheme-CpP6oEOD.js → scheme-CwFLjzHv.js} +0 -0
- /package/dist/{shell-CfNoZJks.js → shell-BFV-R24I.js} +0 -0
- /package/dist/{sieve-dzMMB941.js → sieve-CxwXF5T9.js} +0 -0
- /package/dist/{simple-mode-CnNH5BDk.js → simple-mode-DTaJtKPt.js} +0 -0
- /package/dist/{slides-component-oCf7w4PF.js → slides-component-Cjo6LzW9.js} +0 -0
- /package/dist/{smalltalk-BVDNd2a5.js → smalltalk-QivVOCtX.js} +0 -0
- /package/dist/{solr-RZ9uTl59.js → solr-DTkyqJ-Z.js} +0 -0
- /package/dist/{sparql-Br2qWoOi.js → sparql-nKsFk8j7.js} +0 -0
- /package/dist/{spreadsheet-BNNUNXA2.js → spreadsheet-CER0raqY.js} +0 -0
- /package/dist/{sql-B4x8IkwU.js → sql-ByOoEONQ.js} +0 -0
- /package/dist/{stylus-Ca_-WKcu.js → stylus-BLKQAycn.js} +0 -0
- /package/dist/{swift-CiBr8lL9.js → swift-CJoKqiKj.js} +0 -0
- /package/dist/{tcl-DpMdOyXx.js → tcl-YTeYFNUc.js} +0 -0
- /package/dist/{textile-Dc0EKY-e.js → textile-C6rKQqMQ.js} +0 -0
- /package/dist/{tiddlywiki-DI0mF2WJ.js → tiddlywiki-Cr9xyOY1.js} +0 -0
- /package/dist/{tiki-2HU6XLLn.js → tiki-D5JONyfZ.js} +0 -0
- /package/dist/{timer-YZl28NYN.js → timer-D7JVdX9U.js} +0 -0
- /package/dist/{toml-Cz56KCq3.js → toml-DxlPGbRy.js} +0 -0
- /package/dist/{treemap-D-ka1hvx.js → treemap-qFGzn7xk.js} +0 -0
- /package/dist/{troff-QPYfPg8n.js → troff-DFCfH7Ku.js} +0 -0
- /package/dist/{ttcn-Bd8ZFglh.js → ttcn-DAW-ERVP.js} +0 -0
- /package/dist/{ttcn-cfg-BRegYnOz.js → ttcn-cfg-CpJ8b7EN.js} +0 -0
- /package/dist/{turtle-BtxTFbJ2.js → turtle-BneV2f8L.js} +0 -0
- /package/dist/{vb-BPcnlamW.js → vb-D973Vxxh.js} +0 -0
- /package/dist/{vbscript-RpXS5Rn-.js → vbscript-Dckaq3YO.js} +0 -0
- /package/dist/{velocity-toRwXi-i.js → velocity-DKty-GUC.js} +0 -0
- /package/dist/{verilog-B1fdOBGb.js → verilog-aNaK_biA.js} +0 -0
- /package/dist/{vhdl-D-vWFb2W.js → vhdl-CQuehnQy.js} +0 -0
- /package/dist/{webidl-QJDW0ZyQ.js → webidl-Bhg8vaMr.js} +0 -0
- /package/dist/{xquery-DMMT83Vl.js → xquery-D2q16GaM.js} +0 -0
- /package/dist/{yacas-CvzqlDJ_.js → yacas-DHGOHnNa.js} +0 -0
- /package/dist/{z80-DqdgHy0p.js → z80-BPhTmO22.js} +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { isInteractiveTarget } from "../use-cell-range-selection";
|
|
5
|
+
|
|
6
|
+
function createMouseEvent(
|
|
7
|
+
target: HTMLElement,
|
|
8
|
+
currentTarget: HTMLElement,
|
|
9
|
+
): React.MouseEvent {
|
|
10
|
+
return { target, currentTarget } as unknown as React.MouseEvent;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe("isInteractiveTarget", () => {
|
|
14
|
+
it("returns false when target is the cell itself", () => {
|
|
15
|
+
const cell = document.createElement("td");
|
|
16
|
+
expect(isInteractiveTarget(createMouseEvent(cell, cell))).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("returns false when clicking plain text inside a cell", () => {
|
|
20
|
+
const cell = document.createElement("td");
|
|
21
|
+
const span = document.createElement("span");
|
|
22
|
+
cell.append(span);
|
|
23
|
+
expect(isInteractiveTarget(createMouseEvent(span, cell))).toBe(false);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it.each([
|
|
27
|
+
"input",
|
|
28
|
+
"button",
|
|
29
|
+
"select",
|
|
30
|
+
"textarea",
|
|
31
|
+
])("returns true when clicking a <%s>", (tag) => {
|
|
32
|
+
const cell = document.createElement("td");
|
|
33
|
+
const el = document.createElement(tag);
|
|
34
|
+
cell.append(el);
|
|
35
|
+
expect(isInteractiveTarget(createMouseEvent(el, cell))).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("returns true when clicking an <a> link", () => {
|
|
39
|
+
const cell = document.createElement("td");
|
|
40
|
+
const a = document.createElement("a");
|
|
41
|
+
a.href = "#";
|
|
42
|
+
cell.append(a);
|
|
43
|
+
expect(isInteractiveTarget(createMouseEvent(a, cell))).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it("returns true when clicking a <label>", () => {
|
|
47
|
+
const cell = document.createElement("td");
|
|
48
|
+
const label = document.createElement("label");
|
|
49
|
+
cell.append(label);
|
|
50
|
+
expect(isInteractiveTarget(createMouseEvent(label, cell))).toBe(true);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('returns true for element with role="checkbox"', () => {
|
|
54
|
+
const cell = document.createElement("td");
|
|
55
|
+
const div = document.createElement("div");
|
|
56
|
+
div.setAttribute("role", "checkbox");
|
|
57
|
+
cell.append(div);
|
|
58
|
+
expect(isInteractiveTarget(createMouseEvent(div, cell))).toBe(true);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('returns true for element with role="button"', () => {
|
|
62
|
+
const cell = document.createElement("td");
|
|
63
|
+
const div = document.createElement("div");
|
|
64
|
+
div.setAttribute("role", "button");
|
|
65
|
+
cell.append(div);
|
|
66
|
+
expect(isInteractiveTarget(createMouseEvent(div, cell))).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('returns true for contenteditable="true"', () => {
|
|
70
|
+
const cell = document.createElement("td");
|
|
71
|
+
const div = document.createElement("div");
|
|
72
|
+
div.setAttribute("contenteditable", "true");
|
|
73
|
+
cell.append(div);
|
|
74
|
+
expect(isInteractiveTarget(createMouseEvent(div, cell))).toBe(true);
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it("returns true when clicking a child nested inside an interactive element", () => {
|
|
78
|
+
const cell = document.createElement("td");
|
|
79
|
+
const button = document.createElement("button");
|
|
80
|
+
const icon = document.createElement("span");
|
|
81
|
+
button.append(icon);
|
|
82
|
+
cell.append(button);
|
|
83
|
+
expect(isInteractiveTarget(createMouseEvent(icon, cell))).toBe(true);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it("returns true when clicking inside a marimo-ui-element", () => {
|
|
87
|
+
const cell = document.createElement("td");
|
|
88
|
+
const marimoEl = document.createElement("marimo-ui-element");
|
|
89
|
+
const inner = document.createElement("div");
|
|
90
|
+
marimoEl.append(inner);
|
|
91
|
+
cell.append(marimoEl);
|
|
92
|
+
expect(isInteractiveTarget(createMouseEvent(inner, cell))).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it("returns true when clicking the marimo-ui-element itself", () => {
|
|
96
|
+
const cell = document.createElement("td");
|
|
97
|
+
const marimoEl = document.createElement("marimo-ui-element");
|
|
98
|
+
cell.append(marimoEl);
|
|
99
|
+
expect(isInteractiveTarget(createMouseEvent(marimoEl, cell))).toBe(true);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it("returns false when clicking a non-interactive div", () => {
|
|
103
|
+
const cell = document.createElement("td");
|
|
104
|
+
const wrapper = document.createElement("div");
|
|
105
|
+
const text = document.createElement("span");
|
|
106
|
+
wrapper.append(text);
|
|
107
|
+
cell.append(wrapper);
|
|
108
|
+
expect(isInteractiveTarget(createMouseEvent(text, cell))).toBe(false);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it("returns false when target is a non-Element (e.g. Text node)", () => {
|
|
112
|
+
const cell = document.createElement("td");
|
|
113
|
+
const textNode = document.createTextNode("hello");
|
|
114
|
+
cell.append(textNode);
|
|
115
|
+
expect(isInteractiveTarget(createMouseEvent(textNode as never, cell))).toBe(
|
|
116
|
+
false,
|
|
117
|
+
);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
@@ -91,6 +91,10 @@ export const useCellRangeSelection = <TData>({
|
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
if (isInteractiveTarget(e)) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
94
98
|
actions.handleCellMouseDown({
|
|
95
99
|
cell,
|
|
96
100
|
isShiftKey: e.shiftKey,
|
|
@@ -122,3 +126,18 @@ export const useCellRangeSelection = <TData>({
|
|
|
122
126
|
clearSelection: actions.clearSelection,
|
|
123
127
|
};
|
|
124
128
|
};
|
|
129
|
+
|
|
130
|
+
const INTERACTIVE_SELECTOR =
|
|
131
|
+
'input, button, select, textarea, a, label, [role="checkbox"], [role="button"], [contenteditable="true"], marimo-ui-element';
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Skip cell selection when the click target is inside an interactive element
|
|
135
|
+
* (e.g. a checkbox or button rendered as rich cell content).
|
|
136
|
+
*/
|
|
137
|
+
export function isInteractiveTarget(e: React.MouseEvent): boolean {
|
|
138
|
+
const target = e.target;
|
|
139
|
+
if (target === e.currentTarget || !(target instanceof Element)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
return target.closest(INTERACTIVE_SELECTOR) !== null;
|
|
143
|
+
}
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
INTERNAL_SQL_ENGINES,
|
|
29
29
|
} from "@/core/datasets/engines";
|
|
30
30
|
import {
|
|
31
|
+
PreviewSQLSchemaList,
|
|
31
32
|
PreviewSQLTable,
|
|
32
33
|
PreviewSQLTableList,
|
|
33
34
|
} from "@/core/datasets/request-registry";
|
|
@@ -80,6 +81,7 @@ const INDENT = {
|
|
|
80
81
|
database: "pl-4",
|
|
81
82
|
schemaEmpty: "pl-8",
|
|
82
83
|
schema: "pl-7",
|
|
84
|
+
schemaLoading: "pl-8",
|
|
83
85
|
tableLoading: "pl-11",
|
|
84
86
|
tableSchemaless: "pl-8",
|
|
85
87
|
tableWithSchema: "pl-12",
|
|
@@ -369,6 +371,49 @@ const SchemaList: React.FC<{
|
|
|
369
371
|
hasSearch,
|
|
370
372
|
searchValue,
|
|
371
373
|
}) => {
|
|
374
|
+
const { addSchemaList } = useDataSourceActions();
|
|
375
|
+
const [schemasRequested, setSchemasRequested] = React.useState(false);
|
|
376
|
+
|
|
377
|
+
// Custom loading state, we need to wait for the data to propagate once requested
|
|
378
|
+
// useAsyncData's loading state may return false before data has propagated
|
|
379
|
+
const [schemasLoading, setSchemasLoading] = React.useState(false);
|
|
380
|
+
|
|
381
|
+
const { isPending, error } = useAsyncData(async () => {
|
|
382
|
+
if (schemas.length === 0 && engineName && !schemasRequested) {
|
|
383
|
+
setSchemasRequested(true);
|
|
384
|
+
setSchemasLoading(true);
|
|
385
|
+
try {
|
|
386
|
+
const previewSchemaList = await PreviewSQLSchemaList.request({
|
|
387
|
+
engine: engineName,
|
|
388
|
+
database: databaseName,
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
addSchemaList({
|
|
392
|
+
schemas: previewSchemaList.schemas ?? [],
|
|
393
|
+
sqlSchemaContext: {
|
|
394
|
+
engine: engineName,
|
|
395
|
+
database: databaseName,
|
|
396
|
+
},
|
|
397
|
+
});
|
|
398
|
+
} finally {
|
|
399
|
+
setSchemasLoading(false);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}, [schemas.length, engineName, databaseName, schemasRequested]);
|
|
403
|
+
|
|
404
|
+
if (isPending || schemasLoading) {
|
|
405
|
+
return (
|
|
406
|
+
<LoadingState
|
|
407
|
+
message="Loading schemas..."
|
|
408
|
+
className={INDENT.schemaLoading}
|
|
409
|
+
/>
|
|
410
|
+
);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
if (error) {
|
|
414
|
+
return <ErrorState error={error} className={INDENT.schemaLoading} />;
|
|
415
|
+
}
|
|
416
|
+
|
|
372
417
|
if (schemas.length === 0) {
|
|
373
418
|
return (
|
|
374
419
|
<EmptyState
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
|
|
3
3
|
import { EditorView } from "@codemirror/view";
|
|
4
|
-
import { math } from "@streamdown/math";
|
|
5
4
|
import { useAtomValue } from "jotai";
|
|
6
5
|
import { BetweenHorizontalStartIcon } from "lucide-react";
|
|
7
6
|
import { memo, Suspense, useState } from "react";
|
|
@@ -13,6 +12,7 @@ import { useLastFocusedCellId } from "@/core/cells/focus";
|
|
|
13
12
|
import { MarkdownLanguageAdapter } from "@/core/codemirror/language/languages/markdown";
|
|
14
13
|
import { SQLLanguageAdapter } from "@/core/codemirror/language/languages/sql/sql";
|
|
15
14
|
import { autoInstantiateAtom } from "@/core/config/config";
|
|
15
|
+
import { useAsyncData } from "@/hooks/useAsyncData";
|
|
16
16
|
import { LazyAnyLanguageCodeMirror } from "@/plugins/impl/code/LazyAnyLanguageCodeMirror";
|
|
17
17
|
import { useTheme } from "@/theme/useTheme";
|
|
18
18
|
import { copyToClipboard } from "@/utils/copy";
|
|
@@ -166,11 +166,27 @@ const COMPONENTS: Components = {
|
|
|
166
166
|
},
|
|
167
167
|
};
|
|
168
168
|
|
|
169
|
+
// Lazy-load the math plugin to keep katex (~264 KB) out of the critical path.
|
|
170
|
+
// The first render works without math; once loaded, it re-renders with math support.
|
|
171
|
+
let mathPluginCache: StreamdownProps["plugins"] | undefined;
|
|
172
|
+
const useMathPlugin = () => {
|
|
173
|
+
const { data: plugins } = useAsyncData(async () => {
|
|
174
|
+
if (mathPluginCache) {
|
|
175
|
+
return mathPluginCache;
|
|
176
|
+
}
|
|
177
|
+
const mod = await import("@streamdown/math");
|
|
178
|
+
mathPluginCache = { math: mod.math };
|
|
179
|
+
return mathPluginCache;
|
|
180
|
+
}, []);
|
|
181
|
+
return plugins;
|
|
182
|
+
};
|
|
183
|
+
|
|
169
184
|
export const MarkdownRenderer = memo(({ content }: { content: string }) => {
|
|
185
|
+
const plugins = useMathPlugin();
|
|
170
186
|
return (
|
|
171
187
|
<Streamdown
|
|
172
188
|
components={COMPONENTS}
|
|
173
|
-
plugins={
|
|
189
|
+
plugins={plugins}
|
|
174
190
|
className="mo-markdown-renderer"
|
|
175
191
|
>
|
|
176
192
|
{content}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
import { beforeEach, describe, expect, it } from "vitest";
|
|
3
3
|
import { variableName } from "@/__tests__/branded";
|
|
4
|
-
import type { DataTable } from "@/core/kernel/messages";
|
|
4
|
+
import type { DatabaseSchema, DataTable } from "@/core/kernel/messages";
|
|
5
5
|
import type { VariableName } from "@/core/variables/types";
|
|
6
6
|
import {
|
|
7
7
|
type DataSourceConnection,
|
|
@@ -209,6 +209,93 @@ describe("filtering data sources", () => {
|
|
|
209
209
|
});
|
|
210
210
|
});
|
|
211
211
|
|
|
212
|
+
describe("add schema list", () => {
|
|
213
|
+
const connections: DataSourceConnection[] = [
|
|
214
|
+
{
|
|
215
|
+
name: "conn1" as ConnectionName,
|
|
216
|
+
source: "sqlite",
|
|
217
|
+
display_name: "SQLite DB",
|
|
218
|
+
dialect: "sqlite",
|
|
219
|
+
databases: [
|
|
220
|
+
{
|
|
221
|
+
name: "db1",
|
|
222
|
+
schemas: [],
|
|
223
|
+
dialect: "sqlite",
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
];
|
|
228
|
+
|
|
229
|
+
// Helper function to add schema list
|
|
230
|
+
const addSchemaList = (
|
|
231
|
+
schemas: DatabaseSchema[],
|
|
232
|
+
engine: string,
|
|
233
|
+
database: string,
|
|
234
|
+
) => {
|
|
235
|
+
return reducer(baseState, {
|
|
236
|
+
type: "addSchemaList",
|
|
237
|
+
payload: {
|
|
238
|
+
schemas,
|
|
239
|
+
sqlSchemaContext: { engine, database },
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
let baseState: DataSourceState;
|
|
245
|
+
|
|
246
|
+
beforeEach(() => {
|
|
247
|
+
baseState = addConnection(connections, baseState);
|
|
248
|
+
expect(baseState.connectionsMap.size).toBe(defaultConnSize + 1);
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
it("adds schema list to a specific database", () => {
|
|
252
|
+
const schemaList: DatabaseSchema[] = [
|
|
253
|
+
{ name: "public", tables: [] },
|
|
254
|
+
{ name: "analytics", tables: [] },
|
|
255
|
+
];
|
|
256
|
+
const newState = addSchemaList(schemaList, "conn1", "db1");
|
|
257
|
+
|
|
258
|
+
const conn1 = newState.connectionsMap.get("conn1" as ConnectionName);
|
|
259
|
+
const db1 = conn1?.databases.find((db) => db.name === "db1");
|
|
260
|
+
expect(db1?.schemas).toEqual(schemaList);
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it("updates schema list for a database", () => {
|
|
264
|
+
const schemaList: DatabaseSchema[] = [
|
|
265
|
+
{ name: "public", tables: [] },
|
|
266
|
+
{ name: "analytics", tables: [] },
|
|
267
|
+
];
|
|
268
|
+
const newState = addSchemaList(schemaList, "conn1", "db1");
|
|
269
|
+
|
|
270
|
+
const conn1 = newState.connectionsMap.get("conn1" as ConnectionName);
|
|
271
|
+
const db1 = conn1?.databases.find((db) => db.name === "db1");
|
|
272
|
+
expect(db1?.schemas).toEqual(schemaList);
|
|
273
|
+
|
|
274
|
+
// update with new schema list
|
|
275
|
+
const newSchemaList: DatabaseSchema[] = [
|
|
276
|
+
{ name: "public", tables: [] },
|
|
277
|
+
{ name: "sales", tables: [] },
|
|
278
|
+
];
|
|
279
|
+
const updatedState = addSchemaList(newSchemaList, "conn1", "db1");
|
|
280
|
+
|
|
281
|
+
const newConn = updatedState.connectionsMap.get("conn1" as ConnectionName);
|
|
282
|
+
const newDb1 = newConn?.databases.find((db) => db.name === "db1");
|
|
283
|
+
expect(newDb1?.schemas).toEqual(newSchemaList);
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
it("does not add schema list if database does not exist", () => {
|
|
287
|
+
const schemaList: DatabaseSchema[] = [
|
|
288
|
+
{ name: "public", tables: [] },
|
|
289
|
+
{ name: "analytics", tables: [] },
|
|
290
|
+
];
|
|
291
|
+
const newState = addSchemaList(schemaList, "conn1", "non_existent_db");
|
|
292
|
+
|
|
293
|
+
const conn1 = newState.connectionsMap.get("conn1" as ConnectionName);
|
|
294
|
+
const db1 = conn1?.databases.find((db) => db.name === "db1");
|
|
295
|
+
expect(db1?.schemas.length).toBe(0);
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
|
|
212
299
|
describe("add table list", () => {
|
|
213
300
|
const connections: DataSourceConnection[] = [
|
|
214
301
|
{
|
|
@@ -5,6 +5,7 @@ import { isSchemaless } from "@/components/datasources/utils";
|
|
|
5
5
|
import { createReducerAndAtoms } from "@/utils/createReducer";
|
|
6
6
|
import { Logger } from "@/utils/Logger";
|
|
7
7
|
import type {
|
|
8
|
+
DatabaseSchema,
|
|
8
9
|
DataSourceConnection as DataSourceConnectionType,
|
|
9
10
|
DataTable,
|
|
10
11
|
} from "../kernel/messages";
|
|
@@ -43,6 +44,11 @@ export interface DataSourceState {
|
|
|
43
44
|
connectionsMap: ConnectionsMap;
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
export interface SQLSchemaContext {
|
|
48
|
+
engine: string;
|
|
49
|
+
database: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
46
52
|
export interface SQLTableContext {
|
|
47
53
|
engine: string;
|
|
48
54
|
database: string;
|
|
@@ -134,6 +140,44 @@ const {
|
|
|
134
140
|
};
|
|
135
141
|
},
|
|
136
142
|
|
|
143
|
+
// Add schema list to a specific database in a connection
|
|
144
|
+
addSchemaList: (
|
|
145
|
+
state: DataSourceState,
|
|
146
|
+
opts: {
|
|
147
|
+
schemas: DatabaseSchema[];
|
|
148
|
+
sqlSchemaContext: SQLSchemaContext;
|
|
149
|
+
},
|
|
150
|
+
): DataSourceState => {
|
|
151
|
+
const { schemas, sqlSchemaContext } = opts;
|
|
152
|
+
const { connectionsMap, latestEngineSelected } = state;
|
|
153
|
+
const connectionName = sqlSchemaContext.engine as ConnectionName;
|
|
154
|
+
const conn = connectionsMap.get(connectionName);
|
|
155
|
+
|
|
156
|
+
if (!conn) {
|
|
157
|
+
return state;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const newMap = new Map(connectionsMap);
|
|
161
|
+
const newConn: DataSourceConnection = {
|
|
162
|
+
...conn,
|
|
163
|
+
databases: conn.databases.map((db) => {
|
|
164
|
+
if (db.name !== sqlSchemaContext.database) {
|
|
165
|
+
return db;
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
...db,
|
|
169
|
+
schemas: schemas,
|
|
170
|
+
};
|
|
171
|
+
}),
|
|
172
|
+
};
|
|
173
|
+
newMap.set(connectionName, newConn);
|
|
174
|
+
|
|
175
|
+
return {
|
|
176
|
+
latestEngineSelected: latestEngineSelected,
|
|
177
|
+
connectionsMap: newMap,
|
|
178
|
+
};
|
|
179
|
+
},
|
|
180
|
+
|
|
137
181
|
// Add table list to a specific schema in a connection
|
|
138
182
|
addTableList: (
|
|
139
183
|
state: DataSourceState,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
import type {
|
|
3
|
+
SQLSchemaListPreview,
|
|
3
4
|
SQLTableListPreview,
|
|
4
5
|
SQLTablePreview,
|
|
5
6
|
ValidateSQLResult,
|
|
@@ -8,6 +9,7 @@ import { CachingRequestRegistry } from "../network/CachingRequestRegistry";
|
|
|
8
9
|
import { DeferredRequestRegistry } from "../network/DeferredRequestRegistry";
|
|
9
10
|
import { getRequestClient } from "../network/requests";
|
|
10
11
|
import type {
|
|
12
|
+
ListSQLSchemasRequest,
|
|
11
13
|
ListSQLTablesRequest,
|
|
12
14
|
PreviewSQLTableRequest,
|
|
13
15
|
ValidateSQLRequest,
|
|
@@ -28,6 +30,17 @@ export const PreviewSQLTable = new DeferredRequestRegistry<
|
|
|
28
30
|
});
|
|
29
31
|
});
|
|
30
32
|
|
|
33
|
+
export const PreviewSQLSchemaList = new DeferredRequestRegistry<
|
|
34
|
+
Omit<ListSQLSchemasRequest, "requestId">,
|
|
35
|
+
SQLSchemaListPreview
|
|
36
|
+
>("sql-schema-list-preview", async (requestId, req) => {
|
|
37
|
+
const client = getRequestClient();
|
|
38
|
+
await client.previewSQLSchemaList({
|
|
39
|
+
requestId: requestId,
|
|
40
|
+
...req,
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
|
|
31
44
|
export const PreviewSQLTableList = new DeferredRequestRegistry<
|
|
32
45
|
Omit<ListSQLTablesRequest, "requestId">,
|
|
33
46
|
SQLTableListPreview
|
|
@@ -169,6 +169,7 @@ export class IslandsPyodideBridge implements RunRequests, EditRequests {
|
|
|
169
169
|
previewDatasetColumn = throwNotImplemented;
|
|
170
170
|
previewSQLTable = throwNotImplemented;
|
|
171
171
|
previewSQLTableList = throwNotImplemented;
|
|
172
|
+
previewSQLSchemaList = throwNotImplemented;
|
|
172
173
|
previewDataSourceConnection = throwNotImplemented;
|
|
173
174
|
validateSQL = throwNotImplemented;
|
|
174
175
|
openFile = throwNotImplemented;
|
package/src/core/islands/main.ts
CHANGED
|
@@ -121,6 +121,7 @@ export async function initialize() {
|
|
|
121
121
|
case "data-column-preview":
|
|
122
122
|
case "sql-table-preview":
|
|
123
123
|
case "sql-table-list-preview":
|
|
124
|
+
case "sql-schema-list-preview":
|
|
124
125
|
case "datasets":
|
|
125
126
|
case "data-source-connections":
|
|
126
127
|
case "validate-sql-result":
|
|
@@ -41,6 +41,8 @@ export type DataColumnPreview = NotificationMessageData<"data-column-preview">;
|
|
|
41
41
|
export type SQLTablePreview = NotificationMessageData<"sql-table-preview">;
|
|
42
42
|
export type SQLTableListPreview =
|
|
43
43
|
NotificationMessageData<"sql-table-list-preview">;
|
|
44
|
+
export type SQLSchemaListPreview =
|
|
45
|
+
NotificationMessageData<"sql-schema-list-preview">;
|
|
44
46
|
export type ValidateSQLResult = NotificationMessageData<"validate-sql-result">;
|
|
45
47
|
export type SecretKeysResult = NotificationMessageData<"secret-keys-result">;
|
|
46
48
|
export type StartupLogs = NotificationMessageData<"startup-logs">;
|
|
@@ -112,6 +112,7 @@ const ACTIONS: Record<keyof AllRequests, Action> = {
|
|
|
112
112
|
previewDatasetColumn: "waitForConnectionOpen",
|
|
113
113
|
previewSQLTable: "waitForConnectionOpen",
|
|
114
114
|
previewSQLTableList: "waitForConnectionOpen",
|
|
115
|
+
previewSQLSchemaList: "waitForConnectionOpen",
|
|
115
116
|
previewDataSourceConnection: "waitForConnectionOpen",
|
|
116
117
|
validateSQL: "waitForConnectionOpen",
|
|
117
118
|
listStorageEntries: "waitForConnectionOpen",
|
|
@@ -244,6 +244,14 @@ export function createNetworkRequests(): EditRequests & RunRequests {
|
|
|
244
244
|
})
|
|
245
245
|
.then(handleResponseReturnNull);
|
|
246
246
|
},
|
|
247
|
+
previewSQLSchemaList: (request) => {
|
|
248
|
+
return getClient()
|
|
249
|
+
.POST("/api/datasources/preview_sql_schema_list", {
|
|
250
|
+
body: request,
|
|
251
|
+
params: getParams(),
|
|
252
|
+
})
|
|
253
|
+
.then(handleResponseReturnNull);
|
|
254
|
+
},
|
|
247
255
|
previewDataSourceConnection: (request) => {
|
|
248
256
|
return getClient()
|
|
249
257
|
.POST("/api/datasources/preview_datasource_connection", {
|
|
@@ -57,6 +57,7 @@ export function createStaticRequests(): EditRequests & RunRequests {
|
|
|
57
57
|
previewDatasetColumn: throwNotInEditMode,
|
|
58
58
|
previewSQLTable: throwNotInEditMode,
|
|
59
59
|
previewSQLTableList: throwNotInEditMode,
|
|
60
|
+
previewSQLSchemaList: throwNotInEditMode,
|
|
60
61
|
previewDataSourceConnection: throwNotInEditMode,
|
|
61
62
|
validateSQL: throwNotInEditMode,
|
|
62
63
|
openFile: throwNotInEditMode,
|
|
@@ -42,6 +42,7 @@ export function createErrorToastingRequests(
|
|
|
42
42
|
previewDatasetColumn: "Failed to fetch data sources",
|
|
43
43
|
previewSQLTable: "Failed to fetch SQL table",
|
|
44
44
|
previewSQLTableList: "Failed to fetch SQL table list",
|
|
45
|
+
previewSQLSchemaList: "Failed to fetch SQL schema list",
|
|
45
46
|
previewDataSourceConnection: "Failed to preview data source connection",
|
|
46
47
|
validateSQL: "Failed to validate SQL",
|
|
47
48
|
openFile: "Failed to open file",
|
|
@@ -59,6 +59,7 @@ export type PreviewDatasetColumnRequest =
|
|
|
59
59
|
schemas["PreviewDatasetColumnRequest"];
|
|
60
60
|
export type PreviewSQLTableRequest = schemas["PreviewSQLTableRequest"];
|
|
61
61
|
export type ListSQLTablesRequest = schemas["ListSQLTablesRequest"];
|
|
62
|
+
export type ListSQLSchemasRequest = schemas["ListSQLSchemasRequest"];
|
|
62
63
|
export type ListDataSourceConnectionRequest =
|
|
63
64
|
schemas["ListDataSourceConnectionRequest"];
|
|
64
65
|
export type ValidateSQLRequest = schemas["ValidateSQLRequest"];
|
|
@@ -151,6 +152,7 @@ export interface EditRequests {
|
|
|
151
152
|
previewDatasetColumn: (request: PreviewDatasetColumnRequest) => Promise<null>;
|
|
152
153
|
previewSQLTable: (request: PreviewSQLTableRequest) => Promise<null>;
|
|
153
154
|
previewSQLTableList: (request: ListSQLTablesRequest) => Promise<null>;
|
|
155
|
+
previewSQLSchemaList: (request: ListSQLSchemasRequest) => Promise<null>;
|
|
154
156
|
previewDataSourceConnection: (
|
|
155
157
|
request: ListDataSourceConnectionRequest,
|
|
156
158
|
) => Promise<null>;
|
package/src/core/wasm/bridge.ts
CHANGED
|
@@ -523,6 +523,16 @@ export class PyodideBridge implements RunRequests, EditRequests {
|
|
|
523
523
|
return null;
|
|
524
524
|
};
|
|
525
525
|
|
|
526
|
+
previewSQLSchemaList: EditRequests["previewSQLSchemaList"] = async (
|
|
527
|
+
request,
|
|
528
|
+
) => {
|
|
529
|
+
await this.putControlRequest({
|
|
530
|
+
type: "list-sql-schemas",
|
|
531
|
+
...request,
|
|
532
|
+
});
|
|
533
|
+
return null;
|
|
534
|
+
};
|
|
535
|
+
|
|
526
536
|
previewDataSourceConnection: EditRequests["previewDataSourceConnection"] =
|
|
527
537
|
async (request) => {
|
|
528
538
|
await this.putControlRequest({
|
|
@@ -37,6 +37,7 @@ import { useSetAppConfig } from "../config/config";
|
|
|
37
37
|
import { useDataSourceActions } from "../datasets/data-source-connections";
|
|
38
38
|
import type { ConnectionName } from "../datasets/engines";
|
|
39
39
|
import {
|
|
40
|
+
PreviewSQLSchemaList,
|
|
40
41
|
PreviewSQLTable,
|
|
41
42
|
PreviewSQLTableList,
|
|
42
43
|
ValidateSQL,
|
|
@@ -288,6 +289,9 @@ export function useMarimoKernelConnection(opts: {
|
|
|
288
289
|
case "sql-table-list-preview":
|
|
289
290
|
PreviewSQLTableList.resolve(msg.data.request_id, msg.data);
|
|
290
291
|
return;
|
|
292
|
+
case "sql-schema-list-preview":
|
|
293
|
+
PreviewSQLSchemaList.resolve(msg.data.request_id, msg.data);
|
|
294
|
+
return;
|
|
291
295
|
case "validate-sql-result":
|
|
292
296
|
ValidateSQL.resolve(msg.data.request_id as RequestId, msg.data);
|
|
293
297
|
return;
|
package/dist/apl-Bw2VYJky.js
DELETED
package/dist/asn1-Ch439-Sl.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import "./purify.es-Co_dANLh.js";
|
|
2
|
-
import "./chunk-S3R3BYOJ-CQOhwRBS.js";
|
|
3
|
-
import { r as __name } from "./src-Bf2iLOlr.js";
|
|
4
|
-
import "./chunk-ABZYJK2D-DFnIGLNd.js";
|
|
5
|
-
import "./chunk-HN2XXSSU-E3n-Ys7Z.js";
|
|
6
|
-
import "./chunk-CVBHYZKI-B_c5YBcW.js";
|
|
7
|
-
import "./chunk-ATLVNIR6-4HgRPLgX.js";
|
|
8
|
-
import "./dist-BGdYVvOu.js";
|
|
9
|
-
import "./chunk-JA3XYJ7Z-B9-EWihm.js";
|
|
10
|
-
import "./chunk-JZLCHNYA-CIx__-bR.js";
|
|
11
|
-
import "./chunk-QXUST7PY-CaiIvoL5.js";
|
|
12
|
-
import "./chunk-N4CR4FBY-Cl9KH_W1.js";
|
|
13
|
-
import "./chunk-FMBD7UC4-B34QcQBj.js";
|
|
14
|
-
import "./chunk-55IACEB6-hJraQgx2.js";
|
|
15
|
-
import "./chunk-QN33PNHL-DV6ID85v.js";
|
|
16
|
-
import { i as styles_default, n as classDiagram_default, r as classRenderer_v3_unified_default, t as ClassDB } from "./chunk-B4BG7PRW-Bp8FDZTb.js";
|
|
17
|
-
var diagram = {
|
|
18
|
-
parser: classDiagram_default,
|
|
19
|
-
get db() {
|
|
20
|
-
return new ClassDB();
|
|
21
|
-
},
|
|
22
|
-
renderer: classRenderer_v3_unified_default,
|
|
23
|
-
styles: styles_default,
|
|
24
|
-
init: /* @__PURE__ */ __name((e) => {
|
|
25
|
-
e.class || (e.class = {}), e.class.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
|
|
26
|
-
}, "init")
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
diagram
|
|
30
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import "./purify.es-Co_dANLh.js";
|
|
2
|
-
import "./chunk-S3R3BYOJ-CQOhwRBS.js";
|
|
3
|
-
import { r as __name } from "./src-Bf2iLOlr.js";
|
|
4
|
-
import "./chunk-ABZYJK2D-DFnIGLNd.js";
|
|
5
|
-
import "./chunk-HN2XXSSU-E3n-Ys7Z.js";
|
|
6
|
-
import "./chunk-CVBHYZKI-B_c5YBcW.js";
|
|
7
|
-
import "./chunk-ATLVNIR6-4HgRPLgX.js";
|
|
8
|
-
import "./dist-BGdYVvOu.js";
|
|
9
|
-
import "./chunk-JA3XYJ7Z-B9-EWihm.js";
|
|
10
|
-
import "./chunk-JZLCHNYA-CIx__-bR.js";
|
|
11
|
-
import "./chunk-QXUST7PY-CaiIvoL5.js";
|
|
12
|
-
import "./chunk-N4CR4FBY-Cl9KH_W1.js";
|
|
13
|
-
import "./chunk-FMBD7UC4-B34QcQBj.js";
|
|
14
|
-
import "./chunk-55IACEB6-hJraQgx2.js";
|
|
15
|
-
import "./chunk-QN33PNHL-DV6ID85v.js";
|
|
16
|
-
import { i as styles_default, n as classDiagram_default, r as classRenderer_v3_unified_default, t as ClassDB } from "./chunk-B4BG7PRW-Bp8FDZTb.js";
|
|
17
|
-
var diagram = {
|
|
18
|
-
parser: classDiagram_default,
|
|
19
|
-
get db() {
|
|
20
|
-
return new ClassDB();
|
|
21
|
-
},
|
|
22
|
-
renderer: classRenderer_v3_unified_default,
|
|
23
|
-
styles: styles_default,
|
|
24
|
-
init: /* @__PURE__ */ __name((e) => {
|
|
25
|
-
e.class || (e.class = {}), e.class.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
|
|
26
|
-
}, "init")
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
diagram
|
|
30
|
-
};
|
package/dist/clojure-Dlp86hGI.js
DELETED