@marimo-team/frontend 0.19.8-dev31 → 0.19.8-dev32
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/{add-database-form-D8ppo-Wx.js → add-database-form-mXHOy5uZ.js} +3 -3
- package/dist/assets/{command-palette-BBecgDwg.js → command-palette-CV-A8WzZ.js} +1 -1
- package/dist/assets/{edit-page-CZzL95NE.js → edit-page-DTcdRtOK.js} +3 -3
- package/dist/assets/{index-CQLP3a6_.js → index-CeTG5rkZ.js} +2 -2
- package/dist/assets/{session-panel-BCN5AHky.js → session-panel-y6latVrC.js} +1 -1
- package/dist/assets/{useNotebookActions-wEv3D5Ih.js → useNotebookActions-DuB13MhL.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +15 -0
- package/src/components/editor/database/__tests__/as-code.test.ts +8 -0
- package/src/components/editor/database/as-code.ts +3 -0
- package/src/components/editor/database/schemas.ts +9 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Ue=Object.defineProperty;var Ke=(t,e,s)=>e in t?Ue(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var ne=(t,e,s)=>Ke(t,typeof e!="symbol"?e+"":e,s);import{s as me}from"./chunk-LvLJmgfZ.js";import{t as We}from"./react-Bj1aDYRI.js";import{Sn as h,ft as He,w as Me}from"./cells-CiFhRLUd.js";import{D as oe,P as p,R as d,T as v,_ as ue,i as Qe,k as m,m as Ge}from"./zod-H_cgTO0M.js";import{t as be}from"./compiler-runtime-B3qBwwSJ.js";import{S as Ve}from"./_Uint8Array-BGESiCQL.js";import{t as re}from"./assertNever-CBU83Y6o.js";import{r as ze,t as Je}from"./_baseEach-BhAgFun2.js";import{f as Ye}from"./hotkeys-BHHWjLlp.js";import{t as Xe}from"./jsx-runtime-ZmTK25f3.js";import{t as ie}from"./button-CZ3Cs4qb.js";import{t as fe}from"./cn-BKtXLv3a.js";import{t as Ze}from"./circle-plus-haI9GLDP.js";import{a as ae,c as ge,o as et,p as tt,r as st,t as nt}from"./dropdown-menu-BUgFWmX1.js";import{n as ot}from"./DeferredRequestRegistry-tv0PqJZ0.js";import{o as rt,r as it}from"./input-DHHmNa19.js";import{a as at,c as ct,d as lt,g as dt,l as ht,o as pt,p as mt,s as ut,u as bt}from"./textarea-sdXkC92D.js";import{c as ft,i as gt,n as yt,r as
|
|
1
|
+
var Ue=Object.defineProperty;var Ke=(t,e,s)=>e in t?Ue(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var ne=(t,e,s)=>Ke(t,typeof e!="symbol"?e+"":e,s);import{s as me}from"./chunk-LvLJmgfZ.js";import{t as We}from"./react-Bj1aDYRI.js";import{Sn as h,ft as He,w as Me}from"./cells-CiFhRLUd.js";import{D as oe,P as p,R as d,T as v,_ as ue,i as Qe,k as m,m as Ge}from"./zod-H_cgTO0M.js";import{t as be}from"./compiler-runtime-B3qBwwSJ.js";import{S as Ve}from"./_Uint8Array-BGESiCQL.js";import{t as re}from"./assertNever-CBU83Y6o.js";import{r as ze,t as Je}from"./_baseEach-BhAgFun2.js";import{f as Ye}from"./hotkeys-BHHWjLlp.js";import{t as Xe}from"./jsx-runtime-ZmTK25f3.js";import{t as ie}from"./button-CZ3Cs4qb.js";import{t as fe}from"./cn-BKtXLv3a.js";import{t as Ze}from"./circle-plus-haI9GLDP.js";import{a as ae,c as ge,o as et,p as tt,r as st,t as nt}from"./dropdown-menu-BUgFWmX1.js";import{n as ot}from"./DeferredRequestRegistry-tv0PqJZ0.js";import{o as rt,r as it}from"./input-DHHmNa19.js";import{a as at,c as ct,d as lt,g as dt,l as ht,o as pt,p as mt,s as ut,u as bt}from"./textarea-sdXkC92D.js";import{c as ft,i as gt,n as yt,r as _t,s as St,t as wt}from"./select-B7bfltkI.js";import{a as xt,c as kt,l as $t,n as Ct,r as At,t as jt}from"./dialog-tQELcltn.js";import{n as vt}from"./ImperativeModal-DZr52ffu.js";import{t as Rt}from"./links-fh_IXIKE.js";import{n as It}from"./useAsyncData-CgmD3hjw.js";import{o as Tt}from"./focus-CtXToHnV.js";import{o as Dt,t as qt,u as i}from"./form-CvVbbh8Y.js";import{t as Lt}from"./request-registry-BWqkV683.js";import{n as Pt,t as Nt}from"./write-secret-modal-DO-EOoNO.js";function Ft(t,e,s,o){for(var n=-1,a=t==null?0:t.length;++n<a;){var c=t[n];e(o,c,s(c),t)}return o}var Et=Ft;function Bt(t,e,s,o){return Je(t,function(n,a,c){e(o,n,s(n),c)}),o}var Ot=Bt;function Ut(t,e){return function(s,o){var n=Ve(s)?Et:Ot,a=e?e():{};return n(s,t,ze(o,2),a)}}var Kt=Ut(function(t,e,s){t[s?0:1].push(e)},function(){return[[],[]]});function k(){return d().optional().describe(i.of({label:"Password",inputType:"password",placeholder:"password",optionRegex:".*password.*"}))}function ce(t,e){let s=d();return s=e?s.nonempty():s.optional(),s=s.describe(i.of({label:t||"Token",inputType:"password",placeholder:"token",optionRegex:".*token.*"})),s}function G(){return d().optional().describe(i.of({label:"Warehouse Name",placeholder:"warehouse",optionRegex:".*warehouse.*"}))}function le(t,e){let s=d();return s=e?s.nonempty():s.optional(),s.describe(i.of({label:t||"URI",optionRegex:".*uri.*"}))}function x(t){return d().nonempty().describe(i.of({label:t||"Host",placeholder:"localhost",optionRegex:".*host.*"}))}function w(){return d().describe(i.of({label:"Database",placeholder:"db name",optionRegex:".*database.*"}))}function Wt(){return d().describe(i.of({label:"Schema",placeholder:"schema name",optionRegex:".*schema.*"}))}function $(){return d().nonempty().describe(i.of({label:"Username",placeholder:"username",optionRegex:".*username.*"}))}function C(t){let e=Qe().describe(i.of({label:"Port",inputType:"number",placeholder:t==null?void 0:t.toString()})).transform(Number).refine(s=>s>=0&&s<=65535,{message:"Port must be between 0 and 65535"});return t===void 0?e:e.default(t)}function ye(){return v().default(!1).describe(i.of({label:"Read Only"}))}const _e=p({type:m("postgres"),host:x(),port:C(5432).optional(),database:w(),username:$(),password:k(),ssl:v().default(!1).describe(i.of({label:"Use SSL"}))}).describe(i.of({direction:"two-columns"})),Se=p({type:m("mysql"),host:x(),port:C(3306),database:w(),username:$(),password:k(),ssl:v().default(!1).describe(i.of({label:"Use SSL"}))}).describe(i.of({direction:"two-columns"})),we=p({type:m("sqlite"),database:w().describe(i.of({label:"Database Path"}))}).describe(i.of({direction:"two-columns"})),xe=p({type:m("duckdb"),database:w().describe(i.of({label:"Database Path"})),read_only:ye()}).describe(i.of({direction:"two-columns"})),ke=p({type:m("motherduck"),database:w().default("my_db").describe(i.of({label:"Database Name"})),token:ce()}).describe(i.of({direction:"two-columns"})),$e=p({type:m("snowflake"),account:d().nonempty().describe(i.of({label:"Account",optionRegex:".*snowflake.*"})),warehouse:d().optional().describe(i.of({label:"Warehouse",optionRegex:".*snowflake.*"})),database:w(),schema:d().optional().describe(i.of({label:"Schema",optionRegex:".*snowflake.*"})),username:$(),password:k(),role:d().optional().describe(i.of({label:"Role"}))}).describe(i.of({direction:"two-columns"})),Ce=p({type:m("bigquery"),project:d().nonempty().describe(i.of({label:"Project ID",optionRegex:".*bigquery.*"})),dataset:d().nonempty().describe(i.of({label:"Dataset",optionRegex:".*bigquery.*"})),credentials_json:d().describe(i.of({label:"Credentials JSON",inputType:"textarea"}))}).describe(i.of({direction:"two-columns"})),Ae=p({type:m("clickhouse_connect"),host:x(),port:C(8123).optional(),username:$(),password:k(),secure:v().default(!1).describe(i.of({label:"Use HTTPs"})),proxy_path:d().optional().describe(i.of({label:"Proxy Path",placeholder:"/clickhouse"}))}).describe(i.of({direction:"two-columns"})),je=p({type:m("timeplus"),host:x().default("localhost"),port:C(8123).optional(),username:$().default("default"),password:k().default("")}).describe(i.of({direction:"two-columns"})),ve=p({type:m("chdb"),database:w().describe(i.of({label:"Database Path"})),read_only:ye()}).describe(i.of({direction:"two-columns"})),Re=p({type:m("trino"),host:x(),port:C(8080),database:w(),schema:Wt().optional(),username:$(),password:k(),async_support:v().default(!1).describe(i.of({label:"Async Support"}))}).describe(i.of({direction:"two-columns"})),Ie=p({type:m("iceberg"),name:d().describe(i.of({label:"Catalog Name"})),catalog:oe("type",[p({type:m("REST"),warehouse:G(),uri:d().optional().describe(i.of({label:"URI",placeholder:"https://",optionRegex:".*uri.*"})),token:ce()}),p({type:m("SQL"),warehouse:G(),uri:d().optional().describe(i.of({label:"URI",placeholder:"jdbc:iceberg://host:port/database",optionRegex:".*uri.*"}))}),p({type:m("Hive"),warehouse:G(),uri:le()}),p({type:m("Glue"),warehouse:G(),uri:le()}),p({type:m("DynamoDB"),"dynamodb.profile-name":d().optional().describe(i.of({label:"Profile Name"})),"dynamodb.region":d().optional().describe(i.of({label:"Region"})),"dynamodb.access-key-id":d().optional().describe(i.of({label:"Access Key ID"})),"dynamodb.secret-access-key":d().optional().describe(i.of({label:"Secret Access Key",inputType:"password"})),"dynamodb.session-token":d().optional().describe(i.of({label:"Session Token",inputType:"password"}))})]).default({type:"REST",token:void 0}).describe(i.of({special:"tabs"}))}),Te=p({type:m("datafusion"),sessionContext:v().optional().describe(i.of({label:"Use Session Context"}))}),De=p({type:m("pyspark"),host:x().optional(),port:C().optional()}),qe=p({type:m("redshift"),host:x(),port:C(5439),connectionType:oe("type",[p({type:m("IAM credentials"),region:d().describe(i.of({label:"Region"})),aws_access_key_id:d().nonempty().describe(i.of({label:"AWS Access Key ID",inputType:"password",optionRegex:".*aws_access_key_id.*"})),aws_secret_access_key:d().nonempty().describe(i.of({label:"AWS Secret Access Key",inputType:"password",optionRegex:".*aws_secret_access_key.*"})),aws_session_token:d().optional().describe(i.of({label:"AWS Session Token",inputType:"password",optionRegex:".*aws_session_token.*"}))}),p({type:m("DB credentials"),user:$(),password:k()})]).default({type:"IAM credentials",aws_access_key_id:"",aws_secret_access_key:"",region:""}),database:w()}).describe(i.of({direction:"two-columns"})),Le=p({type:m("databricks"),access_token:ce("Access Token",!0),server_hostname:x("Server Hostname"),http_path:le("HTTP Path",!0),catalog:d().optional().describe(i.of({label:"Catalog"})),schema:d().optional().describe(i.of({label:"Schema"}))}).describe(i.of({direction:"two-columns"})),Pe=p({type:m("supabase"),host:x(),port:C(5432).optional(),database:w(),username:$(),password:k(),disable_client_pooling:v().default(!1).describe(i.of({label:"Disable Client-Side Pooling"}))}).describe(i.of({direction:"two-columns"})),Ht=oe("type",[_e,Se,we,xe,ke,$e,Ce,Ae,je,ve,Re,Ie,Te,De,qe,Le,Pe]);var de="env:";function tn(t){return t}function V(t){return typeof t=="string"?t.startsWith(de):!1}function he(t){return`${de}${t}`}function Mt(t){return t.replace(de,"")}const Ne={sqlmodel:"SQLModel",sqlalchemy:"SQLAlchemy",duckdb:"DuckDB",clickhouse_connect:"ClickHouse Connect",chdb:"chDB",pyiceberg:"PyIceberg",ibis:"Ibis",motherduck:"MotherDuck",redshift:"Redshift",databricks:"Databricks"};var y=class{constructor(t,e,s){this.connection=t,this.orm=e,this.secrets=s}get imports(){let t=new Set(this.generateImports());switch(this.orm){case"sqlalchemy":t.add("import sqlalchemy");break;case"sqlmodel":t.add("import sqlmodel");break;case"duckdb":t.add("import duckdb");break;case"ibis":t.add("import ibis");break}return t}},Qt=t=>`_${t}`,Gt=class{constructor(){ne(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e,s){if(t=Qt(t),V(e)){let o=Mt(e),n=s?`os.environ.get("${o}", "${s}")`:`os.environ.get("${o}")`;return this.secrets[t]=n,t}if(s!=null){let o=`os.environ.get("${e}", "${s}")`;return this.secrets[t]=o,t}return typeof e=="number"||typeof e=="number"?`${e}`:typeof e=="boolean"?U(e):e?`"${e}"`:""}printInFString(t,e,s){if(e===void 0)return"";if(typeof e=="number")return`${e}`;if(typeof e=="boolean")return U(e);let o=this.print(t,e,s);return o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):`{${o}}`}printPassword(t,e,s,o){let n=s?this.printInFString.bind(this):this.print.bind(this);return V(t)?n(o||"password",t):n(o||"password",e,t)}getSecrets(){return this.secrets}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
|
|
2
2
|
`)}},Vt=class extends y{generateImports(){return[]}generateConnectionCode(){let t=this.connection.ssl?", connect_args={'sslmode': 'require'}":"",e=this.secrets.printPassword(this.connection.password,"POSTGRES_PASSWORD",!0);return h(`
|
|
3
3
|
DATABASE_URL = f"postgresql://${this.secrets.printInFString("username",this.connection.username)}:${e}@${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}/${this.secrets.printInFString("database",this.connection.database)}"
|
|
4
4
|
engine = ${this.orm}.create_engine(DATABASE_URL${t})
|
|
@@ -24,7 +24,7 @@ ${z(e,s=>` ${s}`)},
|
|
|
24
24
|
conn = duckdb.connect("md:${t}", config={"motherduck_token": ${this.secrets.printPassword(this.connection.token,"MOTHERDUCK_TOKEN",!1)}})
|
|
25
25
|
`):h(`
|
|
26
26
|
conn = duckdb.connect("md:${t}")
|
|
27
|
-
`)}},ts=class extends y{generateImports(){return["import clickhouse_connect"]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"CLICKHOUSE_PASSWORD",!1),e={host:this.secrets.print("host",this.connection.host),user:this.secrets.print("user",this.connection.username),secure:this.secrets.print("secure",this.connection.secure),port:this.connection.port?this.secrets.print("port",this.connection.port):void 0,password:this.connection.password?t:void 0};return h(`
|
|
27
|
+
`)}},ts=class extends y{generateImports(){return["import clickhouse_connect"]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"CLICKHOUSE_PASSWORD",!1),e={host:this.secrets.print("host",this.connection.host),user:this.secrets.print("user",this.connection.username),secure:this.secrets.print("secure",this.connection.secure),port:this.connection.port?this.secrets.print("port",this.connection.port):void 0,password:this.connection.password?t:void 0,proxy_path:this.connection.proxy_path?this.secrets.print("proxy_path",this.connection.proxy_path):void 0};return h(`
|
|
28
28
|
engine = ${this.orm}.get_client(
|
|
29
29
|
${z(e,s=>` ${s}`)},
|
|
30
30
|
)
|
|
@@ -108,4 +108,4 @@ ${z({host:t,port:e,database:s,...o&&{user:o},...n&&{password:n}},a=>` $
|
|
|
108
108
|
`)}},hs=class{constructor(){ne(this,"secrets",new Gt)}createGenerator(t,e){switch(t.type){case"postgres":return new Vt(t,e,this.secrets);case"mysql":return new zt(t,e,this.secrets);case"sqlite":return new Jt(t,e,this.secrets);case"snowflake":return new Yt(t,e,this.secrets);case"bigquery":return new Xt(t,e,this.secrets);case"duckdb":return new Zt(t,e,this.secrets);case"motherduck":return new es(t,e,this.secrets);case"clickhouse_connect":return new ts(t,e,this.secrets);case"timeplus":return new ss(t,e,this.secrets);case"chdb":return new ns(t,e,this.secrets);case"trino":return new os(t,e,this.secrets);case"iceberg":return new rs(t,e,this.secrets);case"datafusion":return new is(t,e,this.secrets);case"pyspark":return new as(t,e,this.secrets);case"redshift":return new cs(t,e,this.secrets);case"databricks":return new ls(t,e,this.secrets);case"supabase":return new ds(t,e,this.secrets);default:re(t)}}};function ps(t,e){if(!(e in Ne))throw Error(`Unsupported library: ${e}`);Ht.parse(t);let s=new hs,o=s.createGenerator(t,e),n=o.generateConnectionCode(),a=s.secrets,c=[...new Set([...a.imports,...o.imports])].sort();c.push("");let l=a.formatSecrets();return l&&c.push(l),c.push(n.trim()),c.join(`
|
|
109
109
|
`)}function U(t){return t.toString().charAt(0).toUpperCase()+t.toString().slice(1)}function z(t,e){return Object.entries(t).filter(([,s])=>s!=null&&s!=="").map(([s,o])=>e(typeof o=="boolean"?`${s}=${U(o)}`:`${s}=${o}`)).join(`,
|
|
110
110
|
`)}function ms(t,e){return Object.entries(t).filter(([,s])=>s!=null&&s!=="").map(([s,o])=>{let n=`"${s}"`;return e(typeof o=="boolean"?`${n}: ${U(o)}`:`${n}: ${o}`)}).join(`,
|
|
111
|
-
`)}var us=be(),K=me(We(),1),r=me(Xe(),1),Fe=(0,K.createContext)({providerNames:[],secretKeys:[],loading:!1,error:void 0,refreshSecrets:Ye.NOOP});const bs=()=>(0,K.use)(Fe),fs=t=>{let e=(0,us.c)(14),{children:s}=t,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],e[0]=o):o=e[0];let{data:n,isPending:a,error:c,refetch:l}=It(ws,o),b;e[1]===(n==null?void 0:n.secretKeys)?b=e[2]:(b=(n==null?void 0:n.secretKeys)||[],e[1]=n==null?void 0:n.secretKeys,e[2]=b);let u;e[3]===(n==null?void 0:n.providerNames)?u=e[4]:(u=(n==null?void 0:n.providerNames)||[],e[3]=n==null?void 0:n.providerNames,e[4]=u);let f;e[5]!==c||e[6]!==a||e[7]!==l||e[8]!==b||e[9]!==u?(f={secretKeys:b,providerNames:u,loading:a,error:c,refreshSecrets:l},e[5]=c,e[6]=a,e[7]=l,e[8]=b,e[9]=u,e[10]=f):f=e[10];let S;return e[11]!==s||e[12]!==f?(S=(0,r.jsx)(Fe,{value:f,children:s}),e[11]=s,e[12]=f,e[13]=S):S=e[13],S},gs={isMatch:t=>{if(t instanceof ue||t instanceof Ge){let{optionRegex:e}=i.parse(t.description||"");return!!e}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:o,providerNames:n,refreshSecrets:a}=bs(),{openModal:c,closeModal:l}=vt(),{label:b,description:u,optionRegex:f=""}=i.parse(t.description||""),[S,A]=Kt(o,g=>new RegExp(f,"i").test(g));return(0,r.jsx)(ct,{control:e.control,name:s,render:({field:g})=>(0,r.jsxs)(ht,{children:[(0,r.jsx)(bt,{children:b}),(0,r.jsx)(pt,{children:u}),(0,r.jsx)(at,{children:(0,r.jsxs)("div",{className:"flex gap-2",children:[t instanceof ue?(0,r.jsx)(it,{...g,value:g.value,onChange:g.onChange,className:fe("flex-1")}):(0,r.jsx)(rt,{...g,value:g.value,onChange:g.onChange,className:"flex-1"}),(0,r.jsxs)(nt,{children:[(0,r.jsx)(tt,{asChild:!0,children:(0,r.jsx)(ie,{variant:"outline",size:"icon",className:fe(V(g.value)&&"bg-accent"),children:(0,r.jsx)(ot,{className:"h-3 w-3"})})}),(0,r.jsxs)(st,{align:"end",className:"max-h-60 overflow-y-auto",children:[(0,r.jsxs)(ae,{onSelect:()=>{c((0,r.jsx)(Nt,{providerNames:n,onSuccess:_=>{a(),g.onChange(he(_)),l()},onClose:l}))},children:[(0,r.jsx)(Ze,{className:"mr-2 h-3.5 w-3.5"}),"Create a new secret"]}),S.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ge,{}),(0,r.jsx)(et,{children:"Recommended"})]}),S.map(_=>(0,r.jsx)(ae,{onSelect:()=>g.onChange(he(_)),children:_},_)),A.length>0&&(0,r.jsx)(ge,{}),A.map(_=>(0,r.jsx)(ae,{onSelect:()=>g.onChange(he(_)),children:_},_))]})]})]})}),(0,r.jsx)(lt,{})]})})}};function ys(t){return t.provider!=="env"}function Ss(t){return t.name}function _s(t){return t.keys}async function ws(){let t=await Lt.request({}),e=Pt(t.secrets).filter(ys).map(Ss);return{secretKeys:t.secrets.flatMap(_s).sort(),providerNames:e}}var W=be(),Ee=[{name:"PostgreSQL",schema:Se,color:"#336791",logo:"postgres",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"MySQL",schema:_e,color:"#00758F",logo:"mysql",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"SQLite",schema:we,color:"#003B57",logo:"sqlite",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DuckDB",schema:xe,color:"#FFD700",logo:"duckdb",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"MotherDuck",schema:$e,color:"#ff9538",logo:"motherduck",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"Snowflake",schema:ke,color:"#29B5E8",logo:"snowflake",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse",schema:Ae,color:"#2C2C1D",logo:"clickhouse",connectionLibraries:{libraries:["clickhouse_connect"],preferred:"clickhouse_connect"}},{name:"Timeplus",schema:je,color:"#B83280",logo:"timeplus",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"BigQuery",schema:Ce,color:"#4285F4",logo:"bigquery",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse Embedded",schema:ve,color:"#f2b611",logo:"clickhouse",connectionLibraries:{libraries:["chdb"],preferred:"chdb"}},{name:"Trino",schema:Re,color:"#d466b6",logo:"trino",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DataFusion",schema:Te,color:"#202A37",logo:"datafusion",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"PySpark",schema:De,color:"#1C5162",logo:"pyspark",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"Redshift",schema:qe,color:"#522BAE",logo:"redshift",connectionLibraries:{libraries:["redshift"],preferred:"redshift"}},{name:"Databricks",schema:Le,color:"#c41e0c",logo:"databricks",connectionLibraries:{libraries:["sqlalchemy","sqlmodel","ibis"],preferred:"sqlalchemy"}},{name:"Supabase",schema:Pe,color:"#238F5F",logo:"supabase",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}}],Be=[{name:"Iceberg",schema:Ie,color:"#000000",logo:"iceberg",connectionLibraries:{libraries:["pyiceberg"],preferred:"pyiceberg"}}],xs=t=>{let e=(0,W.c)(14),{onSelect:s}=t,o;e[0]===s?o=e[1]:(o=S=>{let{name:A,schema:g,color:_,logo:R}=S;return(0,r.jsxs)("button",{type:"button",className:"py-3 flex flex-col items-center justify-center gap-1 transition-all hover:scale-105 hover:brightness-110 rounded shadow-sm-solid hover:shadow-md-solid",style:{backgroundColor:_},onClick:()=>s(g),children:[(0,r.jsx)(He,{name:R,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),(0,r.jsx)("span",{className:"text-white font-medium text-lg",children:A})]},A)},e[0]=s,e[1]=o);let n=o,a;e[2]===n?a=e[3]:(a=Ee.map(n),e[2]=n,e[3]=a);let c;e[4]===a?c=e[5]:(c=(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:a}),e[4]=a,e[5]=c);let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsxs)("h4",{className:"font-semibold text-muted-foreground text-lg flex items-center gap-4",children:["Data Catalogs",(0,r.jsx)("hr",{className:"flex-1"})]}),e[6]=l):l=e[6];let b;e[7]===n?b=e[8]:(b=Be.map(n),e[7]=n,e[8]=b);let u;e[9]===b?u=e[10]:(u=(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:b}),e[9]=b,e[10]=u);let f;return e[11]!==c||e[12]!==u?(f=(0,r.jsxs)(r.Fragment,{children:[c,l,u]}),e[11]=c,e[12]=u,e[13]=f):f=e[13],f},$s=[gs],ks=t=>{var pe;let e=(0,W.c)(49),{schema:s,onSubmit:o,onBack:n}=t,a;e[0]===s?a=e[1]:(a=Dt(s),e[0]=s,e[1]=a);let c=s,l;e[2]===c?l=e[3]:(l=mt(c),e[2]=c,e[3]=l);let b;e[4]!==a||e[5]!==l?(b={defaultValues:a,resolver:l,reValidateMode:"onChange"},e[4]=a,e[5]=l,e[6]=b):b=e[6];let u=dt(b),f=(pe=[...Ee,...Be].find(j=>j.schema===s))==null?void 0:pe.connectionLibraries,[S,A]=(0,K.useState)((f==null?void 0:f.preferred)??"sqlalchemy"),{createNewCell:g}=Me(),_=Tt(),R;e[7]!==g||e[8]!==_?(R=j=>{g({code:j,before:!1,cellId:_??"__end__",skipIfCodeExists:!0})},e[7]=g,e[8]=_,e[9]=R):R=e[9];let J=R,H;e[10]!==J||e[11]!==o||e[12]!==S?(H=j=>{J(ps(j,S)),o()},e[10]=J,e[11]=o,e[12]=S,e[13]=H):H=e[13];let Y=H,I;e[14]!==u||e[15]!==Y?(I=u.handleSubmit(Y),e[14]=u,e[15]=Y,e[16]=I):I=e[16];let M;e[17]===Symbol.for("react.memo_cache_sentinel")?(M=(0,r.jsx)(ut,{}),e[17]=M):M=e[17];let T;e[18]!==u||e[19]!==s?(T=(0,r.jsx)(fs,{children:(0,r.jsx)(qt,{schema:s,form:u,renderers:$s,children:M})}),e[18]=u,e[19]=s,e[20]=T):T=e[20];let D;e[21]===n?D=e[22]:(D=(0,r.jsx)(ie,{type:"button",variant:"outline",onClick:n,children:"Back"}),e[21]=n,e[22]=D);let X=!u.formState.isValid,q;e[23]===X?q=e[24]:(q=(0,r.jsx)(ie,{type:"submit",disabled:X,children:"Add"}),e[23]=X,e[24]=q);let L;e[25]!==D||e[26]!==q?(L=(0,r.jsxs)("div",{className:"flex gap-2",children:[D,q]}),e[25]=D,e[26]=q,e[27]=L):L=e[27];let Z=wt,P;e[28]===Symbol.for("react.memo_cache_sentinel")?(P=j=>A(j),e[28]=P):P=e[28];let N;e[29]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[(0,r.jsx)(_t,{children:(0,r.jsx)(ft,{placeholder:"Select a library"})}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"Preferred connection library"})]}),e[29]=N):N=e[29];let ee=yt,te=St,se=f==null?void 0:f.libraries.map(js),F;e[30]!==te||e[31]!==se?(F=(0,r.jsx)(te,{children:se}),e[30]=te,e[31]=se,e[32]=F):F=e[32];let E;e[33]!==ee||e[34]!==F?(E=(0,r.jsx)(ee,{children:F}),e[33]=ee,e[34]=F,e[35]=E):E=e[35];let B;e[36]!==Z||e[37]!==S||e[38]!==P||e[39]!==N||e[40]!==E?(B=(0,r.jsx)("div",{children:(0,r.jsxs)(Z,{value:S,onValueChange:P,children:[N,E]})}),e[36]=Z,e[37]=S,e[38]=P,e[39]=N,e[40]=E,e[41]=B):B=e[41];let O;e[42]!==L||e[43]!==B?(O=(0,r.jsxs)("div",{className:"flex gap-2 justify-between",children:[L,B]}),e[42]=L,e[43]=B,e[44]=O):O=e[44];let Q;return e[45]!==T||e[46]!==O||e[47]!==I?(Q=(0,r.jsxs)("form",{onSubmit:I,className:"space-y-4",children:[T,O]}),e[45]=T,e[46]=O,e[47]=I,e[48]=Q):Q=e[48],Q},Cs=t=>{let e=(0,W.c)(5),{onSubmit:s}=t,[o,n]=(0,K.useState)(null);if(!o){let l;return e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsx)(xs,{onSelect:n}),e[0]=l):l=e[0],l}let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=()=>n(null),e[1]=a):a=e[1];let c;return e[2]!==s||e[3]!==o?(c=(0,r.jsx)(ks,{schema:o,onSubmit:s,onBack:a}),e[2]=s,e[3]=o,e[4]=c):c=e[4],c};const As=t=>{let e=(0,W.c)(6),{children:s}=t,[o,n]=(0,K.useState)(!1),a;e[0]===s?a=e[1]:(a=(0,r.jsx)(kt,{asChild:!0,children:s}),e[0]=s,e[1]=a);let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsx)(Oe,{onClose:()=>n(!1)}),e[2]=c):c=e[2];let l;return e[3]!==o||e[4]!==a?(l=(0,r.jsxs)(jt,{open:o,onOpenChange:n,children:[a,c]}),e[3]=o,e[4]=a,e[5]=l):l=e[5],l},Oe=t=>{let e=(0,W.c)(4),{onClose:s}=t,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)($t,{children:"Add Connection"}),e[0]=o):o=e[0];let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsxs)(xt,{className:"mb-4",children:[o,(0,r.jsxs)(At,{children:["Connect to your database or data catalog to query data directly from your notebook. Learn more about how to connect to your database in our"," ",(0,r.jsx)(Rt,{href:"https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database",children:"docs."})]})]}),e[1]=n):n=e[1];let a;return e[2]===s?a=e[3]:(a=(0,r.jsxs)(Ct,{className:"max-h-[75vh] overflow-y-auto",children:[n,(0,r.jsx)(Cs,{onSubmit:()=>s()})]}),e[2]=s,e[3]=a),a};function js(t){return(0,r.jsx)(gt,{value:t,children:Ne[t]},t)}export{Oe as n,As as t};
|
|
111
|
+
`)}var us=be(),K=me(We(),1),r=me(Xe(),1),Fe=(0,K.createContext)({providerNames:[],secretKeys:[],loading:!1,error:void 0,refreshSecrets:Ye.NOOP});const bs=()=>(0,K.use)(Fe),fs=t=>{let e=(0,us.c)(14),{children:s}=t,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],e[0]=o):o=e[0];let{data:n,isPending:a,error:c,refetch:l}=It(ws,o),b;e[1]===(n==null?void 0:n.secretKeys)?b=e[2]:(b=(n==null?void 0:n.secretKeys)||[],e[1]=n==null?void 0:n.secretKeys,e[2]=b);let u;e[3]===(n==null?void 0:n.providerNames)?u=e[4]:(u=(n==null?void 0:n.providerNames)||[],e[3]=n==null?void 0:n.providerNames,e[4]=u);let f;e[5]!==c||e[6]!==a||e[7]!==l||e[8]!==b||e[9]!==u?(f={secretKeys:b,providerNames:u,loading:a,error:c,refreshSecrets:l},e[5]=c,e[6]=a,e[7]=l,e[8]=b,e[9]=u,e[10]=f):f=e[10];let _;return e[11]!==s||e[12]!==f?(_=(0,r.jsx)(Fe,{value:f,children:s}),e[11]=s,e[12]=f,e[13]=_):_=e[13],_},gs={isMatch:t=>{if(t instanceof ue||t instanceof Ge){let{optionRegex:e}=i.parse(t.description||"");return!!e}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:o,providerNames:n,refreshSecrets:a}=bs(),{openModal:c,closeModal:l}=vt(),{label:b,description:u,optionRegex:f=""}=i.parse(t.description||""),[_,A]=Kt(o,g=>new RegExp(f,"i").test(g));return(0,r.jsx)(ct,{control:e.control,name:s,render:({field:g})=>(0,r.jsxs)(ht,{children:[(0,r.jsx)(bt,{children:b}),(0,r.jsx)(pt,{children:u}),(0,r.jsx)(at,{children:(0,r.jsxs)("div",{className:"flex gap-2",children:[t instanceof ue?(0,r.jsx)(it,{...g,value:g.value,onChange:g.onChange,className:fe("flex-1")}):(0,r.jsx)(rt,{...g,value:g.value,onChange:g.onChange,className:"flex-1"}),(0,r.jsxs)(nt,{children:[(0,r.jsx)(tt,{asChild:!0,children:(0,r.jsx)(ie,{variant:"outline",size:"icon",className:fe(V(g.value)&&"bg-accent"),children:(0,r.jsx)(ot,{className:"h-3 w-3"})})}),(0,r.jsxs)(st,{align:"end",className:"max-h-60 overflow-y-auto",children:[(0,r.jsxs)(ae,{onSelect:()=>{c((0,r.jsx)(Nt,{providerNames:n,onSuccess:S=>{a(),g.onChange(he(S)),l()},onClose:l}))},children:[(0,r.jsx)(Ze,{className:"mr-2 h-3.5 w-3.5"}),"Create a new secret"]}),_.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ge,{}),(0,r.jsx)(et,{children:"Recommended"})]}),_.map(S=>(0,r.jsx)(ae,{onSelect:()=>g.onChange(he(S)),children:S},S)),A.length>0&&(0,r.jsx)(ge,{}),A.map(S=>(0,r.jsx)(ae,{onSelect:()=>g.onChange(he(S)),children:S},S))]})]})]})}),(0,r.jsx)(lt,{})]})})}};function ys(t){return t.provider!=="env"}function _s(t){return t.name}function Ss(t){return t.keys}async function ws(){let t=await Lt.request({}),e=Pt(t.secrets).filter(ys).map(_s);return{secretKeys:t.secrets.flatMap(Ss).sort(),providerNames:e}}var W=be(),Ee=[{name:"PostgreSQL",schema:_e,color:"#336791",logo:"postgres",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"MySQL",schema:Se,color:"#00758F",logo:"mysql",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"SQLite",schema:we,color:"#003B57",logo:"sqlite",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DuckDB",schema:xe,color:"#FFD700",logo:"duckdb",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"MotherDuck",schema:ke,color:"#ff9538",logo:"motherduck",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"Snowflake",schema:$e,color:"#29B5E8",logo:"snowflake",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse",schema:Ae,color:"#2C2C1D",logo:"clickhouse",connectionLibraries:{libraries:["clickhouse_connect"],preferred:"clickhouse_connect"}},{name:"Timeplus",schema:je,color:"#B83280",logo:"timeplus",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"BigQuery",schema:Ce,color:"#4285F4",logo:"bigquery",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse Embedded",schema:ve,color:"#f2b611",logo:"clickhouse",connectionLibraries:{libraries:["chdb"],preferred:"chdb"}},{name:"Trino",schema:Re,color:"#d466b6",logo:"trino",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DataFusion",schema:Te,color:"#202A37",logo:"datafusion",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"PySpark",schema:De,color:"#1C5162",logo:"pyspark",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"Redshift",schema:qe,color:"#522BAE",logo:"redshift",connectionLibraries:{libraries:["redshift"],preferred:"redshift"}},{name:"Databricks",schema:Le,color:"#c41e0c",logo:"databricks",connectionLibraries:{libraries:["sqlalchemy","sqlmodel","ibis"],preferred:"sqlalchemy"}},{name:"Supabase",schema:Pe,color:"#238F5F",logo:"supabase",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}}],Be=[{name:"Iceberg",schema:Ie,color:"#000000",logo:"iceberg",connectionLibraries:{libraries:["pyiceberg"],preferred:"pyiceberg"}}],xs=t=>{let e=(0,W.c)(14),{onSelect:s}=t,o;e[0]===s?o=e[1]:(o=_=>{let{name:A,schema:g,color:S,logo:R}=_;return(0,r.jsxs)("button",{type:"button",className:"py-3 flex flex-col items-center justify-center gap-1 transition-all hover:scale-105 hover:brightness-110 rounded shadow-sm-solid hover:shadow-md-solid",style:{backgroundColor:S},onClick:()=>s(g),children:[(0,r.jsx)(He,{name:R,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),(0,r.jsx)("span",{className:"text-white font-medium text-lg",children:A})]},A)},e[0]=s,e[1]=o);let n=o,a;e[2]===n?a=e[3]:(a=Ee.map(n),e[2]=n,e[3]=a);let c;e[4]===a?c=e[5]:(c=(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:a}),e[4]=a,e[5]=c);let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsxs)("h4",{className:"font-semibold text-muted-foreground text-lg flex items-center gap-4",children:["Data Catalogs",(0,r.jsx)("hr",{className:"flex-1"})]}),e[6]=l):l=e[6];let b;e[7]===n?b=e[8]:(b=Be.map(n),e[7]=n,e[8]=b);let u;e[9]===b?u=e[10]:(u=(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:b}),e[9]=b,e[10]=u);let f;return e[11]!==c||e[12]!==u?(f=(0,r.jsxs)(r.Fragment,{children:[c,l,u]}),e[11]=c,e[12]=u,e[13]=f):f=e[13],f},ks=[gs],$s=t=>{var pe;let e=(0,W.c)(49),{schema:s,onSubmit:o,onBack:n}=t,a;e[0]===s?a=e[1]:(a=Dt(s),e[0]=s,e[1]=a);let c=s,l;e[2]===c?l=e[3]:(l=mt(c),e[2]=c,e[3]=l);let b;e[4]!==a||e[5]!==l?(b={defaultValues:a,resolver:l,reValidateMode:"onChange"},e[4]=a,e[5]=l,e[6]=b):b=e[6];let u=dt(b),f=(pe=[...Ee,...Be].find(j=>j.schema===s))==null?void 0:pe.connectionLibraries,[_,A]=(0,K.useState)((f==null?void 0:f.preferred)??"sqlalchemy"),{createNewCell:g}=Me(),S=Tt(),R;e[7]!==g||e[8]!==S?(R=j=>{g({code:j,before:!1,cellId:S??"__end__",skipIfCodeExists:!0})},e[7]=g,e[8]=S,e[9]=R):R=e[9];let J=R,H;e[10]!==J||e[11]!==o||e[12]!==_?(H=j=>{J(ps(j,_)),o()},e[10]=J,e[11]=o,e[12]=_,e[13]=H):H=e[13];let Y=H,I;e[14]!==u||e[15]!==Y?(I=u.handleSubmit(Y),e[14]=u,e[15]=Y,e[16]=I):I=e[16];let M;e[17]===Symbol.for("react.memo_cache_sentinel")?(M=(0,r.jsx)(ut,{}),e[17]=M):M=e[17];let T;e[18]!==u||e[19]!==s?(T=(0,r.jsx)(fs,{children:(0,r.jsx)(qt,{schema:s,form:u,renderers:ks,children:M})}),e[18]=u,e[19]=s,e[20]=T):T=e[20];let D;e[21]===n?D=e[22]:(D=(0,r.jsx)(ie,{type:"button",variant:"outline",onClick:n,children:"Back"}),e[21]=n,e[22]=D);let X=!u.formState.isValid,q;e[23]===X?q=e[24]:(q=(0,r.jsx)(ie,{type:"submit",disabled:X,children:"Add"}),e[23]=X,e[24]=q);let L;e[25]!==D||e[26]!==q?(L=(0,r.jsxs)("div",{className:"flex gap-2",children:[D,q]}),e[25]=D,e[26]=q,e[27]=L):L=e[27];let Z=wt,P;e[28]===Symbol.for("react.memo_cache_sentinel")?(P=j=>A(j),e[28]=P):P=e[28];let N;e[29]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[(0,r.jsx)(St,{children:(0,r.jsx)(ft,{placeholder:"Select a library"})}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"Preferred connection library"})]}),e[29]=N):N=e[29];let ee=yt,te=_t,se=f==null?void 0:f.libraries.map(js),F;e[30]!==te||e[31]!==se?(F=(0,r.jsx)(te,{children:se}),e[30]=te,e[31]=se,e[32]=F):F=e[32];let E;e[33]!==ee||e[34]!==F?(E=(0,r.jsx)(ee,{children:F}),e[33]=ee,e[34]=F,e[35]=E):E=e[35];let B;e[36]!==Z||e[37]!==_||e[38]!==P||e[39]!==N||e[40]!==E?(B=(0,r.jsx)("div",{children:(0,r.jsxs)(Z,{value:_,onValueChange:P,children:[N,E]})}),e[36]=Z,e[37]=_,e[38]=P,e[39]=N,e[40]=E,e[41]=B):B=e[41];let O;e[42]!==L||e[43]!==B?(O=(0,r.jsxs)("div",{className:"flex gap-2 justify-between",children:[L,B]}),e[42]=L,e[43]=B,e[44]=O):O=e[44];let Q;return e[45]!==T||e[46]!==O||e[47]!==I?(Q=(0,r.jsxs)("form",{onSubmit:I,className:"space-y-4",children:[T,O]}),e[45]=T,e[46]=O,e[47]=I,e[48]=Q):Q=e[48],Q},Cs=t=>{let e=(0,W.c)(5),{onSubmit:s}=t,[o,n]=(0,K.useState)(null);if(!o){let l;return e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsx)(xs,{onSelect:n}),e[0]=l):l=e[0],l}let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=()=>n(null),e[1]=a):a=e[1];let c;return e[2]!==s||e[3]!==o?(c=(0,r.jsx)($s,{schema:o,onSubmit:s,onBack:a}),e[2]=s,e[3]=o,e[4]=c):c=e[4],c};const As=t=>{let e=(0,W.c)(6),{children:s}=t,[o,n]=(0,K.useState)(!1),a;e[0]===s?a=e[1]:(a=(0,r.jsx)($t,{asChild:!0,children:s}),e[0]=s,e[1]=a);let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsx)(Oe,{onClose:()=>n(!1)}),e[2]=c):c=e[2];let l;return e[3]!==o||e[4]!==a?(l=(0,r.jsxs)(jt,{open:o,onOpenChange:n,children:[a,c]}),e[3]=o,e[4]=a,e[5]=l):l=e[5],l},Oe=t=>{let e=(0,W.c)(4),{onClose:s}=t,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)(kt,{children:"Add Connection"}),e[0]=o):o=e[0];let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsxs)(xt,{className:"mb-4",children:[o,(0,r.jsxs)(At,{children:["Connect to your database or data catalog to query data directly from your notebook. Learn more about how to connect to your database in our"," ",(0,r.jsx)(Rt,{href:"https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database",children:"docs."})]})]}),e[1]=n):n=e[1];let a;return e[2]===s?a=e[3]:(a=(0,r.jsxs)(Ct,{className:"max-h-[75vh] overflow-y-auto",children:[n,(0,r.jsx)(Cs,{onSubmit:()=>s()})]}),e[2]=s,e[3]=a),a};function js(t){return(0,r.jsx)(gt,{value:t,children:Ne[t]},t)}export{Oe as n,As as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as V}from"./chunk-LvLJmgfZ.js";import{l as X,u as L}from"./useEvent-BhXAndur.js";import{t as Y}from"./react-Bj1aDYRI.js";import{Hr as Z}from"./cells-CiFhRLUd.js";import"./react-dom-CSu739Rf.js";import{t as T}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DqsDDLgU.js";import{S as ee}from"./ai-model-dropdown-DC4t5PJE.js";import{a as le,i as te,l as ie}from"./hotkeys-BHHWjLlp.js";import{p as ae,v as oe,y as re}from"./utils-YqBXNpsM.js";import{i as ne}from"./switch-BF1BnESM.js";import{t as pe}from"./useEventListener-Cb-RVVEn.js";import{t as se}from"./jsx-runtime-ZmTK25f3.js";import"./dist-DBwNzi3C.js";import"./JsonOutput-BUok9dqY.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-CS26E0hA.js";import{r as de}from"./requests-B4FYHTZl.js";import"./layout-DWzvYkJc.js";import"./download-CUgZOA9O.js";import{t as me}from"./useCellActionButton-ChlSq72t.js";import"./markdown-renderer-Dotqbx_q.js";import{i as he,t as ce}from"./useNotebookActions-
|
|
1
|
+
import{s as V}from"./chunk-LvLJmgfZ.js";import{l as X,u as L}from"./useEvent-BhXAndur.js";import{t as Y}from"./react-Bj1aDYRI.js";import{Hr as Z}from"./cells-CiFhRLUd.js";import"./react-dom-CSu739Rf.js";import{t as T}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DqsDDLgU.js";import{S as ee}from"./ai-model-dropdown-DC4t5PJE.js";import{a as le,i as te,l as ie}from"./hotkeys-BHHWjLlp.js";import{p as ae,v as oe,y as re}from"./utils-YqBXNpsM.js";import{i as ne}from"./switch-BF1BnESM.js";import{t as pe}from"./useEventListener-Cb-RVVEn.js";import{t as se}from"./jsx-runtime-ZmTK25f3.js";import"./dist-DBwNzi3C.js";import"./JsonOutput-BUok9dqY.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-CS26E0hA.js";import{r as de}from"./requests-B4FYHTZl.js";import"./layout-DWzvYkJc.js";import"./download-CUgZOA9O.js";import{t as me}from"./useCellActionButton-ChlSq72t.js";import"./markdown-renderer-Dotqbx_q.js";import{i as he,t as ce}from"./useNotebookActions-DuB13MhL.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./session-fBtIbMpB.js";import"./Combination-izwufzWe.js";import"./dates-CT5PUuFo.js";import"./popover-B-131r4d.js";import"./share-rXkgGlhr.js";import"./vega-loader.browser-BegSZk0G.js";import"./defaultLocale-YteS-k_t.js";import"./defaultLocale-B6z1Qyqt.js";import"./purify.es-B-nzWya6.js";import{a as ye,c as fe,i as z,l as J,n as ue,o as K,r as be,s as ge}from"./command-MHa10zT2.js";import"./chunk-5FQGJX7Z-T2jyw7ZD.js";import"./katex-CbllUrnh.js";import"./html-to-image-BKGhRUqR.js";import{r as ke}from"./focus-CtXToHnV.js";import{t as Q}from"./renderShortcut-Xr6z-RjZ.js";import"./esm-BK6tLEHQ.js";import"./name-cell-input-Bb4XgE9B.js";import"./multi-icon-BWLbAXq5.js";import"./dist-BZe-2kC9.js";import"./dist-Bpsss9Eu.js";import"./dist-qIIHXwC_.js";import"./dist-OZngTf6n.js";import"./dist-DGPkGdD2.js";import"./dist-DLCy1STk.js";import"./dist-CNknMFYG.js";import"./dist-DsxhNXOv.js";import"./dist-rT8uZk_k.js";import"./esm-BmQh-C2G.js";var Ce=T(),je=V(Y(),1);function xe(e,l){let t=(0,Ce.c)(11),n;t[0]===l?n=t[1]:(n=new Z(l),t[0]=l,t[1]=n);let p=n,r;t[2]!==e||t[3]!==p?(r=()=>p.get(e),t[2]=e,t[3]=p,t[4]=r):r=t[4];let[m,g]=(0,je.useState)(r),i;t[5]!==e||t[6]!==p?(i=k=>{g(k),p.set(e,k)},t[5]=e,t[6]=p,t[7]=i):i=t[7];let f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var ve=T(),Se=3;function we(){let e=(0,ve.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,n]=xe("marimo:commands",l),p;e[1]!==t||e[2]!==n?(p=m=>{n(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=n,e[3]=p):p=e[3];let r;return e[4]!==t||e[5]!==p?(r={recentCommands:t,addRecentCommand:p},e[4]=t,e[5]=p,e[6]=r):r=e[6],r}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function U(e,l=""){return e.flatMap(t=>t.label?W(t)?U(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label}:[])}var He=T();function Ae(){let e=(0,He.c)(75),[l,t]=re(),[n,p]=oe(),{saveAppConfig:r,saveUserConfig:m}=de(),g;e[0]!==m||e[1]!==t?(g=async d=>{await m({config:d}).then(()=>{t(c=>({...c,...d}))})},e[0]=m,e[1]=t,e[2]=g):g=e[2];let i=g,f;e[3]!==r||e[4]!==p?(f=async d=>{await r({config:d}).then(()=>{p(d)})},e[3]=r,e[4]=p,e[5]=f):f=e[5];let h=f,k;if(e[6]!==n||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let d;e[13]===n?d=e[14]:(d=O=>O!==n.width,e[13]=n,e[14]=d);let c;e[15]!==n||e[16]!==h?(c=O=>({label:`App config > Set width=${O}`,handle:()=>{h({...n,width:O})}}),e[15]=n,e[16]=h,e[17]=c):c=e[17];let H;e[18]!==l.display||e[19]!==i?(H={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=H):H=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let A;e[24]!==l.display||e[25]!==i?(A={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=A):A=e[26];let P=l.keymap.preset==="vim",M;e[27]!==l.keymap||e[28]!==i?(M=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=M):M=e[29];let N;e[30]!==P||e[31]!==M?(N={label:"Config > Switch keymap to VIM",hidden:P,handle:M},e[30]=P,e[31]=M,e[32]=N):N=e[32];let D=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==D||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:D,handle:j},e[36]=D,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",$;e[42]!==x||e[43]!==v?($={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=$):$=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let I=l.completion.copilot==="github",q;e[48]!==S||e[49]!==I?(q={label:"Config > Enable GitHub Copilot",handle:S,hidden:I},e[48]=S,e[49]=I,e[50]=q):q=e[50];let B=!l.display.reference_highlighting,w;e[51]!==l.display||e[52]!==i?(w=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=w):w=e[53];let b;e[54]!==B||e[55]!==w?(b={label:"Config > Disable reference highlighting",hidden:B,handle:w},e[54]=B,e[55]=w,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let F;e[60]!==l.display.reference_highlighting||e[61]!==y?(F={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=F):F=e[62];let o=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==i?(a=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=a):a=e[65];let R;e[66]!==o||e[67]!==a?(R={label:"Config > Set cell output area: above",hidden:o,handle:a},e[66]=o,e[67]=a,e[68]=R):R=e[68];let _=l.display.cell_output==="below",E;e[69]!==l.display||e[70]!==i?(E=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=E):E=e[71];let G;e[72]!==_||e[73]!==E?(G={label:"Config > Set cell output area: below",hidden:_,handle:E},e[72]=_,e[73]=E,e[74]=G):G=e[74],k=[...ee().filter(d).map(c),H,C,A,N,u,$,q,b,F,R,G].filter(Me),e[6]=n,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=k}else k=e[12];return k}function Me(e){return!e.hidden}var Ne=T(),s=V(se(),1),De=()=>{let e=(0,Ne.c)(37),[l,t]=X(he),n=ne(),p=L(ke),r=L(ae),m;e[0]===p?m=e[1]:(m={cell:p},e[0]=p,e[1]=m);let g=me(m).flat();g=U(g);let i=Ae(),f=ce();f=[...U(f),...U(i)];let h=f.filter(Fe),k=le.keyBy(h,Re),{recentCommands:d,addRecentCommand:c}=we(),H;e[2]===d?H=e[3]:(H=new Set(d),e[2]=d,e[3]=H);let C=H,A;e[4]!==r||e[5]!==t?(A=o=>{ie(r.getHotkey("global.commandPalette").key)(o)&&(o.preventDefault(),t(Ee))},e[4]=r,e[5]=t,e[6]=A):A=e[6],pe(document,"keydown",A);let P;e[7]!==c||e[8]!==r||e[9]!==n||e[10]!==t?(P=(o,a)=>{let R=n[o];if(!R)return null;let _=r.getHotkey(o);return(0,s.jsxs)(K,{disabled:a.disabled,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{R()})},value:_.name,children:[(0,s.jsxs)("span",{children:[_.name,a.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:_.key})})]},o)},e[7]=c,e[8]=r,e[9]=n,e[10]=t,e[11]=P):P=e[11];let M=P,N;e[12]!==c||e[13]!==r||e[14]!==t?(N=o=>{let{label:a,handle:R,props:_,hotkey:E}=o,G=_===void 0?{}:_;return(0,s.jsxs)(K,{disabled:G.disabled,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{R()})},value:a,children:[(0,s.jsxs)("span",{children:[a,G.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",G.tooltip,")"]})]}),E&&(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:r.getHotkey(E).key})})]},a)},e[12]=c,e[13]=r,e[14]=t,e[15]=N):N=e[15];let D=N,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let $=d.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z,{heading:"Recently Used",children:d.map(o=>{let a=k[o];return te(o)?M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!W(a)?D({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip}}):null})}),(0,s.jsx)(fe,{})]}),S=z,I=r.iterate().map(o=>{if(C.has(o))return null;let a=k[o];return M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),q=h.map(o=>C.has(o.label)?null:D({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}})),B;e[18]!==C||e[19]!==D?(B=o=>C.has(o.label)?null:D({label:`Cell > ${o.label}`,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}}),e[18]=C,e[19]=D,e[20]=B):B=e[20];let w=g.map(B),b;e[21]!==S||e[22]!==q||e[23]!==w||e[24]!==I?(b=(0,s.jsxs)(S,{heading:"Commands",children:[I,q,w]}),e[21]=S,e[22]=q,e[23]=w,e[24]=I,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==$?(y=(0,s.jsxs)(x,{children:[v,$,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=$,e[30]=y):y=e[30];let F;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(F=(0,s.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=F):F=e[36],F};function Fe(e){return!e.hotkey}function Re(e){return e.label}function Ee(e){return!e}export{De as default};
|