@marimo-team/frontend 0.25.2-dev53 → 0.25.2-dev61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/assets/{CellStatus-Q5giBgg0.js → CellStatus-CRFBVGjI.js} +1 -1
  2. package/dist/assets/ConnectedDataExplorerComponent-C5UW0p9I.js +1 -0
  3. package/dist/assets/{ErrorBoundary-CowFEmQK.js → ErrorBoundary-BKmN7zye.js} +2 -2
  4. package/dist/assets/JsonOutput-nqqzL-n0.js +11 -0
  5. package/dist/assets/{MarimoErrorOutput-p5jt_udI.js → MarimoErrorOutput-DCu6fm2y.js} +1 -1
  6. package/dist/assets/{RenderHTML-CqDY0F9e.js → RenderHTML-DRMkieKn.js} +1 -1
  7. package/dist/assets/RunButton-CPZWjCL9.js +1 -0
  8. package/dist/assets/{add-cell-with-ai-BKqOYjHI.js → add-cell-with-ai-sH3HbLJO.js} +1 -1
  9. package/dist/assets/{add-connection-dialog-CL3bFsGA.js → add-connection-dialog-pQcdKIlO.js} +2 -2
  10. package/dist/assets/{agent-panel-q9X3jIj0.js → agent-panel-Bkcf1sED.js} +1 -1
  11. package/dist/assets/ai-model-dropdown-D-51nbXZ.js +5 -0
  12. package/dist/assets/{app-config-button-Bylx9JDv.js → app-config-button-Dr1EwwIk.js} +1 -1
  13. package/dist/assets/{blob-BTk5Q8u9.js → blob-BIYte8oT.js} +1 -1
  14. package/dist/assets/cache-panel-BNPF4X5e.js +1 -0
  15. package/dist/assets/{cell-editor-DfRhvA75.js → cell-editor-Cmqe3QmM.js} +3 -3
  16. package/dist/assets/{cell-link-DRuyhIKm.js → cell-link-BeZAiE1D.js} +1 -1
  17. package/dist/assets/{cells-CuKxjgjJ.js → cells-h5u00Nz8.js} +3 -3
  18. package/dist/assets/{chat-display-BT4wYvSi.js → chat-display-CuZ8niXg.js} +1 -1
  19. package/dist/assets/chat-panel-CHPPwqcP.js +4 -0
  20. package/dist/assets/{chat-ui-DsHB8FDP.js → chat-ui-BJAcq-Ln.js} +1 -1
  21. package/dist/assets/column-preview-DtrgJzVI.js +1 -0
  22. package/dist/assets/{command-palette-DLjm6e2f.js → command-palette-DUPyVGsq.js} +1 -1
  23. package/dist/assets/{common-BHV00wKC.js → common-BMeq0Bqi.js} +1 -1
  24. package/dist/assets/{components-DzAIJKU7.js → components-CWcf8098.js} +1 -1
  25. package/dist/assets/{config-BaEZVOk2.js → config-CR2d-XsP.js} +1 -1
  26. package/dist/assets/{datasource-D0736MyK.js → datasource-BLHGFSsT.js} +1 -1
  27. package/dist/assets/{dependency-graph-panel-B6fAc_9C.js → dependency-graph-panel-C8X3Nn8W.js} +1 -1
  28. package/dist/assets/{documentation-panel-DQAQba71.js → documentation-panel-C8wrSKlX.js} +1 -1
  29. package/dist/assets/{download-D-MTWucM.js → download-CUgiCx7s.js} +1 -1
  30. package/dist/assets/edit-page-DMsRAPsr.js +9 -0
  31. package/dist/assets/{error-entries-CWxVwEPG.js → error-entries-DQD4A9cx.js} +1 -1
  32. package/dist/assets/{error-panel-DISYRsce.js → error-panel-BJYkwYEY.js} +1 -1
  33. package/dist/assets/{feedback-button-B1bYxCrZ.js → feedback-button-DbTjGwcX.js} +2 -2
  34. package/dist/assets/feedback-button-JqvnTSfN.js +1 -0
  35. package/dist/assets/file-explorer-panel-BQi88S1o.js +1 -0
  36. package/dist/assets/{file-name-input-BVXW4Ihy.js → file-name-input-DPJSxW_X.js} +1 -1
  37. package/dist/assets/{floating-outline-BhY3Wt-J.js → floating-outline-3PlTr0K1.js} +1 -1
  38. package/dist/assets/{gallery-page-Be8AbY36.js → gallery-page-BqvVmwde.js} +1 -1
  39. package/dist/assets/{glide-data-editor-D1Fip07J.js → glide-data-editor-CAa14cIr.js} +1 -1
  40. package/dist/assets/home-page-B_NxFh87.js +4 -0
  41. package/dist/assets/{hooks-BgpsvfLA.js → hooks-BHoInJWN.js} +1 -1
  42. package/dist/assets/index-C968xQuz.js +29 -0
  43. package/dist/assets/index-CF8Gfz1R.css +2 -0
  44. package/dist/assets/input-DPd57MDP.js +7 -0
  45. package/dist/assets/{layout-BAJKEADQ.js → layout-CzNq5YtR.js} +5 -5
  46. package/dist/assets/{logs-panel-CjHa5qIw.js → logs-panel-IKL6F2OX.js} +1 -1
  47. package/dist/assets/{markdown-renderer-quSCxU-_.js → markdown-renderer-DHvAXF8E.js} +1 -1
  48. package/dist/assets/{name-cell-input-Cba1m8_c.js → name-cell-input-j4eGLLyd.js} +1 -1
  49. package/dist/assets/{outline-panel-CWsF1QII.js → outline-panel-CprDWmxn.js} +1 -1
  50. package/dist/assets/{packages-panel-C-XEdHNc.js → packages-panel-BGqHk9nr.js} +1 -1
  51. package/dist/assets/{panel-accordion-state-u7avi-RV.js → panel-accordion-state-8xXVhawu.js} +1 -1
  52. package/dist/assets/{panels-B5iuV0lM.js → panels-Dsf6yEsA.js} +1 -1
  53. package/dist/assets/{process-output-DbjZ_y5T.js → process-output-DOmeJ1VR.js} +1 -1
  54. package/dist/assets/{readonly-code-display-Ctjk_xXb.js → readonly-code-display-xvH6MyT6.js} +1 -1
  55. package/dist/assets/{readonly-python-code-Ctej1jSH.js → readonly-python-code-D4YGmSvB.js} +1 -1
  56. package/dist/assets/{reveal-component-YHvm3T44.js → reveal-component-CJxdWpbj.js} +1 -1
  57. package/dist/assets/{run-page-BkMc69OJ.js → run-page-DCu4YGwW.js} +1 -1
  58. package/dist/assets/{sandbox-panel-fEQNl_1C.js → sandbox-panel-D5bRunTM.js} +1 -1
  59. package/dist/assets/{scratchpad-panel-CZ1PriSX.js → scratchpad-panel-BSlnM0TK.js} +1 -1
  60. package/dist/assets/{secrets-panel-Yc5ollBX.js → secrets-panel-DT1Nansx.js} +1 -1
  61. package/dist/assets/{select-Ww_82o86.js → select-BwRFbZty.js} +1 -1
  62. package/dist/assets/session-panel-BdN43Lzi.js +1 -0
  63. package/dist/assets/{snippets-panel-BFXHSCEq.js → snippets-panel-5_jR08Zd.js} +1 -1
  64. package/dist/assets/spec-D9d9nT0z.js +1 -0
  65. package/dist/assets/{state-Do1H9fl6.js → state-7os84dnI.js} +1 -1
  66. package/dist/assets/{state-CdP1z8ku.js → state-BxJ_FX3k.js} +1 -1
  67. package/dist/assets/switch-C-83e2fG.js +1 -0
  68. package/dist/assets/{list-filter-CTg19675.js → table-B7KYyTxw.js} +1 -1
  69. package/dist/assets/{toast-CL5SyrsO.js → toast-BRwEbWb6.js} +1 -1
  70. package/dist/assets/{tracing-DBfpxL3C.js → tracing-CRkNpBaH.js} +1 -1
  71. package/dist/assets/tracing-panel-DV2-2TUI.js +2 -0
  72. package/dist/assets/{tree-actions-DdvPjaze.js → tree-actions-CShqSonp.js} +1 -1
  73. package/dist/assets/{useAddCell-BbK54Wma.js → useAddCell-DesMfnE4.js} +1 -1
  74. package/dist/assets/{useCellActionButton-BEZZV5mI.js → useCellActionButton-BO5SFMxA.js} +1 -1
  75. package/dist/assets/useDateFormatter-CTYCgKB-.js +1 -0
  76. package/dist/assets/{useDeleteCell-BG8LgAEA.js → useDeleteCell-DSbUjpSC.js} +1 -1
  77. package/dist/assets/{useDependencyPanelTab-BEjMLLcY.js → useDependencyPanelTab-JIFiQrr2.js} +1 -1
  78. package/dist/assets/{useInstallPackage-DnijI-KS.js → useInstallPackage-CCQcFc6U.js} +1 -1
  79. package/dist/assets/{useNotebookActions-Cnznz5jV.js → useNotebookActions-BDD321Hs.js} +1 -1
  80. package/dist/assets/useNumberFormatter-BP99Zbyy.js +1 -0
  81. package/dist/assets/{useRunCells-DTPuvtCQ.js → useRunCells-Bx3wXUWO.js} +1 -1
  82. package/dist/assets/{useSplitCell-BuTWivoM.js → useSplitCell-BRmQP02b.js} +1 -1
  83. package/dist/assets/{write-secret-modal-DknTu1O1.js → write-secret-modal-BcosCmZy.js} +2 -2
  84. package/dist/index.html +32 -32
  85. package/package.json +3 -3
  86. package/src/components/data-table/TableTopBar.tsx +4 -0
  87. package/src/components/data-table/__tests__/export-actions.test.tsx +1111 -14
  88. package/src/components/data-table/__tests__/schemas.test.ts +57 -0
  89. package/src/components/data-table/data-table.tsx +3 -0
  90. package/src/components/data-table/export-actions.tsx +365 -81
  91. package/src/components/data-table/schemas.ts +90 -14
  92. package/src/components/editor/navigation/__tests__/navigation.test.ts +8 -8
  93. package/src/plugins/impl/DataTablePlugin.tsx +23 -2
  94. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +65 -8
  95. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +15 -3
  96. package/src/stories/dataframe.stories.tsx +7 -0
  97. package/dist/assets/ConnectedDataExplorerComponent-D5gfkAKK.js +0 -1
  98. package/dist/assets/JsonOutput-c1E0SCoN.js +0 -11
  99. package/dist/assets/RunButton-TcDo218m.js +0 -1
  100. package/dist/assets/ai-model-dropdown-CK8y46Fn.js +0 -5
  101. package/dist/assets/cache-panel-CKzoUIhe.js +0 -1
  102. package/dist/assets/chat-panel-C3Bu_7u5.js +0 -4
  103. package/dist/assets/column-preview-BltuXodG.js +0 -1
  104. package/dist/assets/edit-page-CMJrCnfU.js +0 -9
  105. package/dist/assets/feedback-button-BW1-NBBf.js +0 -1
  106. package/dist/assets/file-explorer-panel-VIG5c9ac.js +0 -1
  107. package/dist/assets/home-page-Dv2fEKyO.js +0 -4
  108. package/dist/assets/index-BGdpHNhZ.css +0 -2
  109. package/dist/assets/index-BdrTweFz.js +0 -29
  110. package/dist/assets/input-DnyzXg4C.js +0 -7
  111. package/dist/assets/session-panel-DD5LfQGb.js +0 -1
  112. package/dist/assets/spec-SOFn9xEK.js +0 -1
  113. package/dist/assets/switch-CPh_C6Mu.js +0 -1
  114. package/dist/assets/tracing-panel-CS9W1a0x.js +0 -2
  115. package/dist/assets/useDateFormatter-CjgScv5a.js +0 -1
  116. package/dist/assets/useNumberFormatter-C4-_TnkF.js +0 -1
  117. /package/dist/assets/{context-BFOBKCJB.js → I18nProvider-BFOBKCJB.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-Dc9HkKI2.js";import{t as c}from"./react-CUdNIagt.js";import{Ao as l,D as u,Kr as d,Oa as f,Q as p,Qr as m,Za as h,ai as g,b as _,ka as v,no as y,qa as b}from"./cells-CuKxjgjJ.js";import{t as x}from"./compiler-runtime-BQ9S8nyo.js";import{i as S,r as C,x as w}from"./config-Cyum2gRs.js";import{g as T,p as E}from"./useEventListener-IRzG-0mH.js";import{t as D}from"./invariant-Ci2dTZ72.js";import{O}from"./config-BAnYSdpO.js";import{t as ee}from"./cn-ldLVeaqm.js";import{t as k}from"./jsx-runtime-B74pBk57.js";import{a as A,i as j,o as te,r as ne,t as M}from"./config-BaEZVOk2.js";import{a as N,p as P,r as re,t as ie}from"./dropdown-menu-B2JUUcK7.js";import{t as F}from"./tooltip-B5pI8o2n.js";import{r as ae,t as I}from"./button-M49xxKoi.js";import{t as oe}from"./createLucideIcon-rHn2EdoM.js";import{t as se}from"./check-Wea4hZ6R.js";import{a as ce}from"./useNumberFormatter-C4-_TnkF.js";import{t as le}from"./chevron-right-DOPs2jx8.js";import{t as ue}from"./hat-glasses-DVgK5i5l.js";import{p as L}from"./write-secret-modal-DknTu1O1.js";import{t as de}from"./package-BeYhVWvM.js";import{l as fe,r as pe}from"./datasource-D0736MyK.js";import{t as me}from"./use-toast-CC89xOwH.js";import{n as he}from"./strings-hlCLC-K1.js";import{a as ge}from"./dist-DusFODSa.js";import{t as _e}from"./uuid-k9DpjH68.js";import{t as ve}from"./RenderHTML-CqDY0F9e.js";import{t as ye,u as be}from"./useInstallPackage-DnijI-KS.js";import{t as R}from"./kbd-BnUiViRu.js";import{r as xe,t as Se}from"./alert-MrQXRIin.js";import{n as Ce,o as we}from"./state-CdP1z8ku.js";import{n as z}from"./cell-link-DRuyhIKm.js";var B=oe(`square-arrow-out-up-right`,[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`,key:`y09zxi`}],[`path`,{d:`m21 3-9 9`,key:`mpx6sq`}],[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}]]),Te=oe(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),V=e(c(),1),H=x(),Ee=String.raw`_cell_([^\W_][\w-]*?)(_\w*)`,De=String.raw`(?<!_)${Ee}`;RegExp(`^${Ee}$`);var Oe=new RegExp(De),U=new RegExp(De,`g`);function ke(e){let t=[];U.lastIndex=0;let n=0,r=U.exec(e);for(;r!==null;)r.index>n&&t.push(e.slice(n,r.index)),t.push({cellId:r[1],name:r[2]}),n=r.index+r[0].length,r=U.exec(e);return n<e.length&&t.push(e.slice(n)),t}function Ae(e){return Oe.test(e)}function je(e){let t=null,n=e.cursor();do n.name===`ExpressionStatement`&&(t=n.node);while(n.next());return t}function Me(e){let t=e.split(`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-Dc9HkKI2.js";import{t as c}from"./react-CUdNIagt.js";import{Ao as l,D as u,Kr as d,Oa as f,Q as p,Qr as m,Za as h,ai as g,b as _,ka as v,no as y,qa as b}from"./cells-h5u00Nz8.js";import{t as x}from"./compiler-runtime-BQ9S8nyo.js";import{i as S,r as C,x as w}from"./config-Cyum2gRs.js";import{g as T,p as E}from"./useEventListener-IRzG-0mH.js";import{t as D}from"./invariant-Ci2dTZ72.js";import{O}from"./config-BAnYSdpO.js";import{t as ee}from"./cn-ldLVeaqm.js";import{t as k}from"./jsx-runtime-B74pBk57.js";import{a as A,i as j,o as te,r as ne,t as M}from"./config-CR2d-XsP.js";import{a as N,p as P,r as re,t as ie}from"./dropdown-menu-B2JUUcK7.js";import{t as F}from"./tooltip-B5pI8o2n.js";import{r as ae,t as I}from"./button-M49xxKoi.js";import{t as oe}from"./createLucideIcon-rHn2EdoM.js";import{t as se}from"./check-Wea4hZ6R.js";import{a as ce}from"./useNumberFormatter-BP99Zbyy.js";import{t as le}from"./chevron-right-DOPs2jx8.js";import{t as ue}from"./hat-glasses-DVgK5i5l.js";import{p as L}from"./write-secret-modal-BcosCmZy.js";import{t as de}from"./package-BeYhVWvM.js";import{l as fe,r as pe}from"./datasource-BLHGFSsT.js";import{t as me}from"./use-toast-CC89xOwH.js";import{n as he}from"./strings-hlCLC-K1.js";import{a as ge}from"./dist-DusFODSa.js";import{t as _e}from"./uuid-k9DpjH68.js";import{t as ve}from"./RenderHTML-DRMkieKn.js";import{t as ye,u as be}from"./useInstallPackage-CCQcFc6U.js";import{t as R}from"./kbd-BnUiViRu.js";import{r as xe,t as Se}from"./alert-MrQXRIin.js";import{n as Ce,o as we}from"./state-BxJ_FX3k.js";import{n as z}from"./cell-link-BeZAiE1D.js";var B=oe(`square-arrow-out-up-right`,[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`,key:`y09zxi`}],[`path`,{d:`m21 3-9 9`,key:`mpx6sq`}],[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}]]),Te=oe(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),V=e(c(),1),H=x(),Ee=String.raw`_cell_([^\W_][\w-]*?)(_\w*)`,De=String.raw`(?<!_)${Ee}`;RegExp(`^${Ee}$`);var Oe=new RegExp(De),U=new RegExp(De,`g`);function ke(e){let t=[];U.lastIndex=0;let n=0,r=U.exec(e);for(;r!==null;)r.index>n&&t.push(e.slice(n,r.index)),t.push({cellId:r[1],name:r[2]}),n=r.index+r[0].length,r=U.exec(e);return n<e.length&&t.push(e.slice(n)),t}function Ae(e){return Oe.test(e)}function je(e){let t=null,n=e.cursor();do n.name===`ExpressionStatement`&&(t=n.node);while(n.next());return t}function Me(e){let t=e.split(`
2
2
  `),n=` `,r=je(ge.parse(e));if(!r)return[`def _():`,...W(t,n),`${n}return`,``,``,`_()`].join(`
3
3
  `);let i=e.slice(0,r.from).trim(),a=e.slice(r.from).trim(),o=i.split(`
4
4
  `),s=a.split(`
@@ -1,2 +1,2 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n,r}from"./useEvent-Dc9HkKI2.js";import{t as i}from"./react-CUdNIagt.js";import{Mr as a,Oa as o,Vr as s,ka as c,m as l,ut as u}from"./cells-CuKxjgjJ.js";import{t as d}from"./compiler-runtime-BQ9S8nyo.js";import{s as f}from"./config-Cyum2gRs.js";import{g as p}from"./useEventListener-IRzG-0mH.js";import{d as m}from"./session-BykGt6S3.js";import{t as h}from"./jsx-runtime-B74pBk57.js";import{t as g}from"./tooltip-B5pI8o2n.js";import{U as _}from"./input-DnyzXg4C.js";import{t as v}from"./copy-icon-wfSGfX8v.js";import{r as y}from"./useDebounce-DMbg9X18.js";import{t as b}from"./useRunCells-DTPuvtCQ.js";var x=d(),S=e(i(),1),C=h(),w=e=>{let t=(0,x.c)(16),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({href:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=(0,S.useRef)(null),o;t[4]===r?o=t[5]:(o=()=>{let e=new URL(globalThis.location.href);e.hash=r,globalThis.history.pushState({},``,e.toString()),globalThis.dispatchEvent(new HashChangeEvent(`hashchange`));let t=r.slice(1),n=document.getElementById(t);n&&n.scrollIntoView({behavior:`smooth`,block:`start`})},t[4]=r,t[5]=o);let s=o,c;t[6]===s?c=t[7]:(c={onPress:()=>{s()}},t[6]=s,t[7]=c);let{pressProps:l}=_(c),u;t[8]===s?u=t[9]:(u=e=>{e.preventDefault(),s()},t[8]=s,t[9]=u);let d=u,f;return t[10]!==n||t[11]!==d||t[12]!==r||t[13]!==l||t[14]!==i?(f=(0,C.jsx)(`a`,{ref:a,href:r,...l,onClick:d,...i,children:n}),t[10]=n,t[11]=d,t[12]=r,t[13]=l,t[14]=i,t[15]=f):f=t[15],f};async function T(e){let t=l().inOrderIds.at(0);if(t)try{let n=await a.request({document:e,cellId:t});if(!n||n.options.length===0)return;let i=e.split(`.`).pop()??e,o=n.options[0],c=n.options.find(e=>e.name===i)??o;c?.completion_info&&r.set(s,{documentation:c.completion_info})}catch(t){p.debug(`Doc lookup failed for "${e}"`,t)}}var E=e=>{let t=(0,x.c)(8),{qualifiedName:n,children:r}=e,i;t[0]===n?i=t[1]:(i=()=>{T(n)},t[0]=n,t[1]=i);let a=y(i,100),o;t[2]===a?o=t[3]:(o=()=>a.cancel(),t[2]=a,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,C.jsx)(`span`,{onMouseEnter:a,onMouseLeave:o,children:r}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s};function D(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(t.trusted!==!0||t.notebookCode!==void 0&&typeof t.notebookCode!=`string`)}function O(){let e=window?.__MARIMO_EXPORT_CONTEXT__;return D(e)?e:void 0}function k(){return O()?.trusted===!0}function A(){if(r.get(b)||k()||r.get(f))return!0;try{if(m()===`read`)return!0}catch{}return!1}var j=t(e=>{let t=e(b),n=e(f);if(t||n||k())return!1;let r=!0;try{r=m()===`read`}catch{return!0}return!r});function M(){return n(j)}var N=[],P=e=>{if(e instanceof c.Element&&!/^[A-Za-z][\w-]*$/.test(e.name))return S.createElement(S.Fragment)},F=(e,t)=>{if(t instanceof c.Element&&t.name===`body`){if((0,S.isValidElement)(e)&&`props`in e){let t=e.props.children;return(0,C.jsx)(C.Fragment,{children:t})}return}},I=(e,t)=>{if(t instanceof c.Element&&t.name===`html`){if((0,S.isValidElement)(e)&&`props`in e){let t=e.props.children;return(0,C.jsx)(C.Fragment,{children:t})}return}},L=e=>{if(e instanceof c.Element&&e.attribs&&e.name===`iframe`){let t=document.createElement(`iframe`);return Object.entries(e.attribs).forEach(([e,n])=>{e.startsWith(`"`)&&e.endsWith(`"`)&&(e=e.slice(1,-1)),t.setAttribute(e,n)}),(0,C.jsx)(`div`,{dangerouslySetInnerHTML:{__html:t.outerHTML}})}},R=e=>{if(e instanceof c.Element&&e.name===`script`){let t=e.attribs.src;if(!t)return;if(!A())return p.warn(`[RenderHTML] refusing <script src> in untrusted context: ${t}`),(0,C.jsx)(C.Fragment,{});if(![...document.querySelectorAll(`script[src]`)].some(e=>e.getAttribute(`src`)===t)){let e=document.createElement(`script`);e.src=t,document.head.append(e)}return(0,C.jsx)(C.Fragment,{})}},z=(e,t)=>{if(t instanceof c.Element&&t.name===`a`){let n=t.attribs.href;if(n?.startsWith(`#`)&&!n.startsWith(`#code/`)){let r=null;return(0,S.isValidElement)(e)&&`props`in e&&(r=e.props.children),(0,C.jsx)(w,{href:n,...t.attribs,children:r})}}},B=(e,t,n)=>{if(t instanceof c.Element&&t.name===`div`&&t.attribs?.class?.includes(`codehilite`))return(0,C.jsx)(G,{children:e},n)},V=(e,t,n)=>{if(!(t instanceof c.Element)||t.name!==`img`)return;let r=t.attribs?.src;if(!(!r||!(0,S.isValidElement)(e))&&!/^data:/i.test(r))return(0,S.cloneElement)(e,{key:`${r}-${n}`})},H=(e,t,n)=>{if(!(t instanceof c.Element)||t.name!==`input`||t.attribs?.type!==`checkbox`||!(0,S.isValidElement)(e))return;let r=`checked`in t.attribs;return(0,S.cloneElement)(e,{key:`checkbox-${n}-${r}`})},U=(e,t)=>{if(t instanceof c.Element&&t.attribs?.[`data-marimo-doc`]){let n=t.attribs[`data-marimo-doc`];return(0,C.jsx)(E,{qualifiedName:n,children:e})}},W=(e,t)=>{if(t instanceof c.Element&&t.attribs?.[`data-tooltip`]){if((t.name?.toLowerCase()??``).startsWith(`marimo-`))return;let n=t.attribs[`data-tooltip`].replace(/^[\r\n]+|[\r\n]+$/g,``);return(0,C.jsx)(g,{content:n.includes(`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n,r}from"./useEvent-Dc9HkKI2.js";import{t as i}from"./react-CUdNIagt.js";import{Mr as a,Oa as o,Vr as s,ka as c,m as l,ut as u}from"./cells-h5u00Nz8.js";import{t as d}from"./compiler-runtime-BQ9S8nyo.js";import{s as f}from"./config-Cyum2gRs.js";import{g as p}from"./useEventListener-IRzG-0mH.js";import{d as m}from"./session-BykGt6S3.js";import{t as h}from"./jsx-runtime-B74pBk57.js";import{t as g}from"./tooltip-B5pI8o2n.js";import{L as _}from"./input-DPd57MDP.js";import{t as v}from"./copy-icon-wfSGfX8v.js";import{r as y}from"./useDebounce-DMbg9X18.js";import{t as b}from"./useRunCells-Bx3wXUWO.js";var x=d(),S=e(i(),1),C=h(),w=e=>{let t=(0,x.c)(16),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({href:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=(0,S.useRef)(null),o;t[4]===r?o=t[5]:(o=()=>{let e=new URL(globalThis.location.href);e.hash=r,globalThis.history.pushState({},``,e.toString()),globalThis.dispatchEvent(new HashChangeEvent(`hashchange`));let t=r.slice(1),n=document.getElementById(t);n&&n.scrollIntoView({behavior:`smooth`,block:`start`})},t[4]=r,t[5]=o);let s=o,c;t[6]===s?c=t[7]:(c={onPress:()=>{s()}},t[6]=s,t[7]=c);let{pressProps:l}=_(c),u;t[8]===s?u=t[9]:(u=e=>{e.preventDefault(),s()},t[8]=s,t[9]=u);let d=u,f;return t[10]!==n||t[11]!==d||t[12]!==r||t[13]!==l||t[14]!==i?(f=(0,C.jsx)(`a`,{ref:a,href:r,...l,onClick:d,...i,children:n}),t[10]=n,t[11]=d,t[12]=r,t[13]=l,t[14]=i,t[15]=f):f=t[15],f};async function T(e){let t=l().inOrderIds.at(0);if(t)try{let n=await a.request({document:e,cellId:t});if(!n||n.options.length===0)return;let i=e.split(`.`).pop()??e,o=n.options[0],c=n.options.find(e=>e.name===i)??o;c?.completion_info&&r.set(s,{documentation:c.completion_info})}catch(t){p.debug(`Doc lookup failed for "${e}"`,t)}}var E=e=>{let t=(0,x.c)(8),{qualifiedName:n,children:r}=e,i;t[0]===n?i=t[1]:(i=()=>{T(n)},t[0]=n,t[1]=i);let a=y(i,100),o;t[2]===a?o=t[3]:(o=()=>a.cancel(),t[2]=a,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,C.jsx)(`span`,{onMouseEnter:a,onMouseLeave:o,children:r}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s};function D(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(t.trusted!==!0||t.notebookCode!==void 0&&typeof t.notebookCode!=`string`)}function O(){let e=window?.__MARIMO_EXPORT_CONTEXT__;return D(e)?e:void 0}function k(){return O()?.trusted===!0}function A(){if(r.get(b)||k()||r.get(f))return!0;try{if(m()===`read`)return!0}catch{}return!1}var j=t(e=>{let t=e(b),n=e(f);if(t||n||k())return!1;let r=!0;try{r=m()===`read`}catch{return!0}return!r});function M(){return n(j)}var N=[],P=e=>{if(e instanceof c.Element&&!/^[A-Za-z][\w-]*$/.test(e.name))return S.createElement(S.Fragment)},F=(e,t)=>{if(t instanceof c.Element&&t.name===`body`){if((0,S.isValidElement)(e)&&`props`in e){let t=e.props.children;return(0,C.jsx)(C.Fragment,{children:t})}return}},I=(e,t)=>{if(t instanceof c.Element&&t.name===`html`){if((0,S.isValidElement)(e)&&`props`in e){let t=e.props.children;return(0,C.jsx)(C.Fragment,{children:t})}return}},L=e=>{if(e instanceof c.Element&&e.attribs&&e.name===`iframe`){let t=document.createElement(`iframe`);return Object.entries(e.attribs).forEach(([e,n])=>{e.startsWith(`"`)&&e.endsWith(`"`)&&(e=e.slice(1,-1)),t.setAttribute(e,n)}),(0,C.jsx)(`div`,{dangerouslySetInnerHTML:{__html:t.outerHTML}})}},R=e=>{if(e instanceof c.Element&&e.name===`script`){let t=e.attribs.src;if(!t)return;if(!A())return p.warn(`[RenderHTML] refusing <script src> in untrusted context: ${t}`),(0,C.jsx)(C.Fragment,{});if(![...document.querySelectorAll(`script[src]`)].some(e=>e.getAttribute(`src`)===t)){let e=document.createElement(`script`);e.src=t,document.head.append(e)}return(0,C.jsx)(C.Fragment,{})}},z=(e,t)=>{if(t instanceof c.Element&&t.name===`a`){let n=t.attribs.href;if(n?.startsWith(`#`)&&!n.startsWith(`#code/`)){let r=null;return(0,S.isValidElement)(e)&&`props`in e&&(r=e.props.children),(0,C.jsx)(w,{href:n,...t.attribs,children:r})}}},B=(e,t,n)=>{if(t instanceof c.Element&&t.name===`div`&&t.attribs?.class?.includes(`codehilite`))return(0,C.jsx)(G,{children:e},n)},V=(e,t,n)=>{if(!(t instanceof c.Element)||t.name!==`img`)return;let r=t.attribs?.src;if(!(!r||!(0,S.isValidElement)(e))&&!/^data:/i.test(r))return(0,S.cloneElement)(e,{key:`${r}-${n}`})},H=(e,t,n)=>{if(!(t instanceof c.Element)||t.name!==`input`||t.attribs?.type!==`checkbox`||!(0,S.isValidElement)(e))return;let r=`checked`in t.attribs;return(0,S.cloneElement)(e,{key:`checkbox-${n}-${r}`})},U=(e,t)=>{if(t instanceof c.Element&&t.attribs?.[`data-marimo-doc`]){let n=t.attribs[`data-marimo-doc`];return(0,C.jsx)(E,{qualifiedName:n,children:e})}},W=(e,t)=>{if(t instanceof c.Element&&t.attribs?.[`data-tooltip`]){if((t.name?.toLowerCase()??``).startsWith(`marimo-`))return;let n=t.attribs[`data-tooltip`].replace(/^[\r\n]+|[\r\n]+$/g,``);return(0,C.jsx)(g,{content:n.includes(`
2
2
  `)?(0,C.jsx)(`span`,{className:`whitespace-pre-wrap`,children:n.split(/\r?\n/).map((e,t)=>(0,C.jsxs)(S.Fragment,{children:[t>0&&(0,C.jsx)(`br`,{}),e]},t))}):n,children:e})}},G=e=>{let t=(0,x.c)(3),{children:n}=e,r=(0,S.useRef)(null),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,C.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,C.jsx)(v,{tooltip:!1,className:`p-1`,value:()=>{let e=r.current?.firstChild;return e&&e.textContent||``}})}),t[0]=i):i=t[0];let a;return t[1]===n?a=t[2]:(a=(0,C.jsxs)(`div`,{className:`relative group codehilite-wrapper`,ref:r,children:[n,i]}),t[1]=n,t[2]=a),a},K=({html:e,additionalReplacements:t=N,alwaysSanitizeHtml:n=!0})=>(0,C.jsx)(q,{html:e,alwaysSanitizeHtml:n,additionalReplacements:t}),q=e=>{let t=(0,x.c)(5),{html:n,additionalReplacements:r,alwaysSanitizeHtml:i}=e,a=r===void 0?N:r,o=M(),s;bb0:{if(i||o){let e;t[0]===n?e=t[1]:(e=u(n),t[0]=n,t[1]=e),s=e;break bb0}s=n}let c=s,l;return t[2]!==a||t[3]!==c?(l=J({html:c,additionalReplacements:a}),t[2]=a,t[3]=c,t[4]=l):l=t[4],l};function J({html:e,additionalReplacements:t=N}){let n=[P,L,R,...t],r=[B,z,U,W,F,I],i=[V,H];return o(e,{replace:(e,t)=>{for(let r of n){let n=r(e,t);if(n)return n}return e},transform:(e,t,n)=>{let a=e;for(let e of r){let r=e(a,t,n);if(r){a=r;break}}for(let e of i){let r=e(a,t,n);r&&(a=r)}return a}})}export{k as n,K as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{t as n}from"./compiler-runtime-BQ9S8nyo.js";import{_ as r}from"./useEventListener-IRzG-0mH.js";import{m as i,u as a}from"./config-BAnYSdpO.js";import{n as o,t as s}from"./cn-ldLVeaqm.js";import{t as c}from"./jsx-runtime-B74pBk57.js";import{o as l}from"./switch-C-83e2fG.js";import{t as u}from"./tooltip-B5pI8o2n.js";import{r as d}from"./button-M49xxKoi.js";import{t as f}from"./createLucideIcon-rHn2EdoM.js";import{i as p}from"./useDeleteCell-DSbUjpSC.js";import{Et as m,Ft as h,Kt as g,Pt as _,St as v,Ut as y,V as b,wt as x,zt as S}from"./input-DPd57MDP.js";import{t as C}from"./square-DvOKKLHZ.js";import{r as w}from"./requests-yTHMxhVa.js";import{t as T}from"./I18nProvider-BFOBKCJB.js";import{a as E}from"./renderShortcut-BnRfkbwf.js";var D=f(`hard-drive-download`,[[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`path`,{d:`m16 6-4 4-4-4`,key:`6wukr`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]),O=e(t(),1);function k(e,t){let{"aria-label":n,"aria-labelledby":r,orientation:i=`horizontal`}=e,[a,o]=(0,O.useState)(!1);g(()=>{o(!!(t.current&&t.current.parentElement?.closest(`[role="toolbar"]`)))});let{direction:s}=T(),c=s===`rtl`&&i===`horizontal`,u=l(t),d=e=>{if(v(e.currentTarget,m(e))){if(i===`horizontal`&&e.key===`ArrowRight`||i===`vertical`&&e.key===`ArrowDown`)c?u.focusPrevious():u.focusNext();else if(i===`horizontal`&&e.key===`ArrowLeft`||i===`vertical`&&e.key===`ArrowUp`)c?u.focusNext():u.focusPrevious();else if(e.key===`Tab`){f.current=x(),e.shiftKey?u.focusFirst():u.focusLast();return}else return;e.stopPropagation(),e.preventDefault()}},f=(0,O.useRef)(null),p=e=>{!v(e.currentTarget,e.relatedTarget)&&!f.current&&(f.current=m(e))},h=e=>{f.current&&!v(e.currentTarget,e.relatedTarget)&&v(t.current,m(e))&&(f.current?.focus(),f.current=null)};return{toolbarProps:{...b(e,{labelable:!0}),role:a?`group`:`toolbar`,"aria-orientation":i,"aria-label":n,"aria-labelledby":n==null?r:void 0,onKeyDownCapture:a?void 0:d,onFocusCapture:a?void 0:h,onBlurCapture:a?void 0:p}}}var A=(0,O.createContext)({}),j=(0,O.forwardRef)(function(e,t){[e,t]=_(e,t,A);let{toolbarProps:n}=k(e,t),r=h({...e,values:{orientation:e.orientation||`horizontal`},defaultClassName:`react-aria-Toolbar`}),i=b(e,{global:!0});return delete i.id,O.createElement(S.div,{...y(i,r,n),ref:t,slot:e.slot||void 0,"data-orientation":e.orientation||`horizontal`},r.children)}),M=c(),N=n(),P=200;function F(e){let t=(0,N.c)(3),[n,r]=(0,O.useState)(!1),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;r(!1);let t=setTimeout(()=>{r(!0)},P);return()=>clearTimeout(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,O.useEffect)(i,a),e&&n}var I=o(`rounded-full shadow-xs-solid border p-[5px] transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 [&>svg]:size-3 active:shadow-none bg-background`,{variants:{variant:{default:`hover:bg-accent hover:text-accent-foreground`,stale:`bg-(--yellow-3) hover:bg-(--yellow-4) text-(--yellow-11)`,green:`hover:bg-(--grass-2) hover:text-(--grass-11) hover:border-[var(--grass-7)],`,disabled:`opacity-50 cursor-not-allowed`,danger:`hover:bg-(--red-3) hover:text-(--red-11)`}},defaultVariants:{variant:`default`}}),L=e=>{let t=(0,N.c)(22),n,r,i,a,o,c,l,f,p;if(t[0]!==e){let{children:u,tooltip:m,disabled:h,variant:g,..._}=e;n=u,p=m;let v=h!==void 0&&h;r=`button`,i=v,a=_,o=e=>{!d.hasModifier(e)&&(e.key===`Enter`||e.key===` `)&&e.stopPropagation(),_.onKeyDown?.(e)},c=e=>{v||_.onClick?.(e)},l=d.preventFocus,f=s(I({variant:g}),_.className),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=c,t[7]=l,t[8]=f,t[9]=p}else n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],c=t[6],l=t[7],f=t[8],p=t[9];let m;t[10]!==n||t[11]!==r||t[12]!==i||t[13]!==a||t[14]!==o||t[15]!==c||t[16]!==l||t[17]!==f?(m=(0,M.jsx)(`button`,{type:r,disabled:i,...a,onKeyDown:o,onClick:c,onMouseDown:l,className:f,children:n}),t[10]=n,t[11]=r,t[12]=i,t[13]=a,t[14]=o,t[15]=c,t[16]=l,t[17]=f,t[18]=m):m=t[18];let h=m;if(p){let e;return t[19]!==h||t[20]!==p?(e=(0,M.jsx)(u,{content:p,side:`top`,delayDuration:200,usePortal:!1,children:h}),t[19]=h,t[20]=p,t[21]=e):e=t[21],e}return h},R=e=>{let t=(0,N.c)(5),{children:n,className:r}=e,i;t[0]===r?i=t[1]:(i=s(`flex items-center gap-1 bg-background m-[2px] rounded-full`,r),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,M.jsx)(j,{className:i,children:n}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a},z=e=>{let t=(0,N.c)(9),{connectionState:n,status:a}=e,{sendInterrupt:o}=w(),s=F(a===`running`),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=E(`global.interrupt`),t[0]=c):c=t[0];let l;t[1]!==n||t[2]!==s?(l=i(n)||!s,t[1]=n,t[2]=s,t[3]=l):l=t[3];let u=s?o:r.NOOP,d=s?`stale`:`disabled`,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,M.jsx)(C,{strokeWidth:1.5}),t[4]=f):f=t[4];let p;return t[5]!==l||t[6]!==u||t[7]!==d?(p=(0,M.jsx)(L,{tooltip:c,disabled:l,onClick:u,variant:d,"data-testid":`run-button`,children:f}),t[5]=l,t[6]=u,t[7]=d,t[8]=p):p=t[8],p};function B({connectionState:e,needsRun:t,loading:n,inactive:r}){return i(e)?`disabled`:t&&!n?`stale`:n||r?`disabled`:`green`}var V=e=>{let t=(0,N.c)(27),{onClick:n,connectionState:r,needsRun:o,status:s,config:c,edited:l}=e,u=s===`disabled-transitively`,d=s===`running`||s===`queued`,f,m;t[0]!==u||t[1]!==c.disabled||t[2]!==r||t[3]!==l||t[4]!==d||t[5]!==o?(f=i(r)||d||!c.disabled&&u&&!l,m=B({connectionState:r,needsRun:o,loading:d,inactive:f}),t[0]=u,t[1]=c.disabled,t[2]=r,t[3]=l,t[4]=d,t[5]=o,t[6]=f,t[7]=m):(f=t[6],m=t[7]);let h=m;if(c.disabled){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(D,{}),t[8]=e):e=t[8];let r;return t[9]!==f||t[10]!==n||t[11]!==h?(r=(0,M.jsx)(L,{tooltip:`Add code to notebook`,disabled:f,onClick:n,variant:h,"data-testid":`run-button`,children:e}),t[9]=f,t[10]=n,t[11]=h,t[12]=r):r=t[12],r}if(!c.disabled&&u&&!l){let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(p,{strokeWidth:1.2}),t[13]=e):e=t[13];let r;return t[14]!==f||t[15]!==n||t[16]!==h?(r=(0,M.jsx)(L,{disabled:f,tooltip:`This cell can't be run because it has a disabled ancestor`,onClick:n,variant:h,"data-testid":`run-button`,children:e}),t[14]=f,t[15]=n,t[16]=h,t[17]=r):r=t[17],r}let g;if(i(r)){let e;t[18]===r?e=t[19]:(e=a(r),t[18]=r,t[19]=e),g=e}else if(s===`queued`)g=`This cell is already queued to run`;else if(s===`running`)g=`This cell is already running.`;else{let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=E(`cell.run`),t[20]=e):e=t[20],g=e}let _;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,M.jsx)(p,{strokeWidth:1.2}),t[21]=_):_=t[21];let v;return t[22]!==f||t[23]!==n||t[24]!==g||t[25]!==h?(v=(0,M.jsx)(L,{tooltip:g,disabled:f,onClick:n,variant:h,"data-testid":`run-button`,children:_}),t[22]=f,t[23]=n,t[24]=g,t[25]=h,t[26]=v):v=t[26],v};export{F as a,L as i,z as n,R as r,V as t};
@@ -1,4 +1,4 @@
1
- import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{a as n,c as r,d as i,f as a,l as o,r as s,t as c}from"./useEvent-Dc9HkKI2.js";import{t as l}from"./react-CUdNIagt.js";import{Bt as u,D as d,Fa as f,Fi as p,In as m,Pi as h,Qr as g,Ti as _,Va as v,Z as y,Zn as b,_a as x,b as S,bo as C,da as ee,f as te,ft as ne,ir as w,ja as T,ji as E,qa as re,ti as ie,yo as ae}from"./cells-CuKxjgjJ.js";import{A as oe,B as se,C as ce,D as le,E as ue,I as de,L as fe,N as pe,P as D,R as me,S as he,T as ge,W as _e,_ as ve,j as O,k as ye,v as be,w as xe,x as Se,y as Ce}from"./schemas-BL-NsLlF.js";import{t as we}from"./compiler-runtime-BQ9S8nyo.js";import{t as Te}from"./config-Cyum2gRs.js";import{M as Ee,m as De,t as Oe}from"./ai-model-dropdown-CK8y46Fn.js";import{f as ke,g as k}from"./useEventListener-IRzG-0mH.js";import{o as Ae}from"./session-BykGt6S3.js";import{A as je,O as Me,o as Ne}from"./config-BAnYSdpO.js";import{t as Pe}from"./cn-ldLVeaqm.js";import{t as Fe}from"./jsx-runtime-B74pBk57.js";import{a as Ie,c as Le,p as Re,r as ze,t as Be}from"./dropdown-menu-B2JUUcK7.js";import{t as Ve}from"./tooltip-B5pI8o2n.js";import{t as He}from"./button-M49xxKoi.js";import{t as Ue}from"./createLucideIcon-rHn2EdoM.js";import{i as We,r as Ge}from"./paths-CzfpItSz.js";import{r as Ke,t as qe}from"./fileToBase64-aqhlf6Jj.js";import{r as Je}from"./useNumberFormatter-C4-_TnkF.js";import{f as Ye,n as Xe}from"./markdown-renderer-quSCxU-_.js";import{t as Ze}from"./file-mCR_SMtq.js";import{t as Qe}from"./image-CTch9x2I.js";import{t as $e}from"./spinner-CGdRKCnw.js";import{i as et,t as tt}from"./useDeleteCell-BG8LgAEA.js";import{r as nt}from"./input-DnyzXg4C.js";import{a as rt,c as it,i as at,n as ot,o as st,s as ct,t as lt}from"./datasource-D0736MyK.js";import{t as ut}from"./use-toast-CC89xOwH.js";import{$t as dt,Et as ft,Gt as pt,Jt as mt,Kt as ht,Qt as gt,Tt as _t,at as vt,dt as yt,st as bt,tn as xt,ut as St}from"./dist-Cny7_yZb.js";import{t as Ct}from"./createReducer-W5dowuCe.js";import{h as wt,n as Tt,o as Et,r as Dt}from"./dist-qhAY4L2r.js";import{t as Ot}from"./requests-yTHMxhVa.js";import{a as kt}from"./dist-LSsCJjA3.js";import{t as At}from"./uuid-k9DpjH68.js";import{r as jt}from"./useTheme-BkPLyRl9.js";import{n as Mt}from"./useRunCells-DTPuvtCQ.js";import{n as Nt}from"./blob-BTk5Q8u9.js";import{a as Pt}from"./errors-D9vyuMar.js";import{i as Ft}from"./cell-link-DRuyhIKm.js";import{t as It}from"./html-to-image-CFVIG1VZ.js";import{n as Lt}from"./renderShortcut-BnRfkbwf.js";import{n as Rt}from"./icons-CVdkfEA3.js";import{r as zt,t as Bt}from"./esm-3WkPrffD.js";import{t as Vt}from"./process-output-DbjZ_y5T.js";import{i as Ht,r as Ut,t as Wt}from"./error-entries-CWxVwEPG.js";var Gt=Ue(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),Kt=Ue(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),qt=Ue(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),A=we(),Jt=`vercel.ai.error`,Yt=Symbol.for(Jt),Xt,Zt,j=class e extends (Zt=Error,Xt=Yt,Zt){constructor({name:e,message:t,cause:n}){super(t),this[Xt]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Jt)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};function Qt(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}var $t=`AI_InvalidArgumentError`,en=`vercel.ai.error.${$t}`,tn=Symbol.for(en),nn,rn,an=class extends (rn=j,nn=tn,rn){constructor({message:e,cause:t,argument:n}){super({name:$t,message:e,cause:t}),this[nn]=!0,this.argument=n}static isInstance(e){return j.hasMarker(e,en)}},on=`AI_JSONParseError`,sn=`vercel.ai.error.${on}`,cn=Symbol.for(sn),ln,un,dn=class extends (un=j,ln=cn,un){constructor({text:e,cause:t}){super({name:on,message:`JSON parsing failed: Text: ${e}.
1
+ import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{a as n,c as r,d as i,f as a,l as o,r as s,t as c}from"./useEvent-Dc9HkKI2.js";import{t as l}from"./react-CUdNIagt.js";import{Bt as u,D as d,Fa as f,Fi as p,In as m,Pi as h,Qr as g,Ti as _,Va as v,Z as y,Zn as b,_a as x,b as S,bo as C,da as ee,f as te,ft as ne,ir as w,ja as T,ji as E,qa as re,ti as ie,yo as ae}from"./cells-h5u00Nz8.js";import{A as oe,B as se,C as ce,D as le,E as ue,I as de,L as fe,N as pe,P as D,R as me,S as he,T as ge,W as _e,_ as ve,j as O,k as ye,v as be,w as xe,x as Se,y as Ce}from"./schemas-BL-NsLlF.js";import{t as we}from"./compiler-runtime-BQ9S8nyo.js";import{t as Te}from"./config-Cyum2gRs.js";import{M as Ee,m as De,t as Oe}from"./ai-model-dropdown-D-51nbXZ.js";import{f as ke,g as k}from"./useEventListener-IRzG-0mH.js";import{o as Ae}from"./session-BykGt6S3.js";import{A as je,O as Me,o as Ne}from"./config-BAnYSdpO.js";import{t as Pe}from"./cn-ldLVeaqm.js";import{t as Fe}from"./jsx-runtime-B74pBk57.js";import{a as Ie,c as Le,p as Re,r as ze,t as Be}from"./dropdown-menu-B2JUUcK7.js";import{t as Ve}from"./tooltip-B5pI8o2n.js";import{t as He}from"./button-M49xxKoi.js";import{t as Ue}from"./createLucideIcon-rHn2EdoM.js";import{i as We,r as Ge}from"./paths-CzfpItSz.js";import{r as Ke,t as qe}from"./fileToBase64-aqhlf6Jj.js";import{r as Je}from"./useNumberFormatter-BP99Zbyy.js";import{f as Ye,n as Xe}from"./markdown-renderer-DHvAXF8E.js";import{t as Ze}from"./file-mCR_SMtq.js";import{t as Qe}from"./image-CTch9x2I.js";import{t as $e}from"./spinner-CGdRKCnw.js";import{i as et,t as tt}from"./useDeleteCell-DSbUjpSC.js";import{r as nt}from"./input-DPd57MDP.js";import{a as rt,c as it,i as at,n as ot,o as st,s as ct,t as lt}from"./datasource-BLHGFSsT.js";import{t as ut}from"./use-toast-CC89xOwH.js";import{$t as dt,Et as ft,Gt as pt,Jt as mt,Kt as ht,Qt as gt,Tt as _t,at as vt,dt as yt,st as bt,tn as xt,ut as St}from"./dist-Cny7_yZb.js";import{t as Ct}from"./createReducer-W5dowuCe.js";import{h as wt,n as Tt,o as Et,r as Dt}from"./dist-qhAY4L2r.js";import{t as Ot}from"./requests-yTHMxhVa.js";import{a as kt}from"./dist-LSsCJjA3.js";import{t as At}from"./uuid-k9DpjH68.js";import{r as jt}from"./useTheme-BkPLyRl9.js";import{n as Mt}from"./useRunCells-Bx3wXUWO.js";import{n as Nt}from"./blob-BIYte8oT.js";import{a as Pt}from"./errors-D9vyuMar.js";import{i as Ft}from"./cell-link-BeZAiE1D.js";import{t as It}from"./html-to-image-CFVIG1VZ.js";import{n as Lt}from"./renderShortcut-BnRfkbwf.js";import{n as Rt}from"./icons-CVdkfEA3.js";import{r as zt,t as Bt}from"./esm-3WkPrffD.js";import{t as Vt}from"./process-output-DOmeJ1VR.js";import{i as Ht,r as Ut,t as Wt}from"./error-entries-DQD4A9cx.js";var Gt=Ue(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),Kt=Ue(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),qt=Ue(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),A=we(),Jt=`vercel.ai.error`,Yt=Symbol.for(Jt),Xt,Zt,j=class e extends (Zt=Error,Xt=Yt,Zt){constructor({name:e,message:t,cause:n}){super(t),this[Xt]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Jt)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};function Qt(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}var $t=`AI_InvalidArgumentError`,en=`vercel.ai.error.${$t}`,tn=Symbol.for(en),nn,rn,an=class extends (rn=j,nn=tn,rn){constructor({message:e,cause:t,argument:n}){super({name:$t,message:e,cause:t}),this[nn]=!0,this.argument=n}static isInstance(e){return j.hasMarker(e,en)}},on=`AI_JSONParseError`,sn=`vercel.ai.error.${on}`,cn=Symbol.for(sn),ln,un,dn=class extends (un=j,ln=cn,un){constructor({text:e,cause:t}){super({name:on,message:`JSON parsing failed: Text: ${e}.
2
2
  Error message: ${Qt(t)}`,cause:t}),this[ln]=!0,this.text=e}static isInstance(e){return j.hasMarker(e,sn)}},fn=`AI_TypeValidationError`,pn=`vercel.ai.error.${fn}`,mn=Symbol.for(pn),hn,gn,_n=class e extends (gn=j,hn=mn,gn){constructor({value:e,cause:t,context:n}){let r=`Type validation failed`;if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=` (`;let e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),r+=e.join(`, `),r+=`)`}super({name:fn,message:`${r}: Value: ${JSON.stringify(e)}.
3
3
  Error message: ${Qt(t)}`,cause:t}),this[hn]=!0,this.value=e,this.context=n}static isInstance(e){return j.hasMarker(e,pn)}static wrap({value:t,cause:n,context:r}){return e.isInstance(n)&&n.value===t&&n.context?.field===r?.field&&n.context?.entityName===r?.entityName&&n.context?.entityId===r?.entityId?n:new e({value:t,cause:n,context:r})}},vn=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},yn=10,bn=13,xn=32;function Sn(e){}function Cn(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Sn,onError:n=Sn,onRetry:r=Sn,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`
4
4
  `)===-1&&e.indexOf(`\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new vn(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\r`)===-1){let r=e.indexOf(`
@@ -1,4 +1,4 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{At as n,Mt as r,gi as i,jn as a,jt as o,kt as s,qa as c,wn as l,yt as u}from"./cells-CuKxjgjJ.js";import{E as d,P as f,S as p,j as m,w as h}from"./schemas-BL-NsLlF.js";import{r as g}from"./coerce-CZiN7rQ_.js";import{t as _}from"./compiler-runtime-BQ9S8nyo.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{i as ee,n as te,r as ne,t as re}from"./tabs-QRT1DYjj.js";import{i as b,t as ie}from"./tooltip-B5pI8o2n.js";import{t as ae}from"./components-M5WFQ0gs.js";import{a as x,l as oe,p as S,r as C,s as w}from"./write-secret-modal-DknTu1O1.js";import{t as se}from"./plus-gbN72xHe.js";import{Gt as ce,Ut as le,Wt as ue,Xt as de,Zt as fe,qt as pe}from"./input-DnyzXg4C.js";import{r as T}from"./strings-hlCLC-K1.js";import{t as me}from"./useIframeCapabilities-yd8sMuIo.js";var E=e(t(),1),D=_();function O(){return f().optional().describe(l.of({label:`Password`,inputType:`password`,optionRegex:`(password|passwd|pgpassword|db.?pass(word)?)`}))}function k(e,t){let n=f();return n=t?n.nonempty():n.optional(),n=n.describe(l.of({label:e||`Token`,inputType:`password`,optionRegex:`(token|api.?key|access.?token|auth.?token|(^|_)pat(_|$))`})),n}function A(){return f().optional().describe(l.of({label:`Warehouse Name`,optionRegex:`(warehouse|snowflake.?warehouse)`}))}function j(e,t){let n=f();return n=t?n.nonempty():n.optional(),n.describe(l.of({label:e||`URI`,optionRegex:`(uri|url|connection.?string|database.?url|jdbc)`}))}function M(e){return f().nonempty().describe(l.of({label:e||`Host`,optionRegex:`^(?!.*(kubernetes|gpg)).*(host(name)?|pghost|db.?host|database.?host|mysql.?host|postgres.?host|server.?host)`}))}function N(){return f().describe(l.of({label:`Database`,optionRegex:`(database|db.?name|pgdatabase|^DB$|^DATABASE$)`}))}function he(){return f().describe(l.of({label:`Schema`,optionRegex:`(^SCHEMA$|db.?schema|postgres.?schema|pg.?schema|_SCHEMA$)`}))}function P(){return f().nonempty().describe(l.of({label:`Username`,optionRegex:`(username|pguser|db.?user|^USER$|_USER$)`}))}function F(e){let t=g().describe(l.of({label:`Port`,inputType:`number`,placeholder:e?.toString()})).transform(Number).refine(e=>e>=0&&e<=65535,{message:`Port must be between 0 and 65535`});return e===void 0?t:t.default(e)}function ge(){return p().default(!1).describe(l.of({label:`Read Only`}))}var _e=m({type:d(`postgres`),host:M(),port:F(5432).optional(),database:N(),username:P(),password:O(),ssl:p().default(!1).describe(l.of({label:`Use SSL`}))}).describe(l.of({direction:`two-columns`})),ve=m({type:d(`mysql`),host:M(),port:F(3306),database:N(),username:P(),password:O(),ssl:p().default(!1).describe(l.of({label:`Use SSL`}))}).describe(l.of({direction:`two-columns`})),ye=m({type:d(`sqlite`),database:N().describe(l.of({label:`Database Path`}))}).describe(l.of({direction:`two-columns`})),be=m({type:d(`duckdb`),database:N().describe(l.of({label:`Database Path`})),read_only:ge()}).describe(l.of({direction:`two-columns`})),I=m({type:d(`motherduck`),database:N().default(`my_db`).describe(l.of({label:`Database Name`})),token:k()}).describe(l.of({direction:`two-columns`})),L=m({type:d(`snowflake`),account:f().nonempty().describe(l.of({label:`Account`,optionRegex:`(snowflake.?account|^SNOWFLAKE_ACCOUNT$|account.?id)`})),warehouse:f().optional().describe(l.of({label:`Warehouse`,optionRegex:`(snowflake.?warehouse|warehouse)`})),database:N(),schema:f().optional().describe(l.of({label:`Schema`,optionRegex:`(snowflake.?schema|^SCHEMA$|_SCHEMA$)`})),role:f().optional().describe(l.of({label:`Role`})),authType:h(`type`,[m({type:d(`Password`),username:P(),password:O(),enable_mfa:p().default(!1).describe(l.of({label:`Enable MFA (Duo Push)`}))}),m({type:d(`SSO (Browser)`),username:P()}),m({type:d(`Key Pair`),username:P(),private_key_path:f().nonempty().describe(l.of({label:`Private Key Path`,placeholder:`/path/to/rsa_key.p8`})),private_key_passphrase:f().optional().describe(l.of({label:`Private Key Passphrase`,inputType:`password`,optionRegex:`(passphrase|private.?key.?passphrase|key.?passphrase)`}))}),m({type:d(`OAuth / PAT`),token:k(`Token`,!0)})]).default({type:`Password`,username:`username`,enable_mfa:!1}).describe(l.of({special:`tabs`}))}).describe(l.of({direction:`two-columns`})),R=m({type:d(`bigquery`),project:f().nonempty().describe(l.of({label:`Project ID`,optionRegex:`(bigquery.?project|gcp.?project|google.?cloud.?project|project.?id)`})),dataset:f().nonempty().describe(l.of({label:`Dataset`,optionRegex:`(bigquery.?dataset|dataset)`})),credentials_json:f().describe(l.of({label:`Credentials JSON`,special:`secret_textarea`}))}).describe(l.of({direction:`two-columns`})),z=m({type:d(`clickhouse_connect`),host:M(),port:F(8123).optional(),username:P(),password:O(),secure:p().default(!1).describe(l.of({label:`Use HTTPs`})),proxy_path:f().optional().describe(l.of({label:`Proxy Path`,placeholder:`/clickhouse`}))}).describe(l.of({direction:`two-columns`})),B=m({type:d(`timeplus`),host:M().default(`localhost`),port:F(8123).optional(),username:P().default(`default`),password:O().default(``)}).describe(l.of({direction:`two-columns`})),V=m({type:d(`chdb`),database:N().describe(l.of({label:`Database Path`})),read_only:ge()}).describe(l.of({direction:`two-columns`})),H=m({type:d(`trino`),host:M(),port:F(8080),database:N(),schema:he().optional(),username:P(),password:O(),async_support:p().default(!1).describe(l.of({label:`Async Support`}))}).describe(l.of({direction:`two-columns`})),U=m({type:d(`iceberg`),name:f().describe(l.of({label:`Catalog Name`})),catalog:h(`type`,[m({type:d(`REST`),warehouse:A(),uri:f().optional().describe(l.of({label:`URI`,placeholder:`https://`,optionRegex:`(uri|url|connection.?string|database.?url|jdbc)`})),token:k()}),m({type:d(`SQL`),warehouse:A(),uri:f().optional().describe(l.of({label:`URI`,placeholder:`jdbc:iceberg://host:port/database`,optionRegex:`(uri|url|connection.?string|database.?url|jdbc)`}))}),m({type:d(`Hive`),warehouse:A(),uri:j()}),m({type:d(`Glue`),warehouse:A(),uri:j()}),m({type:d(`DynamoDB`),"dynamodb.profile-name":f().optional().describe(l.of({label:`Profile Name`})),"dynamodb.region":f().optional().describe(l.of({label:`Region`})),"dynamodb.access-key-id":f().optional().describe(l.of({label:`Access Key ID`,inputType:`password`,optionRegex:`(access.?key.?id|aws.?access.?key)`})),"dynamodb.secret-access-key":f().optional().describe(l.of({label:`Secret Access Key`,inputType:`password`,optionRegex:`(secret.?access.?key|aws.?secret)`})),"dynamodb.session-token":f().optional().describe(l.of({label:`Session Token`,inputType:`password`,optionRegex:`(session.?token|aws.?session)`}))})]).default({type:`REST`,token:void 0}).describe(l.of({special:`tabs`}))}),W=m({type:d(`datafusion`),sessionContext:p().optional().describe(l.of({label:`Use Session Context`}))}),G=m({type:d(`pyspark`),host:M().optional(),port:F().optional()}),K=m({type:d(`redshift`),host:M(),port:F(5439),connectionType:h(`type`,[m({type:d(`IAM credentials`),region:f().describe(l.of({label:`Region`})),aws_access_key_id:f().nonempty().describe(l.of({label:`AWS Access Key ID`,inputType:`password`,optionRegex:`(access.?key.?id|aws.?access.?key)`})),aws_secret_access_key:f().nonempty().describe(l.of({label:`AWS Secret Access Key`,inputType:`password`,optionRegex:`(secret.?access.?key|aws.?secret)`})),aws_session_token:f().optional().describe(l.of({label:`AWS Session Token`,inputType:`password`,optionRegex:`(session.?token|aws.?session)`}))}),m({type:d(`DB credentials`),user:P(),password:O()})]).default({type:`IAM credentials`,aws_access_key_id:``,aws_secret_access_key:``,region:``}),database:N()}).describe(l.of({direction:`two-columns`})),q=m({type:d(`databricks`),access_token:k(`Access Token`,!0),server_hostname:M(`Server Hostname`),http_path:j(`HTTP Path`,!0),catalog:f().optional().describe(l.of({label:`Catalog`})),schema:f().optional().describe(l.of({label:`Schema`}))}).describe(l.of({direction:`two-columns`})),xe=m({type:d(`supabase`),host:M(),port:F(5432).optional(),database:N(),username:P(),password:O(),disable_client_pooling:p().default(!1).describe(l.of({label:`Disable Client-Side Pooling`}))}).describe(l.of({direction:`two-columns`})),Se=h(`type`,[_e,ve,ye,be,I,L,R,z,B,V,H,U,W,G,K,q,xe]),Ce={sqlmodel:`SQLModel`,sqlalchemy:`SQLAlchemy`,duckdb:`DuckDB`,clickhouse_connect:`ClickHouse Connect`,chdb:`chDB`,pyiceberg:`PyIceberg`,ibis:`Ibis`,motherduck:`MotherDuck`,redshift:`Redshift`,databricks:`Databricks`},J=class{connection;orm;secrets;constructor(e,t,n){this.connection=e,this.orm=t,this.secrets=n}get imports(){let e=new Set(this.generateImports());switch(this.orm){case`sqlalchemy`:e.add(`import sqlalchemy`);break;case`sqlmodel`:e.add(`import sqlmodel`);break;case`duckdb`:e.add(`import duckdb`);break;case`ibis`:e.add(`import ibis`)}return e}},we=e=>`_${e}`,Te=class{secrets={};get imports(){return Object.keys(this.secrets).length===0?new Set:new Set([`import os`])}print(e,t,n){if(e=we(e),w(t)){let r=oe(t),i=n?`os.environ.get("${r}", "${n}")`:`os.environ.get("${r}")`;return this.secrets[e]=i,e}if(n!=null){let r=`os.environ.get("${t}", "${n}")`;return this.secrets[e]=r,e}return typeof t==`number`||typeof t==`number`?`${t}`:typeof t==`boolean`?Y(t):t?`"${t}"`:``}printInFString(e,t,n){if(t===void 0)return``;if(typeof t==`number`)return`${t}`;if(typeof t==`boolean`)return Y(t);let r=this.print(e,t,n);return r.startsWith(`"`)&&r.endsWith(`"`)?r.slice(1,-1):`{${r}}`}printPassword(e,t,n,r){let i=n?this.printInFString.bind(this):this.print.bind(this);return w(e)?i(r||`password`,e):i(r||`password`,t,e)}getSecrets(){return this.secrets}formatSecrets(){return Object.keys(this.secrets).length===0?``:Object.entries(this.secrets).map(([e,t])=>`${e} = ${t}`).join(`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{At as n,Mt as r,gi as i,jn as a,jt as o,kt as s,qa as c,wn as l,yt as u}from"./cells-h5u00Nz8.js";import{E as d,P as f,S as p,j as m,w as h}from"./schemas-BL-NsLlF.js";import{r as g}from"./coerce-CZiN7rQ_.js";import{t as _}from"./compiler-runtime-BQ9S8nyo.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{i as ee,n as te,r as ne,t as re}from"./tabs-QRT1DYjj.js";import{i as b,t as ie}from"./tooltip-B5pI8o2n.js";import{t as ae}from"./components-M5WFQ0gs.js";import{a as x,l as oe,p as S,r as C,s as w}from"./write-secret-modal-BcosCmZy.js";import{t as se}from"./plus-gbN72xHe.js";import{Jt as ce,Qt as le,Xt as ue,Yt as de,nn as fe,tn as pe}from"./input-DPd57MDP.js";import{r as T}from"./strings-hlCLC-K1.js";import{t as me}from"./useIframeCapabilities-yd8sMuIo.js";var E=e(t(),1),D=_();function O(){return f().optional().describe(l.of({label:`Password`,inputType:`password`,optionRegex:`(password|passwd|pgpassword|db.?pass(word)?)`}))}function k(e,t){let n=f();return n=t?n.nonempty():n.optional(),n=n.describe(l.of({label:e||`Token`,inputType:`password`,optionRegex:`(token|api.?key|access.?token|auth.?token|(^|_)pat(_|$))`})),n}function A(){return f().optional().describe(l.of({label:`Warehouse Name`,optionRegex:`(warehouse|snowflake.?warehouse)`}))}function j(e,t){let n=f();return n=t?n.nonempty():n.optional(),n.describe(l.of({label:e||`URI`,optionRegex:`(uri|url|connection.?string|database.?url|jdbc)`}))}function M(e){return f().nonempty().describe(l.of({label:e||`Host`,optionRegex:`^(?!.*(kubernetes|gpg)).*(host(name)?|pghost|db.?host|database.?host|mysql.?host|postgres.?host|server.?host)`}))}function N(){return f().describe(l.of({label:`Database`,optionRegex:`(database|db.?name|pgdatabase|^DB$|^DATABASE$)`}))}function he(){return f().describe(l.of({label:`Schema`,optionRegex:`(^SCHEMA$|db.?schema|postgres.?schema|pg.?schema|_SCHEMA$)`}))}function P(){return f().nonempty().describe(l.of({label:`Username`,optionRegex:`(username|pguser|db.?user|^USER$|_USER$)`}))}function F(e){let t=g().describe(l.of({label:`Port`,inputType:`number`,placeholder:e?.toString()})).transform(Number).refine(e=>e>=0&&e<=65535,{message:`Port must be between 0 and 65535`});return e===void 0?t:t.default(e)}function ge(){return p().default(!1).describe(l.of({label:`Read Only`}))}var _e=m({type:d(`postgres`),host:M(),port:F(5432).optional(),database:N(),username:P(),password:O(),ssl:p().default(!1).describe(l.of({label:`Use SSL`}))}).describe(l.of({direction:`two-columns`})),ve=m({type:d(`mysql`),host:M(),port:F(3306),database:N(),username:P(),password:O(),ssl:p().default(!1).describe(l.of({label:`Use SSL`}))}).describe(l.of({direction:`two-columns`})),ye=m({type:d(`sqlite`),database:N().describe(l.of({label:`Database Path`}))}).describe(l.of({direction:`two-columns`})),be=m({type:d(`duckdb`),database:N().describe(l.of({label:`Database Path`})),read_only:ge()}).describe(l.of({direction:`two-columns`})),I=m({type:d(`motherduck`),database:N().default(`my_db`).describe(l.of({label:`Database Name`})),token:k()}).describe(l.of({direction:`two-columns`})),L=m({type:d(`snowflake`),account:f().nonempty().describe(l.of({label:`Account`,optionRegex:`(snowflake.?account|^SNOWFLAKE_ACCOUNT$|account.?id)`})),warehouse:f().optional().describe(l.of({label:`Warehouse`,optionRegex:`(snowflake.?warehouse|warehouse)`})),database:N(),schema:f().optional().describe(l.of({label:`Schema`,optionRegex:`(snowflake.?schema|^SCHEMA$|_SCHEMA$)`})),role:f().optional().describe(l.of({label:`Role`})),authType:h(`type`,[m({type:d(`Password`),username:P(),password:O(),enable_mfa:p().default(!1).describe(l.of({label:`Enable MFA (Duo Push)`}))}),m({type:d(`SSO (Browser)`),username:P()}),m({type:d(`Key Pair`),username:P(),private_key_path:f().nonempty().describe(l.of({label:`Private Key Path`,placeholder:`/path/to/rsa_key.p8`})),private_key_passphrase:f().optional().describe(l.of({label:`Private Key Passphrase`,inputType:`password`,optionRegex:`(passphrase|private.?key.?passphrase|key.?passphrase)`}))}),m({type:d(`OAuth / PAT`),token:k(`Token`,!0)})]).default({type:`Password`,username:`username`,enable_mfa:!1}).describe(l.of({special:`tabs`}))}).describe(l.of({direction:`two-columns`})),R=m({type:d(`bigquery`),project:f().nonempty().describe(l.of({label:`Project ID`,optionRegex:`(bigquery.?project|gcp.?project|google.?cloud.?project|project.?id)`})),dataset:f().nonempty().describe(l.of({label:`Dataset`,optionRegex:`(bigquery.?dataset|dataset)`})),credentials_json:f().describe(l.of({label:`Credentials JSON`,special:`secret_textarea`}))}).describe(l.of({direction:`two-columns`})),z=m({type:d(`clickhouse_connect`),host:M(),port:F(8123).optional(),username:P(),password:O(),secure:p().default(!1).describe(l.of({label:`Use HTTPs`})),proxy_path:f().optional().describe(l.of({label:`Proxy Path`,placeholder:`/clickhouse`}))}).describe(l.of({direction:`two-columns`})),B=m({type:d(`timeplus`),host:M().default(`localhost`),port:F(8123).optional(),username:P().default(`default`),password:O().default(``)}).describe(l.of({direction:`two-columns`})),V=m({type:d(`chdb`),database:N().describe(l.of({label:`Database Path`})),read_only:ge()}).describe(l.of({direction:`two-columns`})),H=m({type:d(`trino`),host:M(),port:F(8080),database:N(),schema:he().optional(),username:P(),password:O(),async_support:p().default(!1).describe(l.of({label:`Async Support`}))}).describe(l.of({direction:`two-columns`})),U=m({type:d(`iceberg`),name:f().describe(l.of({label:`Catalog Name`})),catalog:h(`type`,[m({type:d(`REST`),warehouse:A(),uri:f().optional().describe(l.of({label:`URI`,placeholder:`https://`,optionRegex:`(uri|url|connection.?string|database.?url|jdbc)`})),token:k()}),m({type:d(`SQL`),warehouse:A(),uri:f().optional().describe(l.of({label:`URI`,placeholder:`jdbc:iceberg://host:port/database`,optionRegex:`(uri|url|connection.?string|database.?url|jdbc)`}))}),m({type:d(`Hive`),warehouse:A(),uri:j()}),m({type:d(`Glue`),warehouse:A(),uri:j()}),m({type:d(`DynamoDB`),"dynamodb.profile-name":f().optional().describe(l.of({label:`Profile Name`})),"dynamodb.region":f().optional().describe(l.of({label:`Region`})),"dynamodb.access-key-id":f().optional().describe(l.of({label:`Access Key ID`,inputType:`password`,optionRegex:`(access.?key.?id|aws.?access.?key)`})),"dynamodb.secret-access-key":f().optional().describe(l.of({label:`Secret Access Key`,inputType:`password`,optionRegex:`(secret.?access.?key|aws.?secret)`})),"dynamodb.session-token":f().optional().describe(l.of({label:`Session Token`,inputType:`password`,optionRegex:`(session.?token|aws.?session)`}))})]).default({type:`REST`,token:void 0}).describe(l.of({special:`tabs`}))}),W=m({type:d(`datafusion`),sessionContext:p().optional().describe(l.of({label:`Use Session Context`}))}),G=m({type:d(`pyspark`),host:M().optional(),port:F().optional()}),K=m({type:d(`redshift`),host:M(),port:F(5439),connectionType:h(`type`,[m({type:d(`IAM credentials`),region:f().describe(l.of({label:`Region`})),aws_access_key_id:f().nonempty().describe(l.of({label:`AWS Access Key ID`,inputType:`password`,optionRegex:`(access.?key.?id|aws.?access.?key)`})),aws_secret_access_key:f().nonempty().describe(l.of({label:`AWS Secret Access Key`,inputType:`password`,optionRegex:`(secret.?access.?key|aws.?secret)`})),aws_session_token:f().optional().describe(l.of({label:`AWS Session Token`,inputType:`password`,optionRegex:`(session.?token|aws.?session)`}))}),m({type:d(`DB credentials`),user:P(),password:O()})]).default({type:`IAM credentials`,aws_access_key_id:``,aws_secret_access_key:``,region:``}),database:N()}).describe(l.of({direction:`two-columns`})),q=m({type:d(`databricks`),access_token:k(`Access Token`,!0),server_hostname:M(`Server Hostname`),http_path:j(`HTTP Path`,!0),catalog:f().optional().describe(l.of({label:`Catalog`})),schema:f().optional().describe(l.of({label:`Schema`}))}).describe(l.of({direction:`two-columns`})),xe=m({type:d(`supabase`),host:M(),port:F(5432).optional(),database:N(),username:P(),password:O(),disable_client_pooling:p().default(!1).describe(l.of({label:`Disable Client-Side Pooling`}))}).describe(l.of({direction:`two-columns`})),Se=h(`type`,[_e,ve,ye,be,I,L,R,z,B,V,H,U,W,G,K,q,xe]),Ce={sqlmodel:`SQLModel`,sqlalchemy:`SQLAlchemy`,duckdb:`DuckDB`,clickhouse_connect:`ClickHouse Connect`,chdb:`chDB`,pyiceberg:`PyIceberg`,ibis:`Ibis`,motherduck:`MotherDuck`,redshift:`Redshift`,databricks:`Databricks`},J=class{connection;orm;secrets;constructor(e,t,n){this.connection=e,this.orm=t,this.secrets=n}get imports(){let e=new Set(this.generateImports());switch(this.orm){case`sqlalchemy`:e.add(`import sqlalchemy`);break;case`sqlmodel`:e.add(`import sqlmodel`);break;case`duckdb`:e.add(`import duckdb`);break;case`ibis`:e.add(`import ibis`)}return e}},we=e=>`_${e}`,Te=class{secrets={};get imports(){return Object.keys(this.secrets).length===0?new Set:new Set([`import os`])}print(e,t,n){if(e=we(e),w(t)){let r=oe(t),i=n?`os.environ.get("${r}", "${n}")`:`os.environ.get("${r}")`;return this.secrets[e]=i,e}if(n!=null){let r=`os.environ.get("${t}", "${n}")`;return this.secrets[e]=r,e}return typeof t==`number`||typeof t==`number`?`${t}`:typeof t==`boolean`?Y(t):t?`"${t}"`:``}printInFString(e,t,n){if(t===void 0)return``;if(typeof t==`number`)return`${t}`;if(typeof t==`boolean`)return Y(t);let r=this.print(e,t,n);return r.startsWith(`"`)&&r.endsWith(`"`)?r.slice(1,-1):`{${r}}`}printPassword(e,t,n,r){let i=n?this.printInFString.bind(this):this.print.bind(this);return w(e)?i(r||`password`,e):i(r||`password`,t,e)}getSecrets(){return this.secrets}formatSecrets(){return Object.keys(this.secrets).length===0?``:Object.entries(this.secrets).map(([e,t])=>`${e} = ${t}`).join(`
2
2
  `)}},Ee=class extends J{generateImports(){return[]}generateConnectionCode(){let e=this.connection.ssl?`, connect_args={'sslmode': 'require'}`:``,t=this.secrets.printPassword(this.connection.password,`POSTGRES_PASSWORD`,!0),n=this.secrets.printInFString(`username`,this.connection.username),r=this.secrets.printInFString(`host`,this.connection.host),a=this.secrets.printInFString(`port`,this.connection.port),o=this.secrets.printInFString(`database`,this.connection.database);return i(`
3
3
  DATABASE_URL = f"postgresql://${n}:${t}@${r}:${a}/${o}"
4
4
  engine = ${this.orm}.create_engine(DATABASE_URL${e})
@@ -163,4 +163,4 @@ ${X(o,e=>` ${e}`)},
163
163
  fs = GoogleDriveFileSystem(use_listings_cache=False, skip_instance_cache=True)
164
164
  `)}}function xt(e,t){let n=new Set([`from huggingface_hub import HfApi`]);return e.token?{imports:n,code:`hf = HfApi(token=${t.print(`token`,e.token)})`}:{imports:n,code:`hf = HfApi()`}}function St(e,t){let n=new Set([`from fsspec.implementations.github import GithubFileSystem`]),r=[`org=${t.print(`org`,e.org)},`,`repo=${t.print(`repo`,e.repo)},`];return e.sha&&r.push(`sha=${t.print(`sha`,e.sha)},`),e.username&&e.token&&r.push(`username=${t.print(`username`,e.username)},`,`token=${t.print(`token`,e.token)},`),{imports:n,code:`fs = GithubFileSystem(\n${r.map(e=>` ${e}`).join(`
165
165
  `)}\n)`}}function Ct(e,t){ft.parse(e);let n=new mt,r;switch(e.type){case`s3`:r=gt(e,n);break;case`gcs`:r=_t(e,n);break;case`azure`:r=vt(e,n);break;case`coreweave`:r=yt(e,n);break;case`gdrive`:r=bt(e,{secrets:n,isEmbedded:t.isEmbedded});break;case`huggingface`:r=xt(e,n);break;case`github`:r=St(e,n);break;default:T(e)}let i=[...new Set([...n.imports,...r.imports])].toSorted();i.push(``);let a=n.formatSecrets();return a&&i.push(a),i.push(r.code.trim()),i.join(`
166
- `)}var wt=`#232F3E`,$=[{name:`Amazon S3`,schema:at,protocol:`s3`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`Google Cloud Storage`,schema:ot,protocol:`gcs`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`Azure Blob Storage`,schema:Q,protocol:`azure`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`CoreWeave`,schema:st,protocol:`coreweave`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`Google Drive`,schema:ct,protocol:`gdrive`,storageLibraries:{libraries:[`fsspec`],preferred:`fsspec`}},{name:`Hugging Face Hub`,schema:lt,protocol:`hf`,storageLibraries:{libraries:[`huggingface_hub`],preferred:`huggingface_hub`}},{name:`GitHub`,schema:dt,protocol:`github`,storageLibraries:{libraries:[`fsspec`],preferred:`fsspec`}}],Tt=[...new Set($.flatMap(({name:e,protocol:t})=>[e,t]))],Et=e=>{let t=(0,D.c)(4),{onSelect:r}=e,i;t[0]===r?i=t[1]:(i=$.map(e=>{let{name:t,schema:i,protocol:a}=e;return(0,Z.jsx)(n,{name:t,color:wt,icon:(0,Z.jsx)(ae,{protocol:a,forceDark:!0,className:`w-7.5 h-7.5 text-white`}),onSelect:()=>r(i)},t)}),t[0]=r,t[1]=i);let a;return t[2]===i?a=t[3]:(a=(0,Z.jsx)(o,{children:i}),t[2]=i,t[3]=a),a},Dt=e=>{let t=(0,D.c)(16),{onSubmit:n,header:r}=e,{isEmbedded:i}=me(),[a,o]=(0,E.useState)(null);if(!a){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`div`,{children:(0,Z.jsx)(Et,{onSelect:o})}),t[0]=e):e=t[0];let n;return t[1]===r?n=t[2]:(n=(0,Z.jsxs)(Z.Fragment,{children:[r,e]}),t[1]=r,t[2]=n),n}let c;t[3]===a?c=t[4]:(c=$.find(e=>e.schema===a),t[3]=a,t[4]=c);let l=c?.storageLibraries,u;t[5]===l?.libraries?u=t[6]:(u=l?.libraries??[],t[5]=l?.libraries,t[6]=u);let d=l?.preferred??`obstore`,f;t[7]===i?f=t[8]:(f=(e,t)=>Ct(e,{library:t,isEmbedded:i}),t[7]=i,t[8]=f);let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>o(null),t[9]=p):p=t[9];let m;return t[10]!==n||t[11]!==a||t[12]!==u||t[13]!==d||t[14]!==f?(m=(0,Z.jsx)(s,{schema:a,libraries:u,preferredLibrary:d,displayNames:pt,libraryLabel:`Preferred storage library`,generateCode:f,onSubmit:n,onBack:p}),t[10]=n,t[11]=a,t[12]=u,t[13]=d,t[14]=f,t[15]=m):m=t[15],m},Ot=e=>{let t=(0,D.c)(9),{children:n,defaultTab:r}=e,i=r===void 0?`databases`:r,[a,o]=(0,E.useState)(!1),s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(fe,{asChild:!0,children:n}),t[0]=n,t[1]=s);let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>o(!1),t[2]=c):c=t[2];let l;t[3]===i?l=t[4]:(l=(0,Z.jsx)(kt,{defaultTab:i,onClose:c}),t[3]=i,t[4]=l);let u;return t[5]!==a||t[6]!==s||t[7]!==l?(u=(0,Z.jsxs)(le,{open:a,onOpenChange:o,children:[s,l]}),t[5]=a,t[6]=s,t[7]=l,t[8]=u):u=t[8],u},kt=e=>{let t=(0,D.c)(24),{defaultTab:n,onClose:r}=e,[i,a]=(0,E.useState)(n===void 0?`databases`:n),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Z.jsxs)(ne,{className:`w-full mb-4`,children:[(0,Z.jsx)(ee,{value:`databases`,className:`flex-1`,children:`Databases & Catalogs`}),(0,Z.jsx)(ee,{value:`storage`,className:`flex-1`,children:`Remote Storages`})]}),t[0]=o):o=t[0];let s=o,c;t[1]===i?c=t[2]:(c=i===`databases`?(0,Z.jsxs)(Z.Fragment,{children:[`Don't see your database or connection method? A`,` `,(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database`,children:`code snippet`}),` `,`is all you need.`]}):(0,Z.jsxs)(Z.Fragment,{children:[`Don't see your storage or connection method? A`,` `,(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/remote_storage/#creating-a-storage-connection`,children:`code snippet`}),` `,`is all you need.`]}),t[1]=i,t[2]=c);let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(de,{children:`Add Connection`}),t[3]=u):u=t[3];let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database`,children:`database, data catalog`}),t[4]=d):d=t[4];let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/remote_storage/`,children:`remote storage`}),t[5]=f):f=t[5];let p;t[6]===l?p=t[7]:(p=(0,Z.jsxs)(pe,{children:[u,(0,Z.jsxs)(ce,{children:[`Connect to a`,` `,d,` `,`or`,` `,f,` `,`directly from your notebook.`,(0,Z.jsx)(`span`,{className:`block`,children:l})]})]}),t[6]=l,t[7]=p);let m=i===`storage`?`storage`:`database`,h;t[8]!==r||t[9]!==m?(h=(0,Z.jsx)(tt,{onSubmit:r,className:`-mt-2`,group:m}),t[8]=r,t[9]=m,t[10]=h):h=t[10];let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=e=>a(e),t[11]=g):g=t[11];let _;t[12]===r?_=t[13]:(_=(0,Z.jsx)(te,{value:`databases`,className:`mt-0 focus-visible:ring-0 focus-visible:ring-offset-0`,children:(0,Z.jsx)(Ze,{onSubmit:r,header:s})}),t[12]=r,t[13]=_);let v;t[14]===r?v=t[15]:(v=(0,Z.jsx)(te,{value:`storage`,className:`mt-0 focus-visible:ring-0 focus-visible:ring-offset-0`,children:(0,Z.jsx)(Dt,{onSubmit:r,header:s})}),t[14]=r,t[15]=v);let y;t[16]!==i||t[17]!==_||t[18]!==v?(y=(0,Z.jsxs)(re,{value:i,onValueChange:g,children:[_,v]}),t[16]=i,t[17]=_,t[18]=v,t[19]=y):y=t[19];let b;return t[20]!==y||t[21]!==p||t[22]!==h?(b=(0,Z.jsxs)(ue,{className:`max-h-[75vh] overflow-y-auto`,children:[p,h,y]}),t[20]=y,t[21]=p,t[22]=h,t[23]=b):b=t[23],b};export{Ye as i,kt as n,Tt as r,Ot as t};
166
+ `)}var wt=`#232F3E`,$=[{name:`Amazon S3`,schema:at,protocol:`s3`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`Google Cloud Storage`,schema:ot,protocol:`gcs`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`Azure Blob Storage`,schema:Q,protocol:`azure`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`CoreWeave`,schema:st,protocol:`coreweave`,storageLibraries:{libraries:[`obstore`],preferred:`obstore`}},{name:`Google Drive`,schema:ct,protocol:`gdrive`,storageLibraries:{libraries:[`fsspec`],preferred:`fsspec`}},{name:`Hugging Face Hub`,schema:lt,protocol:`hf`,storageLibraries:{libraries:[`huggingface_hub`],preferred:`huggingface_hub`}},{name:`GitHub`,schema:dt,protocol:`github`,storageLibraries:{libraries:[`fsspec`],preferred:`fsspec`}}],Tt=[...new Set($.flatMap(({name:e,protocol:t})=>[e,t]))],Et=e=>{let t=(0,D.c)(4),{onSelect:r}=e,i;t[0]===r?i=t[1]:(i=$.map(e=>{let{name:t,schema:i,protocol:a}=e;return(0,Z.jsx)(n,{name:t,color:wt,icon:(0,Z.jsx)(ae,{protocol:a,forceDark:!0,className:`w-7.5 h-7.5 text-white`}),onSelect:()=>r(i)},t)}),t[0]=r,t[1]=i);let a;return t[2]===i?a=t[3]:(a=(0,Z.jsx)(o,{children:i}),t[2]=i,t[3]=a),a},Dt=e=>{let t=(0,D.c)(16),{onSubmit:n,header:r}=e,{isEmbedded:i}=me(),[a,o]=(0,E.useState)(null);if(!a){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`div`,{children:(0,Z.jsx)(Et,{onSelect:o})}),t[0]=e):e=t[0];let n;return t[1]===r?n=t[2]:(n=(0,Z.jsxs)(Z.Fragment,{children:[r,e]}),t[1]=r,t[2]=n),n}let c;t[3]===a?c=t[4]:(c=$.find(e=>e.schema===a),t[3]=a,t[4]=c);let l=c?.storageLibraries,u;t[5]===l?.libraries?u=t[6]:(u=l?.libraries??[],t[5]=l?.libraries,t[6]=u);let d=l?.preferred??`obstore`,f;t[7]===i?f=t[8]:(f=(e,t)=>Ct(e,{library:t,isEmbedded:i}),t[7]=i,t[8]=f);let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>o(null),t[9]=p):p=t[9];let m;return t[10]!==n||t[11]!==a||t[12]!==u||t[13]!==d||t[14]!==f?(m=(0,Z.jsx)(s,{schema:a,libraries:u,preferredLibrary:d,displayNames:pt,libraryLabel:`Preferred storage library`,generateCode:f,onSubmit:n,onBack:p}),t[10]=n,t[11]=a,t[12]=u,t[13]=d,t[14]=f,t[15]=m):m=t[15],m},Ot=e=>{let t=(0,D.c)(9),{children:n,defaultTab:r}=e,i=r===void 0?`databases`:r,[a,o]=(0,E.useState)(!1),s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(fe,{asChild:!0,children:n}),t[0]=n,t[1]=s);let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>o(!1),t[2]=c):c=t[2];let l;t[3]===i?l=t[4]:(l=(0,Z.jsx)(kt,{defaultTab:i,onClose:c}),t[3]=i,t[4]=l);let u;return t[5]!==a||t[6]!==s||t[7]!==l?(u=(0,Z.jsxs)(ce,{open:a,onOpenChange:o,children:[s,l]}),t[5]=a,t[6]=s,t[7]=l,t[8]=u):u=t[8],u},kt=e=>{let t=(0,D.c)(24),{defaultTab:n,onClose:r}=e,[i,a]=(0,E.useState)(n===void 0?`databases`:n),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Z.jsxs)(ne,{className:`w-full mb-4`,children:[(0,Z.jsx)(ee,{value:`databases`,className:`flex-1`,children:`Databases & Catalogs`}),(0,Z.jsx)(ee,{value:`storage`,className:`flex-1`,children:`Remote Storages`})]}),t[0]=o):o=t[0];let s=o,c;t[1]===i?c=t[2]:(c=i===`databases`?(0,Z.jsxs)(Z.Fragment,{children:[`Don't see your database or connection method? A`,` `,(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database`,children:`code snippet`}),` `,`is all you need.`]}):(0,Z.jsxs)(Z.Fragment,{children:[`Don't see your storage or connection method? A`,` `,(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/remote_storage/#creating-a-storage-connection`,children:`code snippet`}),` `,`is all you need.`]}),t[1]=i,t[2]=c);let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(pe,{children:`Add Connection`}),t[3]=u):u=t[3];let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database`,children:`database, data catalog`}),t[4]=d):d=t[4];let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(S,{href:`https://docs.marimo.io/guides/working_with_data/remote_storage/`,children:`remote storage`}),t[5]=f):f=t[5];let p;t[6]===l?p=t[7]:(p=(0,Z.jsxs)(le,{children:[u,(0,Z.jsxs)(ue,{children:[`Connect to a`,` `,d,` `,`or`,` `,f,` `,`directly from your notebook.`,(0,Z.jsx)(`span`,{className:`block`,children:l})]})]}),t[6]=l,t[7]=p);let m=i===`storage`?`storage`:`database`,h;t[8]!==r||t[9]!==m?(h=(0,Z.jsx)(tt,{onSubmit:r,className:`-mt-2`,group:m}),t[8]=r,t[9]=m,t[10]=h):h=t[10];let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=e=>a(e),t[11]=g):g=t[11];let _;t[12]===r?_=t[13]:(_=(0,Z.jsx)(te,{value:`databases`,className:`mt-0 focus-visible:ring-0 focus-visible:ring-offset-0`,children:(0,Z.jsx)(Ze,{onSubmit:r,header:s})}),t[12]=r,t[13]=_);let v;t[14]===r?v=t[15]:(v=(0,Z.jsx)(te,{value:`storage`,className:`mt-0 focus-visible:ring-0 focus-visible:ring-offset-0`,children:(0,Z.jsx)(Dt,{onSubmit:r,header:s})}),t[14]=r,t[15]=v);let y;t[16]!==i||t[17]!==_||t[18]!==v?(y=(0,Z.jsxs)(re,{value:i,onValueChange:g,children:[_,v]}),t[16]=i,t[17]=_,t[18]=v,t[19]=y):y=t[19];let b;return t[20]!==y||t[21]!==p||t[22]!==h?(b=(0,Z.jsxs)(de,{className:`max-h-[75vh] overflow-y-auto`,children:[p,h,y]}),t[20]=y,t[21]=p,t[22]=h,t[23]=b):b=t[23],b};export{Ye as i,kt as n,Tt as r,Ot as t};