@marimo-team/frontend 0.23.11-dev27 → 0.23.11-dev29
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-C52PsPYN.js → CellStatus-DG0T7bhO.js} +1 -1
- package/dist/assets/{ImperativeModal-CEtvKaPt.js → ImperativeModal-Da0ki2vE.js} +1 -1
- package/dist/assets/{JsonOutput-e5KwGs-t.js → JsonOutput-DJAO0jFq.js} +2 -2
- package/dist/assets/{LazyAnyLanguageCodeMirror-Cjh82vPC.js → LazyAnyLanguageCodeMirror-BzyBEXmN.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-tWmQZh0O.js → MarimoErrorOutput-s6Xzn9tI.js} +1 -1
- package/dist/assets/{RSPContexts-DGcE_dt-.js → RSPContexts-CXtxUQv0.js} +1 -1
- package/dist/assets/{RenderHTML-CdzAncjW.js → RenderHTML-CpnOdUFq.js} +1 -1
- package/dist/assets/{RunButton-D1RSmpE5.js → RunButton-CzYEYNMZ.js} +1 -1
- package/dist/assets/{add-cell-with-ai-r88BQwnl.js → add-cell-with-ai-DDmDEBpR.js} +1 -1
- package/dist/assets/{add-connection-dialog-BqArtkaF.js → add-connection-dialog-CM_kt7C2.js} +1 -1
- package/dist/assets/{agent-panel-BFnSCM0u.js → agent-panel-4zQEW_a7.js} +1 -1
- package/dist/assets/{ai-model-dropdown-CKfMxi81.js → ai-model-dropdown-B85JK7Bd.js} +1 -1
- package/dist/assets/{any-language-editor-BR8fqP2S.js → any-language-editor-wjCa9vg4.js} +1 -1
- package/dist/assets/{app-config-button-DgAKqCJQ.js → app-config-button-DiMYoaj_.js} +1 -1
- package/dist/assets/{cache-panel-BojhFrT4.js → cache-panel-DBDBad7n.js} +1 -1
- package/dist/assets/{cell-editor-vk3YgY2w.js → cell-editor-BdOnyLVO.js} +1 -1
- package/dist/assets/{cell-link-BBWAKZ--.js → cell-link-pz786Lch.js} +1 -1
- package/dist/assets/{cells-D3EcEVTz.js → cells-B7nz4LNo.js} +1 -1
- package/dist/assets/chat-display-DvmXfrjc.js +1 -0
- package/dist/assets/chat-panel-BKRoCuOx.js +3 -0
- package/dist/assets/{chat-ui-LkKFatRU.js → chat-ui-Cn47YAI0.js} +4 -4
- package/dist/assets/{column-preview-93mkKGs1.js → column-preview-Dh5fJBal.js} +1 -1
- package/dist/assets/{command-Dzjey1r-.js → command-hJoUrc2W.js} +1 -1
- package/dist/assets/{command-palette-BIVH2C6k.js → command-palette-DARFAIVZ.js} +1 -1
- package/dist/assets/{common-Dc5W1wzl.js → common-snHJqSm6.js} +1 -1
- package/dist/assets/{components-CdfRUEBW.js → components-DkwTLclO.js} +1 -1
- package/dist/assets/{copy-icon-C8Cq0-V0.js → copy-icon-BFMtxrRP.js} +1 -1
- package/dist/assets/{datasource-BtJgopUR.js → datasource-D1L4FCps.js} +1 -1
- package/dist/assets/{dependency-graph-panel-TQ0py-Kw.js → dependency-graph-panel-BU50Zzq7.js} +1 -1
- package/dist/assets/{documentation-panel-LHZLKLAd.js → documentation-panel-BoOEY1b9.js} +1 -1
- package/dist/assets/{download-CYrhtDVp.js → download-D4lN2MwZ.js} +1 -1
- package/dist/assets/{edit-page-CdXZP-AI.js → edit-page-Dx6LoSdu.js} +4 -4
- package/dist/assets/{error-panel-CxcsWY8O.js → error-panel-CAP9Dd3X.js} +1 -1
- package/dist/assets/{field-DIHN6mSK.js → field-CDo_rvhD.js} +1 -1
- package/dist/assets/{file-explorer-panel-Ix3_ncoS.js → file-explorer-panel-Cwo8ZKc7.js} +1 -1
- package/dist/assets/{file-icons-CM-BO4Tc.js → file-icons-BAedxhF8.js} +1 -1
- package/dist/assets/{file-name-input-JcnL59-O.js → file-name-input-C4QhsTrc.js} +1 -1
- package/dist/assets/{floating-outline-DRRP5I8p.js → floating-outline-CbZinm9T.js} +1 -1
- package/dist/assets/{focus-EuWjxeHB.js → focus-BZmaIt_1.js} +1 -1
- package/dist/assets/{form-BAAziqSH.js → form-F1rvnx2z.js} +1 -1
- package/dist/assets/{gallery-page-BhgvTlLQ.js → gallery-page-CTs73lBw.js} +1 -1
- package/dist/assets/{glide-data-editor-CfPYm5Mc.js → glide-data-editor-DYfHd9aY.js} +1 -1
- package/dist/assets/{home-page-CV0Wger5.js → home-page-C6oKXYUU.js} +1 -1
- package/dist/assets/{hooks-CA6IH5Ny.js → hooks-C7xnEmmf.js} +1 -1
- package/dist/assets/{html-to-image-BMbVLGQG.js → html-to-image-C4EfBRTz.js} +1 -1
- package/dist/assets/{index-DUE0RSxW.js → index-sI3TGmYS.js} +4 -4
- package/dist/assets/{kiosk-mode-CHJ9OWcf.js → kiosk-mode-Ccj0LcCU.js} +1 -1
- package/dist/assets/{layout-Cpt95A_u.js → layout-B3JZ0wo2.js} +3 -3
- package/dist/assets/{logs-panel-DqMjHSxY.js → logs-panel-CHHx-jst.js} +1 -1
- package/dist/assets/{markdown-renderer-Ctc_BAzL.js → markdown-renderer-qOz3nDtd.js} +1 -1
- package/dist/assets/{name-cell-input-BUA6sZsk.js → name-cell-input-CQjKlesS.js} +1 -1
- package/dist/assets/{outline-panel-BTxBvW3K.js → outline-panel-CXXWnE52.js} +1 -1
- package/dist/assets/{packages-panel-CH6Jiyqt.js → packages-panel-BCgvituR.js} +1 -1
- package/dist/assets/{pair-with-agent-modal-CuwM9PX2.js → pair-with-agent-modal-BqOdnjR7.js} +1 -1
- package/dist/assets/{panels-C8IhLmTn.js → panels-ByU2RchZ.js} +1 -1
- package/dist/assets/{process-output-BD4gjuXh.js → process-output-VB_qPayj.js} +1 -1
- package/dist/assets/{radio-group-D-Tbwbga.js → radio-group-mrUpeS-s.js} +1 -1
- package/dist/assets/{readonly-python-code-CD37Ktr_.js → readonly-python-code-BcwZXLSu.js} +1 -1
- package/dist/assets/{request-registry-D6yN7WH-.js → request-registry-unC7eRnq.js} +1 -1
- package/dist/assets/{reveal-component-BaXkFbob.js → reveal-component-JI9duvxo.js} +1 -1
- package/dist/assets/{run-page-N0uXBlRc.js → run-page-DOm8XZ9M.js} +1 -1
- package/dist/assets/{scratchpad-panel-B5qpYDCP.js → scratchpad-panel-MTv_j3Jw.js} +1 -1
- package/dist/assets/{secrets-panel-DW36Nxci.js → secrets-panel-89_YFhgS.js} +1 -1
- package/dist/assets/{session-panel-BQbOiXTu.js → session-panel-TdcBmmLZ.js} +1 -1
- package/dist/assets/{snippets-panel-ngIQdZN-.js → snippets-panel-BdQrDQG8.js} +1 -1
- package/dist/assets/{state-a26U8Amw.js → state-B37Pwlpy.js} +1 -1
- package/dist/assets/{state-XBSJaDlj.js → state-CKbrzJT-.js} +1 -1
- package/dist/assets/{state-lfBdh7UT.js → state-ClRPM6Rk.js} +1 -1
- package/dist/assets/{terminal-zt3j3xY6.js → terminal-DlRITrt2.js} +1 -1
- package/dist/assets/{textarea-CIkM9ejr.js → textarea-BWLmfOrN.js} +1 -1
- package/dist/assets/{tracing-CvzDXfBi.js → tracing-BaCufmIv.js} +1 -1
- package/dist/assets/{tracing-panel-BSIiB4nQ.js → tracing-panel-DeB3GQ77.js} +2 -2
- package/dist/assets/{tree-actions-DOImIbet.js → tree-actions-fO1R5Ud_.js} +1 -1
- package/dist/assets/{useCellActionButton-D_GS6qfF.js → useCellActionButton-DfYBCG8b.js} +1 -1
- package/dist/assets/{useDeleteCell-R0cnbneF.js → useDeleteCell-BL1sT2ei.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-1hFXraYl.js → useDependencyPanelTab-BpMHNBAO.js} +1 -1
- package/dist/assets/{useNotebookActions-CIfVqZq5.js → useNotebookActions-zmdBPNp-.js} +1 -1
- package/dist/assets/{useRunCells-DnS-CoD3.js → useRunCells-D-GyPuRn.js} +1 -1
- package/dist/assets/{useSplitCell-BZ8UVfk6.js → useSplitCell-DkyEaJF7.js} +1 -1
- package/dist/assets/{write-secret-modal-DONzgyYh.js → write-secret-modal-BEsGwBC8.js} +1 -1
- package/dist/index.html +47 -47
- package/package.json +1 -1
- package/src/components/chat/chat-display.tsx +5 -0
- package/src/components/chat/chat-panel.tsx +4 -0
- package/src/components/chat/tool-call/tool-call-view.tsx +4 -0
- package/src/components/chat/tool-call/tool-history-row.tsx +26 -5
- package/src/components/data-table/TableTopBar.tsx +4 -4
- package/src/components/data-table/__tests__/data-table.test.tsx +28 -0
- package/src/components/data-table/data-table.tsx +3 -3
- package/src/plugins/impl/DataTablePlugin.tsx +4 -5
- package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +1 -1
- package/src/plugins/impl/chat/chat-ui.tsx +1 -0
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -1
- package/dist/assets/chat-display-C9WoxE6U.js +0 -1
- package/dist/assets/chat-panel-CFM1k9PV.js +0 -3
- /package/dist/assets/{DeferredRequestRegistry-CiquRdvU.js → DeferredRequestRegistry-EP9ZArpv.js} +0 -0
- /package/dist/assets/{clipboard-paste-Bvk41HSX.js → clipboard-paste-CXof_R04.js} +0 -0
- /package/dist/assets/{code-xml-CaRdRiek.js → code-xml-tqeFGeKJ.js} +0 -0
- /package/dist/assets/{copy-CFO636Td.js → copy-C6tO3NDV.js} +0 -0
- /package/dist/assets/{database-zap-CO_HxsuW.js → database-zap-DpKMaYZb.js} +0 -0
- /package/dist/assets/{ellipsis-iqVcpkRT.js → ellipsis-DesLDR9w.js} +0 -0
- /package/dist/assets/{external-link-mfK38Tpg.js → external-link-CRubBjqK.js} +0 -0
- /package/dist/assets/{eye-off-6RDlHoCz.js → eye-off-CFdFJ5Ma.js} +0 -0
- /package/dist/assets/{file-ZPWSptQF.js → file-CLyu7PSP.js} +0 -0
- /package/dist/assets/{file-headphone-D2bGq0xX.js → file-headphone-CY5S3y3b.js} +0 -0
- /package/dist/assets/{github-BZsqHbeC.js → github-CqonmEC7.js} +0 -0
- /package/dist/assets/{house-DTijHETb.js → house-DkdBWh44.js} +0 -0
- /package/dist/assets/{image-CzV694oU.js → image-jhXeQEgs.js} +0 -0
- /package/dist/assets/{input-DiAad2nt.js → input-BpT1_NFw.js} +0 -0
- /package/dist/assets/{link-D215MpkN.js → link-My4Pey3q.js} +0 -0
- /package/dist/assets/{message-circle-DzPHfj35.js → message-circle-D_YIPPZo.js} +0 -0
- /package/dist/assets/{package-Cxwiscky.js → package-BoMcg6sy.js} +0 -0
- /package/dist/assets/{plus-Dvg5FyTi.js → plus-CExKUszm.js} +0 -0
- /package/dist/assets/{refresh-ccw-AYso5mC6.js → refresh-ccw-CUkO1Vlo.js} +0 -0
- /package/dist/assets/{refresh-cw-hZ_ibJIl.js → refresh-cw-DcEasnos.js} +0 -0
- /package/dist/assets/{rotate-ccw-ChZ6LXqX.js → rotate-ccw-CBXqO1Fd.js} +0 -0
- /package/dist/assets/{save-BtZpvX_3.js → save-CGxzAyve.js} +0 -0
- /package/dist/assets/{settings-CP-IXCzQ.js → settings-Cn43l_vx.js} +0 -0
- /package/dist/assets/{spinner-BlJOg2gb.js → spinner-DTBVbtl-.js} +0 -0
- /package/dist/assets/{types-D9gLS68B.js → types-xF5uWODg.js} +0 -0
- /package/dist/assets/{youtube-DER9xpF0.js → youtube-B8SvzIo0.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as V}from"./chunk-LvLJmgfZ.js";import{t as B}from"./react-Bj1aDYRI.js";import{t as G}from"./compiler-runtime-B3qBwwSJ.js";import{t as H}from"./jsx-runtime-PbYoItBR.js";import{c as I,i as J,n as O,s as Q,t as U}from"./select-sS-2VQvj.js";import{t as P}from"./label-BbRibkug.js";import{t as W}from"./button-Db07tdz7.js";import{r as X}from"./requests-KshNNAOp.js";import{r as D}from"./input-
|
|
1
|
+
import{s as V}from"./chunk-LvLJmgfZ.js";import{t as B}from"./react-Bj1aDYRI.js";import{t as G}from"./compiler-runtime-B3qBwwSJ.js";import{t as H}from"./jsx-runtime-PbYoItBR.js";import{c as I,i as J,n as O,s as Q,t as U}from"./select-sS-2VQvj.js";import{t as P}from"./label-BbRibkug.js";import{t as W}from"./button-Db07tdz7.js";import{r as X}from"./requests-KshNNAOp.js";import{r as D}from"./input-BpT1_NFw.js";import{t as E}from"./use-toast-BH8bU9Xf.js";import{a as Z,c as $,i as ee,n as te,r as re}from"./dialog-CNmqslzW.js";import{t as ae}from"./links-DK7te6sJ.js";import{r as L}from"./field-CDo_rvhD.js";var oe=G(),T=V(B(),1),t=V(H(),1);function ne(a){return a.toSorted((e,r)=>e.provider==="env"?1:r.provider==="env"?-1:0)}const le=a=>{let e=(0,oe.c)(43),{providerNames:r,onClose:A,onSuccess:F}=a,{writeSecret:Y}=X(),[o,M]=T.useState(""),[l,R]=T.useState(""),[n,z]=T.useState(r[0]),g;e[0]!==o||e[1]!==n||e[2]!==F||e[3]!==l||e[4]!==Y?(g=async i=>{if(i.preventDefault(),!n){E({title:"Error",description:"No location selected for the secret.",variant:"danger"});return}if(!o||!l||!n){E({title:"Error",description:"Please fill in all fields.",variant:"danger"});return}try{await Y({key:o,value:l,provider:"dotenv",name:n}),E({title:"Secret created",description:"The secret has been created successfully."}),F(o)}catch{E({title:"Error",description:"Failed to create secret. Please try again.",variant:"danger"})}},e[0]=o,e[1]=n,e[2]=F,e[3]=l,e[4]=Y,e[5]=g):g=e[5];let q=g,j;e[6]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsxs)(Z,{children:[(0,t.jsx)($,{children:"Add Secret"}),(0,t.jsx)(re,{children:"Add a new secret to your environment variables."})]}),e[6]=j):j=e[6];let y;e[7]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)(P,{htmlFor:"key",children:"Key"}),e[7]=y):y=e[7];let S;e[8]===Symbol.for("react.memo_cache_sentinel")?(S=i=>{M(ie(i.target.value))},e[8]=S):S=e[8];let s;e[9]===o?s=e[10]:(s=(0,t.jsxs)("div",{className:"grid gap-2",children:[y,(0,t.jsx)(D,{id:"key",value:o,onChange:S,placeholder:"MY_SECRET_KEY",required:!0})]}),e[9]=o,e[10]=s);let _;e[11]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(P,{htmlFor:"value",children:"Value"}),e[11]=_):_=e[11];let b;e[12]===Symbol.for("react.memo_cache_sentinel")?(b=i=>R(i.target.value),e[12]=b):b=e[12];let c;e[13]===l?c=e[14]:(c=(0,t.jsx)(D,{id:"value",type:"password",value:l,onChange:b,required:!0,autoComplete:"off"}),e[13]=l,e[14]=c);let C;e[15]===Symbol.for("react.memo_cache_sentinel")?(C=se()&&(0,t.jsx)(L,{children:"Note: You are sending this key over http."}),e[15]=C):C=e[15];let d;e[16]===c?d=e[17]:(d=(0,t.jsxs)("div",{className:"grid gap-2",children:[_,c,C]}),e[16]=c,e[17]=d);let N;e[18]===Symbol.for("react.memo_cache_sentinel")?(N=(0,t.jsx)(P,{htmlFor:"location",children:"Location"}),e[18]=N):N=e[18];let m;e[19]===r.length?m=e[20]:(m=r.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No dotenv locations configured."}),e[19]=r.length,e[20]=m);let h;e[21]!==n||e[22]!==r?(h=r.length>0&&(0,t.jsxs)(U,{value:n,onValueChange:i=>z(i),children:[(0,t.jsx)(Q,{children:(0,t.jsx)(I,{placeholder:"Select a provider"})}),(0,t.jsx)(O,{children:r.map(ce)})]}),e[21]=n,e[22]=r,e[23]=h):h=e[23];let k;e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,t.jsxs)(L,{children:["You can configure the location by setting the"," ",(0,t.jsx)(ae,{href:"https://links.marimo.app/dotenv",children:"dotenv configuration"}),"."]}),e[24]=k):k=e[24];let p;e[25]!==m||e[26]!==h?(p=(0,t.jsxs)("div",{className:"grid gap-2",children:[N,m,h,k]}),e[25]=m,e[26]=h,e[27]=p):p=e[27];let u;e[28]!==d||e[29]!==p||e[30]!==s?(u=(0,t.jsxs)("div",{className:"grid gap-4 py-4",children:[s,d,p]}),e[28]=d,e[29]=p,e[30]=s,e[31]=u):u=e[31];let f;e[32]===A?f=e[33]:(f=(0,t.jsx)(W,{type:"button",variant:"outline",onClick:A,children:"Cancel"}),e[32]=A,e[33]=f);let K=!o||!l||!n,v;e[34]===K?v=e[35]:(v=(0,t.jsx)(W,{type:"submit",disabled:K,children:"Add Secret"}),e[34]=K,e[35]=v);let x;e[36]!==f||e[37]!==v?(x=(0,t.jsxs)(ee,{children:[f,v]}),e[36]=f,e[37]=v,e[38]=x):x=e[38];let w;return e[39]!==q||e[40]!==u||e[41]!==x?(w=(0,t.jsx)(te,{children:(0,t.jsxs)("form",{onSubmit:q,children:[j,u,x]})}),e[39]=q,e[40]=u,e[41]=x,e[42]=w):w=e[42],w};function ie(a){return a.replaceAll(/\W/g,"_")}function se(){return window.location.href.startsWith("http://")}function ce(a){return(0,t.jsx)(J,{value:a,children:a},a)}export{ne as n,le as t};
|
package/dist/index.html
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
|
|
67
67
|
<!-- /TODO -->
|
|
68
68
|
<title>{{ title }}</title>
|
|
69
|
-
<script type="module" crossorigin src="./assets/index-
|
|
69
|
+
<script type="module" crossorigin src="./assets/index-sI3TGmYS.js"></script>
|
|
70
70
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-y72bE5iF.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<link rel="modulepreload" crossorigin href="./assets/utils-BGFUZat2.js">
|
|
102
102
|
<link rel="modulepreload" crossorigin href="./assets/Deferred-CfyqLOPG.js">
|
|
103
103
|
<link rel="modulepreload" crossorigin href="./assets/uuid-BukULOeS.js">
|
|
104
|
-
<link rel="modulepreload" crossorigin href="./assets/DeferredRequestRegistry-
|
|
104
|
+
<link rel="modulepreload" crossorigin href="./assets/DeferredRequestRegistry-EP9ZArpv.js">
|
|
105
105
|
<link rel="modulepreload" crossorigin href="./assets/constants-B9JJ72XE.js">
|
|
106
106
|
<link rel="modulepreload" crossorigin href="./assets/session-DF0gSADo.js">
|
|
107
107
|
<link rel="modulepreload" crossorigin href="./assets/config-B00Uc1a3.js">
|
|
@@ -131,9 +131,9 @@
|
|
|
131
131
|
<link rel="modulepreload" crossorigin href="./assets/isSymbol-BT6B8Bon.js">
|
|
132
132
|
<link rel="modulepreload" crossorigin href="./assets/now-CsYTPAhW.js">
|
|
133
133
|
<link rel="modulepreload" crossorigin href="./assets/debounce-OiXznToA.js">
|
|
134
|
-
<link rel="modulepreload" crossorigin href="./assets/database-zap-
|
|
134
|
+
<link rel="modulepreload" crossorigin href="./assets/database-zap-DpKMaYZb.js">
|
|
135
135
|
<link rel="modulepreload" crossorigin href="./assets/main-DmhaVp6Y.js">
|
|
136
|
-
<link rel="modulepreload" crossorigin href="./assets/cells-
|
|
136
|
+
<link rel="modulepreload" crossorigin href="./assets/cells-B7nz4LNo.js">
|
|
137
137
|
<link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-clTdAaK7.js">
|
|
138
138
|
<link rel="modulepreload" crossorigin href="./assets/kbd-BCXa3Ocm.js">
|
|
139
139
|
<link rel="modulepreload" crossorigin href="./assets/useInstallPackage-BaCdyZWe.js">
|
|
@@ -145,40 +145,40 @@
|
|
|
145
145
|
<link rel="modulepreload" crossorigin href="./assets/context-DE_5rdOV.js">
|
|
146
146
|
<link rel="modulepreload" crossorigin href="./assets/useNumberFormatter-DCM-63YT.js">
|
|
147
147
|
<link rel="modulepreload" crossorigin href="./assets/usePress-mjvipKvz.js">
|
|
148
|
-
<link rel="modulepreload" crossorigin href="./assets/input-
|
|
149
|
-
<link rel="modulepreload" crossorigin href="./assets/ImperativeModal-
|
|
150
|
-
<link rel="modulepreload" crossorigin href="./assets/cell-link-
|
|
148
|
+
<link rel="modulepreload" crossorigin href="./assets/input-BpT1_NFw.js">
|
|
149
|
+
<link rel="modulepreload" crossorigin href="./assets/ImperativeModal-Da0ki2vE.js">
|
|
150
|
+
<link rel="modulepreload" crossorigin href="./assets/cell-link-pz786Lch.js">
|
|
151
151
|
<link rel="modulepreload" crossorigin href="./assets/multi-map-DDbeVHF9.js">
|
|
152
152
|
<link rel="modulepreload" crossorigin href="./assets/alert-DcAz54bD.js">
|
|
153
153
|
<link rel="modulepreload" crossorigin href="./assets/chevron-right-C7RH0Nc7.js">
|
|
154
154
|
<link rel="modulepreload" crossorigin href="./assets/dropdown-menu-BYGDVBcE.js">
|
|
155
155
|
<link rel="modulepreload" crossorigin href="./assets/links-DK7te6sJ.js">
|
|
156
|
-
<link rel="modulepreload" crossorigin href="./assets/useRunCells-
|
|
156
|
+
<link rel="modulepreload" crossorigin href="./assets/useRunCells-D-GyPuRn.js">
|
|
157
157
|
<link rel="modulepreload" crossorigin href="./assets/copy-DlC1PYY-.js">
|
|
158
|
-
<link rel="modulepreload" crossorigin href="./assets/copy-
|
|
159
|
-
<link rel="modulepreload" crossorigin href="./assets/copy-icon-
|
|
160
|
-
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-
|
|
161
|
-
<link rel="modulepreload" crossorigin href="./assets/datasource-
|
|
162
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
163
|
-
<link rel="modulepreload" crossorigin href="./assets/package-
|
|
158
|
+
<link rel="modulepreload" crossorigin href="./assets/copy-C6tO3NDV.js">
|
|
159
|
+
<link rel="modulepreload" crossorigin href="./assets/copy-icon-BFMtxrRP.js">
|
|
160
|
+
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-CpnOdUFq.js">
|
|
161
|
+
<link rel="modulepreload" crossorigin href="./assets/datasource-D1L4FCps.js">
|
|
162
|
+
<link rel="modulepreload" crossorigin href="./assets/state-B37Pwlpy.js">
|
|
163
|
+
<link rel="modulepreload" crossorigin href="./assets/package-BoMcg6sy.js">
|
|
164
164
|
<link rel="modulepreload" crossorigin href="./assets/sparkles-DctOjjEz.js">
|
|
165
|
-
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-
|
|
166
|
-
<link rel="modulepreload" crossorigin href="./assets/eye-off-
|
|
167
|
-
<link rel="modulepreload" crossorigin href="./assets/refresh-cw-
|
|
168
|
-
<link rel="modulepreload" crossorigin href="./assets/tree-actions-
|
|
169
|
-
<link rel="modulepreload" crossorigin href="./assets/spinner-
|
|
170
|
-
<link rel="modulepreload" crossorigin href="./assets/html-to-image-
|
|
171
|
-
<link rel="modulepreload" crossorigin href="./assets/focus-
|
|
165
|
+
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-s6Xzn9tI.js">
|
|
166
|
+
<link rel="modulepreload" crossorigin href="./assets/eye-off-CFdFJ5Ma.js">
|
|
167
|
+
<link rel="modulepreload" crossorigin href="./assets/refresh-cw-DcEasnos.js">
|
|
168
|
+
<link rel="modulepreload" crossorigin href="./assets/tree-actions-fO1R5Ud_.js">
|
|
169
|
+
<link rel="modulepreload" crossorigin href="./assets/spinner-DTBVbtl-.js">
|
|
170
|
+
<link rel="modulepreload" crossorigin href="./assets/html-to-image-C4EfBRTz.js">
|
|
171
|
+
<link rel="modulepreload" crossorigin href="./assets/focus-BZmaIt_1.js">
|
|
172
172
|
<link rel="modulepreload" crossorigin href="./assets/useAsyncData-CT1LpOBD.js">
|
|
173
|
-
<link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-
|
|
173
|
+
<link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-BzyBEXmN.js">
|
|
174
174
|
<link rel="modulepreload" crossorigin href="./assets/micromark-factory-space-P--XWZhg.js">
|
|
175
175
|
<link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-D-AUn5sP.js">
|
|
176
|
-
<link rel="modulepreload" crossorigin href="./assets/markdown-renderer-
|
|
177
|
-
<link rel="modulepreload" crossorigin href="./assets/command-
|
|
178
|
-
<link rel="modulepreload" crossorigin href="./assets/field-
|
|
176
|
+
<link rel="modulepreload" crossorigin href="./assets/markdown-renderer-qOz3nDtd.js">
|
|
177
|
+
<link rel="modulepreload" crossorigin href="./assets/command-hJoUrc2W.js">
|
|
178
|
+
<link rel="modulepreload" crossorigin href="./assets/field-CDo_rvhD.js">
|
|
179
179
|
<link rel="modulepreload" crossorigin href="./assets/popover-D1IutFqN.js">
|
|
180
180
|
<link rel="modulepreload" crossorigin href="./assets/errors-48KFPvCp.js">
|
|
181
|
-
<link rel="modulepreload" crossorigin href="./assets/download-
|
|
181
|
+
<link rel="modulepreload" crossorigin href="./assets/download-D4lN2MwZ.js">
|
|
182
182
|
<link rel="modulepreload" crossorigin href="./assets/table-BEAxH5RS.js">
|
|
183
183
|
<link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-CJXRJK5V.js">
|
|
184
184
|
<link rel="modulepreload" crossorigin href="./assets/error-banner-B4PMmgPV.js">
|
|
@@ -190,29 +190,29 @@
|
|
|
190
190
|
<link rel="modulepreload" crossorigin href="./assets/emotion-is-prop-valid.esm-DiQGBfwj.js">
|
|
191
191
|
<link rel="modulepreload" crossorigin href="./assets/useDateFormatter-CANi6nSX.js">
|
|
192
192
|
<link rel="modulepreload" crossorigin href="./assets/react-icons.esm-C2u-_EAQ.js">
|
|
193
|
-
<link rel="modulepreload" crossorigin href="./assets/RSPContexts-
|
|
193
|
+
<link rel="modulepreload" crossorigin href="./assets/RSPContexts-CXtxUQv0.js">
|
|
194
194
|
<link rel="modulepreload" crossorigin href="./assets/table-DxdydCSG.js">
|
|
195
|
-
<link rel="modulepreload" crossorigin href="./assets/ellipsis-
|
|
196
|
-
<link rel="modulepreload" crossorigin href="./assets/external-link-
|
|
197
|
-
<link rel="modulepreload" crossorigin href="./assets/message-circle-
|
|
198
|
-
<link rel="modulepreload" crossorigin href="./assets/plus-
|
|
195
|
+
<link rel="modulepreload" crossorigin href="./assets/ellipsis-DesLDR9w.js">
|
|
196
|
+
<link rel="modulepreload" crossorigin href="./assets/external-link-CRubBjqK.js">
|
|
197
|
+
<link rel="modulepreload" crossorigin href="./assets/message-circle-D_YIPPZo.js">
|
|
198
|
+
<link rel="modulepreload" crossorigin href="./assets/plus-CExKUszm.js">
|
|
199
199
|
<link rel="modulepreload" crossorigin href="./assets/trash-2-CjPoUZCP.js">
|
|
200
200
|
<link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-CgWOEYeG.js">
|
|
201
|
-
<link rel="modulepreload" crossorigin href="./assets/JsonOutput-
|
|
201
|
+
<link rel="modulepreload" crossorigin href="./assets/JsonOutput-DJAO0jFq.js">
|
|
202
202
|
<link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-DVEV2j1H.js">
|
|
203
203
|
<link rel="modulepreload" crossorigin href="./assets/square-function-CPbVtjKW.js">
|
|
204
204
|
<link rel="modulepreload" crossorigin href="./assets/spec-RgR7OB72.js">
|
|
205
|
-
<link rel="modulepreload" crossorigin href="./assets/column-preview-
|
|
205
|
+
<link rel="modulepreload" crossorigin href="./assets/column-preview-Dh5fJBal.js">
|
|
206
206
|
<link rel="modulepreload" crossorigin href="./assets/icons-D3YFXNmD.js">
|
|
207
|
-
<link rel="modulepreload" crossorigin href="./assets/radio-group-
|
|
208
|
-
<link rel="modulepreload" crossorigin href="./assets/floating-outline-
|
|
207
|
+
<link rel="modulepreload" crossorigin href="./assets/radio-group-mrUpeS-s.js">
|
|
208
|
+
<link rel="modulepreload" crossorigin href="./assets/floating-outline-CbZinm9T.js">
|
|
209
209
|
<link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-Msf1n32r.js">
|
|
210
210
|
<link rel="modulepreload" crossorigin href="./assets/esm-DSv-aO_T.js">
|
|
211
|
-
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-
|
|
212
|
-
<link rel="modulepreload" crossorigin href="./assets/file-headphone-
|
|
213
|
-
<link rel="modulepreload" crossorigin href="./assets/file-
|
|
214
|
-
<link rel="modulepreload" crossorigin href="./assets/image-
|
|
215
|
-
<link rel="modulepreload" crossorigin href="./assets/file-icons-
|
|
211
|
+
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-BcwZXLSu.js">
|
|
212
|
+
<link rel="modulepreload" crossorigin href="./assets/file-headphone-CY5S3y3b.js">
|
|
213
|
+
<link rel="modulepreload" crossorigin href="./assets/file-CLyu7PSP.js">
|
|
214
|
+
<link rel="modulepreload" crossorigin href="./assets/image-jhXeQEgs.js">
|
|
215
|
+
<link rel="modulepreload" crossorigin href="./assets/file-icons-BAedxhF8.js">
|
|
216
216
|
<link rel="modulepreload" crossorigin href="./assets/switch-LzzmbPXe.js">
|
|
217
217
|
<link rel="modulepreload" crossorigin href="./assets/events-BRbNg7Li.js">
|
|
218
218
|
<link rel="modulepreload" crossorigin href="./assets/globals-CBDJBT8O.js">
|
|
@@ -221,15 +221,15 @@
|
|
|
221
221
|
<link rel="modulepreload" crossorigin href="./assets/memoize-Tp7rARFe.js">
|
|
222
222
|
<link rel="modulepreload" crossorigin href="./assets/get-C-qh_et5.js">
|
|
223
223
|
<link rel="modulepreload" crossorigin href="./assets/_baseSet-CsW0tABf.js">
|
|
224
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
224
|
+
<link rel="modulepreload" crossorigin href="./assets/state-CKbrzJT-.js">
|
|
225
225
|
<link rel="modulepreload" crossorigin href="./assets/label-BbRibkug.js">
|
|
226
|
-
<link rel="modulepreload" crossorigin href="./assets/textarea-
|
|
227
|
-
<link rel="modulepreload" crossorigin href="./assets/refresh-ccw-
|
|
228
|
-
<link rel="modulepreload" crossorigin href="./assets/form-
|
|
226
|
+
<link rel="modulepreload" crossorigin href="./assets/textarea-BWLmfOrN.js">
|
|
227
|
+
<link rel="modulepreload" crossorigin href="./assets/refresh-ccw-CUkO1Vlo.js">
|
|
228
|
+
<link rel="modulepreload" crossorigin href="./assets/form-F1rvnx2z.js">
|
|
229
229
|
<link rel="modulepreload" crossorigin href="./assets/renderShortcut-BV7Qf4L2.js">
|
|
230
230
|
<link rel="modulepreload" crossorigin href="./assets/useBoolean-BqfyqCpr.js">
|
|
231
231
|
<link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-zUHU--0D.js">
|
|
232
|
-
<link rel="modulepreload" crossorigin href="./assets/types-
|
|
232
|
+
<link rel="modulepreload" crossorigin href="./assets/types-xF5uWODg.js">
|
|
233
233
|
<link rel="modulepreload" crossorigin href="./assets/semaphore-FlZezxaf.js">
|
|
234
234
|
<link rel="modulepreload" crossorigin href="./assets/fileToBase64-Doh9J-g6.js">
|
|
235
235
|
<link rel="modulepreload" crossorigin href="./assets/pathUtils-ANiMIEDI.js">
|
|
@@ -239,8 +239,8 @@
|
|
|
239
239
|
<link rel="modulepreload" crossorigin href="./assets/hasIn-CSsM95b1.js">
|
|
240
240
|
<link rel="modulepreload" crossorigin href="./assets/flatten-Bd5tsfm_.js">
|
|
241
241
|
<link rel="modulepreload" crossorigin href="./assets/pick-D1xb4gl6.js">
|
|
242
|
-
<link rel="modulepreload" crossorigin href="./assets/code-xml-
|
|
243
|
-
<link rel="modulepreload" crossorigin href="./assets/house-
|
|
242
|
+
<link rel="modulepreload" crossorigin href="./assets/code-xml-tqeFGeKJ.js">
|
|
243
|
+
<link rel="modulepreload" crossorigin href="./assets/house-DkdBWh44.js">
|
|
244
244
|
<link rel="modulepreload" crossorigin href="./assets/square-DPWHdF_-.js">
|
|
245
245
|
<link rel="modulepreload" crossorigin href="./assets/triangle-alert-CV7pqa1o.js">
|
|
246
246
|
<link rel="modulepreload" crossorigin href="./assets/bundle.esm-BULc9l6b.js">
|
package/package.json
CHANGED
|
@@ -20,11 +20,14 @@ export const renderUIMessage = ({
|
|
|
20
20
|
message,
|
|
21
21
|
isStreamingReasoning,
|
|
22
22
|
isLast,
|
|
23
|
+
isActive,
|
|
23
24
|
addToolApprovalResponse,
|
|
24
25
|
}: {
|
|
25
26
|
message: UIMessage;
|
|
26
27
|
isStreamingReasoning: boolean;
|
|
27
28
|
isLast: boolean;
|
|
29
|
+
/** Whether the chat is currently streaming/submitting a response. */
|
|
30
|
+
isActive: boolean;
|
|
28
31
|
addToolApprovalResponse?: ChatAddToolApproveResponseFunction;
|
|
29
32
|
}) => {
|
|
30
33
|
return (
|
|
@@ -49,6 +52,7 @@ export const renderUIMessage = ({
|
|
|
49
52
|
approval={part.approval}
|
|
50
53
|
onApprove={addToolApprovalResponse}
|
|
51
54
|
isLive={isLast}
|
|
55
|
+
isActive={isActive}
|
|
52
56
|
/>
|
|
53
57
|
);
|
|
54
58
|
}
|
|
@@ -102,6 +106,7 @@ export const renderUIMessage = ({
|
|
|
102
106
|
approval={part.approval}
|
|
103
107
|
onApprove={addToolApprovalResponse}
|
|
104
108
|
isLive={isLast}
|
|
109
|
+
isActive={isActive}
|
|
105
110
|
/>
|
|
106
111
|
);
|
|
107
112
|
case "source-document":
|
|
@@ -143,6 +143,7 @@ interface ChatMessageProps {
|
|
|
143
143
|
onEdit: (index: number, newValue: string) => void;
|
|
144
144
|
isStreamingReasoning: boolean;
|
|
145
145
|
isLast: boolean;
|
|
146
|
+
isActive: boolean;
|
|
146
147
|
addToolApprovalResponse?: ChatAddToolApproveResponseFunction;
|
|
147
148
|
}
|
|
148
149
|
|
|
@@ -153,6 +154,7 @@ const ChatMessageDisplay: React.FC<ChatMessageProps> = memo(
|
|
|
153
154
|
onEdit,
|
|
154
155
|
isStreamingReasoning,
|
|
155
156
|
isLast,
|
|
157
|
+
isActive,
|
|
156
158
|
addToolApprovalResponse,
|
|
157
159
|
}) => {
|
|
158
160
|
const renderUserMessage = (message: UIMessage) => {
|
|
@@ -205,6 +207,7 @@ const ChatMessageDisplay: React.FC<ChatMessageProps> = memo(
|
|
|
205
207
|
message,
|
|
206
208
|
isStreamingReasoning,
|
|
207
209
|
isLast,
|
|
210
|
+
isActive,
|
|
208
211
|
addToolApprovalResponse,
|
|
209
212
|
})}
|
|
210
213
|
</div>
|
|
@@ -780,6 +783,7 @@ const ChatPanelBody = () => {
|
|
|
780
783
|
onEdit={handleMessageEdit}
|
|
781
784
|
isStreamingReasoning={isStreamingReasoning}
|
|
782
785
|
isLast={idx === messages.length - 1}
|
|
786
|
+
isActive={isLoading}
|
|
783
787
|
addToolApprovalResponse={addToolApprovalResponse}
|
|
784
788
|
/>
|
|
785
789
|
))}
|
|
@@ -24,6 +24,7 @@ interface ToolCallViewProps {
|
|
|
24
24
|
* (the user has moved on).
|
|
25
25
|
*/
|
|
26
26
|
isLive?: boolean;
|
|
27
|
+
isActive?: boolean;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export const ToolCallView: React.FC<ToolCallViewProps> = ({
|
|
@@ -37,6 +38,7 @@ export const ToolCallView: React.FC<ToolCallViewProps> = ({
|
|
|
37
38
|
index,
|
|
38
39
|
className,
|
|
39
40
|
isLive = true,
|
|
41
|
+
isActive = true,
|
|
40
42
|
}) => {
|
|
41
43
|
switch (state) {
|
|
42
44
|
case "approval-requested":
|
|
@@ -61,6 +63,7 @@ export const ToolCallView: React.FC<ToolCallViewProps> = ({
|
|
|
61
63
|
input={input}
|
|
62
64
|
index={index}
|
|
63
65
|
className={className}
|
|
66
|
+
isActive={isActive}
|
|
64
67
|
/>
|
|
65
68
|
);
|
|
66
69
|
|
|
@@ -89,6 +92,7 @@ export const ToolCallView: React.FC<ToolCallViewProps> = ({
|
|
|
89
92
|
approval={approval}
|
|
90
93
|
index={index}
|
|
91
94
|
className={className}
|
|
95
|
+
isActive={isActive}
|
|
92
96
|
/>
|
|
93
97
|
);
|
|
94
98
|
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
BanIcon,
|
|
5
|
+
CheckCircleIcon,
|
|
6
|
+
CircleSlashIcon,
|
|
7
|
+
Loader2,
|
|
8
|
+
WrenchIcon,
|
|
9
|
+
} from "lucide-react";
|
|
4
10
|
import React from "react";
|
|
5
11
|
import {
|
|
6
12
|
Accordion,
|
|
@@ -29,7 +35,19 @@ const STATUS_LABEL: Record<HistoryState, string> = {
|
|
|
29
35
|
"output-denied": "Denied",
|
|
30
36
|
};
|
|
31
37
|
|
|
32
|
-
const
|
|
38
|
+
const PENDING_STATES = new Set<HistoryState>([
|
|
39
|
+
"input-streaming",
|
|
40
|
+
"input-available",
|
|
41
|
+
"approval-responded",
|
|
42
|
+
]);
|
|
43
|
+
|
|
44
|
+
const StatusIcon: React.FC<{ state: HistoryState; interrupted: boolean }> = ({
|
|
45
|
+
state,
|
|
46
|
+
interrupted,
|
|
47
|
+
}) => {
|
|
48
|
+
if (interrupted) {
|
|
49
|
+
return <CircleSlashIcon className="h-3 w-3 text-muted-foreground" />;
|
|
50
|
+
}
|
|
33
51
|
switch (state) {
|
|
34
52
|
case "input-streaming":
|
|
35
53
|
case "input-available":
|
|
@@ -69,6 +87,7 @@ interface ToolHistoryRowProps {
|
|
|
69
87
|
approval?: ToolApproval;
|
|
70
88
|
index?: number;
|
|
71
89
|
className?: string;
|
|
90
|
+
isActive?: boolean;
|
|
72
91
|
}
|
|
73
92
|
|
|
74
93
|
export const ToolHistoryRow: React.FC<ToolHistoryRowProps> = ({
|
|
@@ -79,7 +98,9 @@ export const ToolHistoryRow: React.FC<ToolHistoryRowProps> = ({
|
|
|
79
98
|
approval,
|
|
80
99
|
index = 0,
|
|
81
100
|
className,
|
|
101
|
+
isActive = true,
|
|
82
102
|
}) => {
|
|
103
|
+
const interrupted = !isActive && PENDING_STATES.has(state);
|
|
83
104
|
return (
|
|
84
105
|
<Accordion
|
|
85
106
|
key={`tool-${index}`}
|
|
@@ -91,12 +112,12 @@ export const ToolHistoryRow: React.FC<ToolHistoryRowProps> = ({
|
|
|
91
112
|
<AccordionTrigger
|
|
92
113
|
className={cn(
|
|
93
114
|
"h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",
|
|
94
|
-
getTriggerToneClass(state),
|
|
115
|
+
interrupted ? "text-muted-foreground" : getTriggerToneClass(state),
|
|
95
116
|
)}
|
|
96
117
|
>
|
|
97
118
|
<span className="flex items-center gap-1">
|
|
98
|
-
<StatusIcon state={state} />
|
|
99
|
-
{STATUS_LABEL[state]}:
|
|
119
|
+
<StatusIcon state={state} interrupted={interrupted} />
|
|
120
|
+
{interrupted ? "Interrupted" : STATUS_LABEL[state]}:
|
|
100
121
|
<code className="font-mono text-xs">
|
|
101
122
|
{formatToolName(toolName)}
|
|
102
123
|
</code>
|
|
@@ -27,7 +27,7 @@ const NOOP_ON_SEARCH = () => {
|
|
|
27
27
|
|
|
28
28
|
interface TableTopBarProps<TData> extends Partial<ExportActionProps> {
|
|
29
29
|
table: Table<TData>;
|
|
30
|
-
|
|
30
|
+
showSearch: boolean;
|
|
31
31
|
searchQuery?: string;
|
|
32
32
|
onSearchQueryChange?: (query: string) => void;
|
|
33
33
|
reloading?: boolean;
|
|
@@ -43,7 +43,7 @@ interface TableTopBarProps<TData> extends Partial<ExportActionProps> {
|
|
|
43
43
|
|
|
44
44
|
export const TableTopBar = <TData,>({
|
|
45
45
|
table,
|
|
46
|
-
|
|
46
|
+
showSearch,
|
|
47
47
|
searchQuery,
|
|
48
48
|
onSearchQueryChange,
|
|
49
49
|
reloading,
|
|
@@ -68,7 +68,7 @@ export const TableTopBar = <TData,>({
|
|
|
68
68
|
|
|
69
69
|
return (
|
|
70
70
|
<div className="flex items-center h-10 px-2 border-b gap-2">
|
|
71
|
-
{onSearchQueryChange &&
|
|
71
|
+
{onSearchQueryChange && showSearch && (
|
|
72
72
|
<div className="flex flex-1 items-center gap-1 px-2 rounded-sm focus-within:ring-1 focus-within:ring-border transition-shadow">
|
|
73
73
|
<SearchIcon className="w-4 h-4 text-muted-foreground shrink-0" />
|
|
74
74
|
<input
|
|
@@ -99,7 +99,7 @@ export const TableTopBar = <TData,>({
|
|
|
99
99
|
</div>
|
|
100
100
|
)}
|
|
101
101
|
|
|
102
|
-
<div className="flex items-center shrink-0">
|
|
102
|
+
<div className="flex items-center shrink-0 ml-auto">
|
|
103
103
|
<ColumnVisibilityDropdown table={table} />
|
|
104
104
|
{showChartBuilder && (
|
|
105
105
|
<Button
|
|
@@ -69,6 +69,34 @@ describe("DataTable", () => {
|
|
|
69
69
|
expect(commonProps.rowSelection).toEqual(initialRowSelection);
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
+
it("hides the search bar when showSearch is false", () => {
|
|
73
|
+
const columns: ColumnDef<TestData>[] = [
|
|
74
|
+
{ accessorKey: "name", header: "Name" },
|
|
75
|
+
];
|
|
76
|
+
const commonProps = {
|
|
77
|
+
data: [{ id: 1, name: "Test 1" }] as TestData[],
|
|
78
|
+
columns,
|
|
79
|
+
totalRows: 1,
|
|
80
|
+
totalColumns: 1,
|
|
81
|
+
pagination: false,
|
|
82
|
+
onSearchQueryChange: () => {},
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const { rerender } = render(
|
|
86
|
+
<TooltipProvider>
|
|
87
|
+
<DataTable {...commonProps} showSearch={true} />
|
|
88
|
+
</TooltipProvider>,
|
|
89
|
+
);
|
|
90
|
+
expect(screen.queryByPlaceholderText("Search...")).not.toBeNull();
|
|
91
|
+
|
|
92
|
+
rerender(
|
|
93
|
+
<TooltipProvider>
|
|
94
|
+
<DataTable {...commonProps} showSearch={false} />
|
|
95
|
+
</TooltipProvider>,
|
|
96
|
+
);
|
|
97
|
+
expect(screen.queryByPlaceholderText("Search...")).toBeNull();
|
|
98
|
+
});
|
|
99
|
+
|
|
72
100
|
it("shows the hoverTemplate text as a styled tooltip on hover", async () => {
|
|
73
101
|
vi.useFakeTimers();
|
|
74
102
|
interface RowData {
|
|
@@ -104,7 +104,7 @@ interface DataTableProps<TData> extends Partial<ExportActionProps> {
|
|
|
104
104
|
onCellSelectionChange?: OnChangeFn<CellSelectionState>;
|
|
105
105
|
getRowIds?: GetRowIds;
|
|
106
106
|
// Search
|
|
107
|
-
|
|
107
|
+
showSearch?: boolean;
|
|
108
108
|
searchQuery?: string;
|
|
109
109
|
onSearchQueryChange?: (query: string) => void;
|
|
110
110
|
showFilters?: boolean;
|
|
@@ -159,7 +159,7 @@ const DataTableInternal = <TData,>({
|
|
|
159
159
|
onRowSelectionChange,
|
|
160
160
|
onCellSelectionChange,
|
|
161
161
|
getRowIds,
|
|
162
|
-
|
|
162
|
+
showSearch = false,
|
|
163
163
|
searchQuery,
|
|
164
164
|
onSearchQueryChange,
|
|
165
165
|
showFilters = false,
|
|
@@ -357,7 +357,7 @@ const DataTableInternal = <TData,>({
|
|
|
357
357
|
>
|
|
358
358
|
<TableTopBar
|
|
359
359
|
table={table}
|
|
360
|
-
|
|
360
|
+
showSearch={showSearch}
|
|
361
361
|
searchQuery={searchQuery}
|
|
362
362
|
onSearchQueryChange={onSearchQueryChange}
|
|
363
363
|
reloading={reloading}
|
|
@@ -181,6 +181,7 @@ interface Data<T> {
|
|
|
181
181
|
maxHeight?: number;
|
|
182
182
|
selection: DataTableSelection;
|
|
183
183
|
showDownload: boolean;
|
|
184
|
+
showSearch: boolean;
|
|
184
185
|
showFilters: boolean;
|
|
185
186
|
showColumnSummaries: boolean | "stats" | "chart";
|
|
186
187
|
showDataTypes: boolean;
|
|
@@ -267,6 +268,7 @@ export const DataTablePlugin = createPlugin<S>("marimo-table")
|
|
|
267
268
|
showColumnExplorer: z.boolean().default(true),
|
|
268
269
|
showRowExplorer: z.boolean().default(true),
|
|
269
270
|
showChartBuilder: z.boolean().default(true),
|
|
271
|
+
showSearch: z.boolean().default(true),
|
|
270
272
|
rowHeaders: columnToFieldTypesSchema,
|
|
271
273
|
freezeColumnsLeft: z.array(z.string()).optional(),
|
|
272
274
|
freezeColumnsRight: z.array(z.string()).optional(),
|
|
@@ -385,7 +387,6 @@ export const DataTablePlugin = createPlugin<S>("marimo-table")
|
|
|
385
387
|
{...props.data}
|
|
386
388
|
{...props.functions}
|
|
387
389
|
host={props.host}
|
|
388
|
-
enableSearch={true}
|
|
389
390
|
data={props.data.data}
|
|
390
391
|
value={props.value}
|
|
391
392
|
setValue={props.setValue}
|
|
@@ -470,8 +471,6 @@ interface DataTableProps<T> extends Data<T>, DataTableFunctions {
|
|
|
470
471
|
// Selection
|
|
471
472
|
value: S;
|
|
472
473
|
setValue: (value: S) => void;
|
|
473
|
-
// Search
|
|
474
|
-
enableSearch: boolean;
|
|
475
474
|
// Filters
|
|
476
475
|
enableFilters?: boolean;
|
|
477
476
|
cellStyles?: CellStyleState | null;
|
|
@@ -841,7 +840,7 @@ const DataTableComponent = ({
|
|
|
841
840
|
setValue,
|
|
842
841
|
sorting,
|
|
843
842
|
setSorting,
|
|
844
|
-
|
|
843
|
+
showSearch,
|
|
845
844
|
searchQuery,
|
|
846
845
|
setSearchQuery,
|
|
847
846
|
filters,
|
|
@@ -1146,7 +1145,7 @@ const DataTableComponent = ({
|
|
|
1146
1145
|
hoverTemplate={hoverTemplate}
|
|
1147
1146
|
cellHoverTexts={cellHoverTexts}
|
|
1148
1147
|
downloadAs={showDownload ? downloadAs : undefined}
|
|
1149
|
-
|
|
1148
|
+
showSearch={showSearch}
|
|
1150
1149
|
searchQuery={searchQuery}
|
|
1151
1150
|
onSearchQueryChange={setSearchQuery}
|
|
1152
1151
|
showFilters={showFilters}
|
|
@@ -94,7 +94,7 @@ describe("LoadingDataTableComponent", () => {
|
|
|
94
94
|
hasStableRowId: false,
|
|
95
95
|
lazy: false,
|
|
96
96
|
host,
|
|
97
|
-
|
|
97
|
+
showSearch: true,
|
|
98
98
|
value: [] as (number | string | { rowId: string; columnName?: string })[],
|
|
99
99
|
setValue,
|
|
100
100
|
download_as: vi.fn() as DownloadAsArgs,
|
|
@@ -338,7 +338,7 @@ export const DataFrameComponent = memo(
|
|
|
338
338
|
showDownload={showDownload}
|
|
339
339
|
download_as={download_as}
|
|
340
340
|
get_size_bytes={get_size_bytes}
|
|
341
|
-
|
|
341
|
+
showSearch={false}
|
|
342
342
|
showFilters={false}
|
|
343
343
|
search={search}
|
|
344
344
|
showColumnSummaries={false}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as z}from"./chunk-LvLJmgfZ.js";import{t as X}from"./react-Bj1aDYRI.js";import{Cr as B,_r as H,vr as I}from"./cells-D3EcEVTz.js";import{A as K,C as R,R as F,T as Q}from"./zod-H_cgTO0M.js";import{t as y}from"./compiler-runtime-B3qBwwSJ.js";import{t as U}from"./isEmpty-CXeoXbuc.js";import{X as Y}from"./ai-model-dropdown-CKfMxi81.js";import{_ as Z}from"./useEventListener-BfYriKqt.js";import{t as S}from"./cn-X2M2usMq.js";import{t as ee}from"./jsx-runtime-PbYoItBR.js";import{a as O,i as $,n as D,r as E}from"./multi-map-DDbeVHF9.js";import{t as J}from"./button-Db07tdz7.js";import{i as T}from"./strings-B-yaq2o7.js";import{t as te}from"./createLucideIcon-BTp1tQDO.js";import{t as se}from"./ban-CttLZK8l.js";import{t as re}from"./bot-message-square-AslRbAeb.js";import{r as ae}from"./x-9vLEgLY6.js";import{t as M}from"./markdown-renderer-Ctc_BAzL.js";import{f as V,l as le}from"./add-cell-with-ai-r88BQwnl.js";import{t as ne}from"./external-link-mfK38Tpg.js";import{n as oe}from"./spinner-BlJOg2gb.js";import{c as ie}from"./datasource-BtJgopUR.js";import{t as ce}from"./RenderHTML-CdzAncjW.js";var de=te("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),ue=y(),k=z(X(),1),t=z(ee(),1);const me=c=>{let e=(0,ue.c)(13),{reasoning:l,index:a,isStreaming:i}=c,s=a===void 0?0:a,r=i===void 0?!1:i,[n,u]=k.useState("");if(!l&&!r)return null;let x=r?"reasoning":n,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)(re,{className:"h-3 w-3"}),e[0]=d):d=e[0];let h=r?"Thinking":"View reasoning",m=l.length>0&&` (${l.length} chars)`,o;e[1]!==h||e[2]!==m?(o=(0,t.jsx)(O,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[d,h,m]})}),e[1]=h,e[2]=m,e[3]=o):o=e[3];let p;e[4]===l?p=e[5]:(p=(0,t.jsx)(E,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(M,{content:l})})})}),e[4]=l,e[5]=p);let f;e[6]!==o||e[7]!==p?(f=(0,t.jsxs)($,{value:"reasoning",className:"border-0",children:[o,p]}),e[6]=o,e[7]=p,e[8]=f):f=e[8];let v;return e[9]!==s||e[10]!==x||e[11]!==f?(v=(0,t.jsx)(D,{type:"single",collapsible:!0,className:"w-full mb-2",value:x,onValueChange:u,children:f},s),e[9]=s,e[10]=x,e[11]=f,e[12]=v):v=e[12],v};function q(c){return c.replace("tool-","")}var pe=y();const A=c=>{let e=(0,pe.c)(9),{input:l,label:a}=c,i=a===void 0?"Tool Request":a;if(l==null)return null;let s;e[0]===i?s=e[1]:(s=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:i}),e[0]=i,e[1]=s);let r;e[2]===l?r=e[3]:(r=JSON.stringify(l,null,2),e[2]=l,e[3]=r);let n;e[4]===r?n=e[5]:(n=(0,t.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:r}),e[4]=r,e[5]=n);let u;return e[6]!==s||e[7]!==n?(u=(0,t.jsxs)("div",{className:"space-y-2",children:[s,n]}),e[6]=s,e[7]=n,e[8]=u):u=e[8],u};var xe=y();const he=c=>{let e=(0,xe.c)(25),{toolName:l,input:a,approval:i,onApprove:s,className:r}=c,n;e[0]===r?n=e[1]:(n=S("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",r),e[0]=r,e[1]=n);let u=`Approval required for ${q(l)}`,x;e[2]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(de,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=x):x=e[2];let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=d):d=e[3];let h;e[4]===l?h=e[5]:(h=q(l),e[4]=l,e[5]=h);let m;e[6]===h?m=e[7]:(m=(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[x,(0,t.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[d," ",(0,t.jsx)("code",{className:"font-mono",children:h})]})]}),e[6]=h,e[7]=m);let o;e[8]===a?o=e[9]:(o=(0,t.jsx)(A,{input:a}),e[8]=a,e[9]=o);let p;e[10]!==i.id||e[11]!==s?(p=(0,t.jsx)(J,{size:"xs",variant:"outline",onClick:()=>s({id:i.id,approved:!1}),children:"Deny"}),e[10]=i.id,e[11]=s,e[12]=p):p=e[12];let f;e[13]!==i.id||e[14]!==s?(f=(0,t.jsx)(J,{size:"xs",onClick:()=>s({id:i.id,approved:!0}),children:"Approve"}),e[13]=i.id,e[14]=s,e[15]=f):f=e[15];let v;e[16]!==p||e[17]!==f?(v=(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[p,f]}),e[16]=p,e[17]=f,e[18]=v):v=e[18];let b;return e[19]!==n||e[20]!==v||e[21]!==u||e[22]!==m||e[23]!==o?(b=(0,t.jsxs)("div",{className:n,role:"alertdialog","aria-label":u,children:[m,o,v]}),e[19]=n,e[20]=v,e[21]=u,e[22]=m,e[23]=o,e[24]=b):b=e[24],b};var fe=y();const ve=c=>{let e=(0,fe.c)(28),{toolName:l,input:a,errorText:i,isLive:s,className:r}=c,[n,u]=k.useState(s),x=k.useRef(s),d,h;e[0]===s?(d=e[1],h=e[2]):(d=()=>{x.current&&!s&&u(!1),x.current=s},h=[s],e[0]=s,e[1]=d,e[2]=h),k.useEffect(d,h);let m;e[3]===r?m=e[4]:(m=S("rounded-md border border-(--red-6) bg-(--red-2)",r),e[3]=r,e[4]=m);let o;e[5]===Symbol.for("react.memo_cache_sentinel")?(o=()=>u(be),e[5]=o):o=e[5];let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsx)(B,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=p):p=e[6];let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=f):f=e[7];let v;e[8]===l?v=e[9]:(v=q(l),e[8]=l,e[9]=v);let b;e[10]===v?b=e[11]:(b=(0,t.jsxs)("span",{className:"flex-1 text-left",children:[f," ",(0,t.jsx)("code",{className:"font-mono",children:v})]}),e[10]=v,e[11]=b);let N=n&&"rotate-180",j;e[12]===N?j=e[13]:(j=S("h-3.5 w-3.5 shrink-0 transition-transform",N),e[12]=N,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,t.jsx)(ae,{className:j}),e[14]=j,e[15]=g);let w;e[16]!==n||e[17]!==g||e[18]!==b?(w=(0,t.jsxs)("button",{type:"button",onClick:o,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":n,children:[p,b,g]}),e[16]=n,e[17]=g,e[18]=b,e[19]=w):w=e[19];let _;e[20]!==i||e[21]!==a||e[22]!==n?(_=n&&(0,t.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,t.jsx)(A,{input:a}),i&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,t.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:i})]})]}),e[20]=i,e[21]=a,e[22]=n,e[23]=_):_=e[23];let C;return e[24]!==w||e[25]!==_||e[26]!==m?(C=(0,t.jsxs)("div",{className:m,children:[w,_]}),e[24]=w,e[25]=_,e[26]=m,e[27]=C):C=e[27],C};function be(c){return!c}var W=y();function je(c){return c==null?!0:typeof c=="object"?U(c):!1}var ge=K({status:F().default("success"),auth_required:Q().default(!1),action_url:R(),next_steps:R(),meta:R(),message:F().nullish()}),Ne=c=>{let e=(0,W.c)(12),{data:l}=c,a;if(e[0]!==l){let{status:i,auth_required:s,action_url:r,meta:n,next_steps:u,message:x,...d}=l,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=h):h=e[2];let m;e[3]===i?m=e[4]:(m=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:i}),e[3]=i,e[4]=m);let o;e[5]===s?o=e[6]:(o=s&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=s,e[6]=o);let p;e[7]!==m||e[8]!==o?(p=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[h,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[m,o]})]}),e[7]=m,e[8]=o,e[9]=p):p=e[9];let f;e[10]===x?f=e[11]:(f=x&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(H,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:x})]}),e[10]=x,e[11]=f),a=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[p,f,d&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(d).map(we)})]}),e[0]=l,e[1]=a}else a=e[1];return a};const ye=c=>{let e=(0,W.c)(8),{result:l}=c,a;e[0]===l?a=e[1]:(a=ge.safeParse(l),e[0]=l,e[1]=a);let i=a;if(i.success){let n;return e[2]===i.data?n=e[3]:(n=(0,t.jsx)(Ne,{data:i.data}),e[2]=i.data,e[3]=n),n}let s;e[4]===l?s=e[5]:(s=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=s);let r;return e[6]===s?r=e[7]:(r=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:s}),e[6]=s,e[7]=r),r};function we(c){let[e,l]=c;return je(l)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var L=y(),_e={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Se=c=>{let e=(0,L.c)(4),{state:l}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(oe,{className:"h-3 w-3 animate-spin"}),e[0]=a):a=e[0],a}case"output-available":{let a;return e[1]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(Y,{className:"h-3 w-3 text-(--grass-11)"}),e[1]=a):a=e[1],a}case"output-denied":{let a;return e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(se,{className:"h-3 w-3 text-muted-foreground"}),e[2]=a):a=e[2],a}default:{T(l);let a;return e[3]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(ie,{className:"h-3 w-3"}),e[3]=a):a=e[3],a}}};function Te(c){switch(c){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(c),""}}const G=c=>{let e=(0,L.c)(29),{toolName:l,state:a,input:i,result:s,approval:r,index:n,className:u}=c,x=`tool-${n===void 0?0:n}`,d;e[0]===u?d=e[1]:(d=S("w-full",u),e[0]=u,e[1]=d);let h;e[2]===a?h=e[3]:(h=S("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",Te(a)),e[2]=a,e[3]=h);let m;e[4]===a?m=e[5]:(m=(0,t.jsx)(Se,{state:a}),e[4]=a,e[5]=m);let o=_e[a],p;e[6]===l?p=e[7]:(p=q(l),e[6]=l,e[7]=p);let f;e[8]===p?f=e[9]:(f=(0,t.jsx)("code",{className:"font-mono text-xs",children:p}),e[8]=p,e[9]=f);let v;e[10]!==m||e[11]!==o||e[12]!==f?(v=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[m,o,":",f]}),e[10]=m,e[11]=o,e[12]=f,e[13]=v):v=e[13];let b;e[14]!==h||e[15]!==v?(b=(0,t.jsx)(O,{className:h,children:v}),e[14]=h,e[15]=v,e[16]=b):b=e[16];let N;e[17]!==r||e[18]!==i||e[19]!==s||e[20]!==a?(N=(0,t.jsx)(E,{className:"py-2 px-2",children:(0,t.jsx)(ke,{state:a,input:i,result:s,approval:r})}),e[17]=r,e[18]=i,e[19]=s,e[20]=a,e[21]=N):N=e[21];let j;e[22]!==b||e[23]!==N?(j=(0,t.jsxs)($,{value:"tool-call",className:"border-0",children:[b,N]}),e[22]=b,e[23]=N,e[24]=j):j=e[24];let g;return e[25]!==j||e[26]!==x||e[27]!==d?(g=(0,t.jsx)(D,{type:"single",collapsible:!0,className:d,children:j},x),e[25]=j,e[26]=x,e[27]=d,e[28]=g):g=e[28],g};var ke=c=>{let e=(0,L.c)(16),{state:l,input:a,result:i,approval:s}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let r;return e[0]===a?r=e[1]:(r=(0,t.jsx)(A,{input:a}),e[0]=a,e[1]=r),r}case"output-available":{let r;e[2]===a?r=e[3]:(r=(0,t.jsx)(A,{input:a}),e[2]=a,e[3]=r);let n;e[4]===i?n=e[5]:(n=i!=null&&(0,t.jsx)(ye,{result:i}),e[4]=i,e[5]=n);let u;return e[6]!==r||e[7]!==n?(u=(0,t.jsxs)("div",{className:"space-y-3",children:[r,n]}),e[6]=r,e[7]=n,e[8]=u):u=e[8],u}case"output-denied":{let r;e[9]===a?r=e[10]:(r=(0,t.jsx)(A,{input:a}),e[9]=a,e[10]=r);let n=s!=null&&s.reason?`: ${s.reason}`:".",u;e[11]===n?u=e[12]:(u=(0,t.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",n]}),e[11]=n,e[12]=u);let x;return e[13]!==r||e[14]!==u?(x=(0,t.jsxs)("div",{className:"space-y-3",children:[r,u]}),e[13]=r,e[14]=u,e[15]=x):x=e[15],x}default:return T(l),null}},Ae=y();const P=c=>{let e=(0,Ae.c)(25),{toolName:l,state:a,result:i,errorText:s,input:r,approval:n,onApprove:u,index:x,className:d,isLive:h}=c,m=h===void 0?!0:h;switch(a){case"approval-requested":{if(n!=null&&u!=null){let p;return e[0]!==n||e[1]!==d||e[2]!==r||e[3]!==u||e[4]!==l?(p=(0,t.jsx)(he,{toolName:l,input:r,approval:n,onApprove:u,className:d}),e[0]=n,e[1]=d,e[2]=r,e[3]=u,e[4]=l,e[5]=p):p=e[5],p}let o;return e[6]!==d||e[7]!==x||e[8]!==r||e[9]!==l?(o=(0,t.jsx)(G,{toolName:l,state:"input-available",input:r,index:x,className:d}),e[6]=d,e[7]=x,e[8]=r,e[9]=l,e[10]=o):o=e[10],o}case"output-error":{let o;return e[11]!==d||e[12]!==s||e[13]!==r||e[14]!==m||e[15]!==l?(o=(0,t.jsx)(ve,{toolName:l,input:r,errorText:s,isLive:m,className:d}),e[11]=d,e[12]=s,e[13]=r,e[14]=m,e[15]=l,e[16]=o):o=e[16],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[17]!==n||e[18]!==d||e[19]!==x||e[20]!==r||e[21]!==i||e[22]!==a||e[23]!==l?(o=(0,t.jsx)(G,{toolName:l,state:a,input:r,result:i,approval:n,index:x,className:d}),e[17]=n,e[18]=d,e[19]=x,e[20]=r,e[21]=i,e[22]=a,e[23]=l,e[24]=o):o=e[24],o}default:return T(a),null}},Ce=({message:c,isStreamingReasoning:e,isLast:l,addToolApprovalResponse:a})=>{return(0,t.jsx)(t.Fragment,{children:c.parts.map((s,r)=>i(s,r))});function i(s,r){if(qe(s))return(0,t.jsx)(P,{index:r,toolName:s.type,result:s.output,errorText:s.state==="output-error"?s.errorText:void 0,className:"my-2",state:s.state,input:s.input,approval:s.approval,onApprove:a,isLive:l},r);if(Re(s))return Z.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(k.Fragment,{children:ce({html:s.text})},r):(0,t.jsx)(M,{content:s.text},r);case"reasoning":return(0,t.jsx)(me,{reasoning:s.text,index:r,isStreaming:e&&l&&r===(c.parts.length||0)-1},r);case"file":return(0,t.jsx)(le,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(P,{toolName:s.toolName,result:s.output,errorText:s.state==="output-error"?s.errorText:void 0,state:s.state,input:s.input,approval:s.approval,onApprove:a,isLive:l},r);case"source-document":return(0,t.jsx)(V,{icon:(0,t.jsx)(I,{className:"h-3 w-3 shrink-0"}),title:s.title,subtitle:s.filename},r);case"source-url":return(0,t.jsx)(V,{icon:(0,t.jsx)(ne,{className:"h-3 w-3 shrink-0"}),title:s.title??s.url,subtitle:s.title?s.url:void 0,href:s.url},r);case"step-start":return null;default:return T(s),null}}};function qe(c){return c.type.startsWith("tool-")}function Re(c){return c.type.startsWith("data-")}export{Ce as t};
|