planche 0.9.5 → 0.9.6

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 (80) hide show
  1. package/app/assets/{MpwA8CBH.js → -BrRFEsd.js} +1 -1
  2. package/app/assets/{BLX_0Iuc.js → 0kBxoQTC.js} +1 -1
  3. package/app/assets/{Ce8qkYMi.js → 2T9lxo0j.js} +1 -1
  4. package/app/assets/{DXIGhA87.js → 4Sc28RjY.js} +1 -1
  5. package/app/assets/{ExkVtCby.js → 7H3wwOVq.js} +1 -1
  6. package/app/assets/{PtmN2Kre.js → B-c9Bbn-.js} +1 -1
  7. package/app/assets/{BoyxPMVw.js → B0E81kOo.js} +1 -1
  8. package/app/assets/{uHjP6NCK.js → B2Zfb92y.js} +1 -1
  9. package/app/assets/{CMfcs7CX.js → B3XTjmoU.js} +1 -1
  10. package/app/assets/B44ZD3qB.js +1 -0
  11. package/app/assets/{CMCx7NXl.js → B6XenN2A.js} +1 -1
  12. package/app/assets/{BvbKV2Ph.js → B8FE8vBX.js} +1 -1
  13. package/app/assets/{sPLCZ3dr.js → BChuqxvg.js} +1 -1
  14. package/app/assets/{BhLxz3YC.js → BI62eGZp.js} +1 -1
  15. package/app/assets/{Bh2UJoox.js → BJAxKOmG.js} +1 -1
  16. package/app/assets/{k417yOYE.js → BJJw3SB5.js} +1 -1
  17. package/app/assets/{By6P807S.js → BMDe5-Uv.js} +1 -1
  18. package/app/assets/{BfuyTuMK.js → BZxviYfr.js} +1 -1
  19. package/app/assets/{PDN9zqKI.js → Bab8stSv.js} +1 -1
  20. package/app/assets/{z8yMMV5K.js → Bc5IXAIN.js} +1 -1
  21. package/app/assets/{BdU74M5l.js → BgLjiapn.js} +1 -1
  22. package/app/assets/{ClNpo19j.js → Bi01vkJ0.js} +1 -1
  23. package/app/assets/{C9opSbIc.js → Bl1BkaRv.js} +1 -1
  24. package/app/assets/{DB8Yfa-s.js → BlX_ty5A.js} +1 -1
  25. package/app/assets/{clStr2A7.js → Bt7l7S-A.js} +1 -1
  26. package/app/assets/{rwxgujx6.js → Btah5WTi.js} +1 -1
  27. package/app/assets/{DmcF58Zy.js → C6zXHuU2.js} +1 -1
  28. package/app/assets/{D41s9TGC.js → C7Nv9Pjy.js} +1 -1
  29. package/app/assets/{Ahsdniz8.js → C7RCbZO-.js} +1 -1
  30. package/app/assets/{C9slUGvf.js → C8cs68si.js} +1 -1
  31. package/app/assets/{fJSgP8kO.js → CCgoXW8B.js} +1 -1
  32. package/app/assets/{B7sbjdEF.js → CFUqug8N.js} +1 -1
  33. package/app/assets/{DtfcGn7m.js → CLIa5Zav.js} +1 -1
  34. package/app/assets/{BTOj30GE.js → CRlZzqQn.js} +1 -1
  35. package/app/assets/{CyrKbLfo.js → C_PrLsEz.js} +1 -1
  36. package/app/assets/{CGqyAL2g.js → CaSbNoIz.js} +1 -1
  37. package/app/assets/{Bv67Bucf.js → CbZfSgjv.js} +1 -1
  38. package/app/assets/{_b2c4unB.js → Cco5kfvu.js} +1 -1
  39. package/app/assets/{15ORcG2N.js → CdhLxfdD.js} +2 -2
  40. package/app/assets/{CKXJnmcw.js → ChXl0ZSz.js} +1 -1
  41. package/app/assets/{CZXoH3lk.js → CiyWCtv6.js} +1 -1
  42. package/app/assets/{BQ0kaqOO.js → Cm3uXWC-.js} +1 -1
  43. package/app/assets/{D7Waxc8J.js → CoR3wLxS.js} +1 -1
  44. package/app/assets/{Dg41U79W.js → Cykx3CBw.js} +20 -20
  45. package/app/assets/{Di2WcKpj.js → D03FsQo0.js} +1 -1
  46. package/app/assets/{kOcXvaMR.js → D34ytwl6.js} +1 -1
  47. package/app/assets/{ILIkaKLK.js → D5jvnKzI.js} +1 -1
  48. package/app/assets/{Dlrlafts.js → D8__nlZs.js} +1 -1
  49. package/app/assets/{c3wgXM5y.js → D9CjRjHv.js} +1 -1
  50. package/app/assets/{BiLp3cou.js → DDx1LRaR.js} +1 -1
  51. package/app/assets/{CC3-IIwu.js → DFM5Hmvq.js} +1 -1
  52. package/app/assets/{Cxx1wla0.js → DIL6_Ktc.js} +1 -1
  53. package/app/assets/{vYaMeuUS.js → DOwJs576.js} +1 -1
  54. package/app/assets/{CelfLV5M.js → DQ6CDi_T.js} +1 -1
  55. package/app/assets/{Bu90AfVd.js → DVLsUPLR.js} +1 -1
  56. package/app/assets/{DmQd5C4r.js → DgbhC5QI.js} +1 -1
  57. package/app/assets/{COVjACfp.js → Dqj9jTkq.js} +1 -1
  58. package/app/assets/{CSN2XEIP.js → DtRvUs3i.js} +1 -1
  59. package/app/assets/{sbeapBbo.js → Dw7TfwlR.js} +1 -1
  60. package/app/assets/{Y4o42QOf.js → DxCkE8VP.js} +1 -1
  61. package/app/assets/DyMqorDP.js +1 -0
  62. package/app/assets/{DhVLQTui.js → Dz-fZF1j.js} +1 -1
  63. package/app/assets/{j8iiZuT2.js → HrKYroWS.js} +1 -1
  64. package/app/assets/{LVFEf5KC.js → NrVAX4Mt.js} +1 -1
  65. package/app/assets/{L7C8avu_.js → O2uVOEYK.js} +1 -1
  66. package/app/assets/{CxVt8Vsf.js → SD00AQlE.js} +1 -1
  67. package/app/assets/{lULYdyyn.js → SqM4MUAZ.js} +1 -1
  68. package/app/assets/{DW_MDklv.js → WvnnIt2x.js} +1 -1
  69. package/app/assets/{W9OfWY-V.js → YJL2b-cO.js} +1 -1
  70. package/app/assets/{BXxY3z0A.js → iupVT1Sx.js} +1 -1
  71. package/app/assets/{CgvdcEWD.js → jfKIbXa5.js} +1 -1
  72. package/app/assets/{CuJxaCIZ.js → jz2lP5X-.js} +1 -1
  73. package/app/assets/{DZh9ctSS.js → lXSI1SY-.js} +1 -1
  74. package/app/assets/{DxPm34X2.js → lmacLN8z.js} +1 -1
  75. package/app/assets/{Byi789lS.js → uQNGLsg0.js} +2 -2
  76. package/app/assets/{BeP_ukJr.js → voJYJ5aN.js} +1 -1
  77. package/app/index.html +19 -19
  78. package/package.json +1 -1
  79. package/app/assets/B5qa5yLu.js +0 -1
  80. package/app/assets/BCNsD3zL.js +0 -1
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{t as n}from"./DXIGhA87.js";import{i as r,r as i}from"./DZh9ctSS.js";import{a,i as o,n as s,o as c,r as l,t as u}from"./BTOj30GE.js";import{T as d,h as f}from"./BQ0kaqOO.js";import{n as p}from"./DhVLQTui.js";import{Wt as m,Yt as h}from"./Dg41U79W.js";var g=e(t(),1),_=i();function v({text:e,label:t}){let[r,i]=(0,g.useState)(!1),a=(0,g.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{i(!0),setTimeout(()=>i(!1),1600)})},[e]);return(0,_.jsxs)(`div`,{className:`grid gap-1`,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,_.jsx)(`span`,{className:`text-xs font-medium`,children:t}),(0,_.jsx)(n,{variant:`ghost`,size:`sm`,className:`h-6 gap-1 px-2 text-xs`,onClick:a,children:r?(0,_.jsx)(h,{className:`size-3`}):(0,_.jsx)(m,{className:`size-3`})})]}),(0,_.jsx)(`pre`,{"data-selectable":!0,className:`max-h-32 overflow-auto whitespace-pre-wrap break-all rounded-md border bg-muted/40 p-2 text-[11px] leading-snug`,children:e})]})}function y(){let e=p(e=>e.activeDialog),t=p(e=>e.closeDialog),{t:i}=r(),[m,h]=(0,g.useState)(null),[y,b]=(0,g.useState)(null),[x,S]=(0,g.useState)(!1),C=e===`mcp-setup`;(0,g.useEffect)(()=>{C&&f().then(e=>{h(e),S(!1)}).catch(e=>b(e instanceof Error?e.message:String(e)))},[C]);let w=(0,g.useCallback)(()=>{d().then(()=>{h(null),S(!0)})},[]),T=m?`claude mcp add --transport http planche ${m.url} \\\n -H "Authorization: Bearer ${m.token}"`:``,E=m?JSON.stringify({mcpServers:{planche:{type:`http`,url:m.url,headers:{Authorization:`Bearer ${m.token}`}}}},null,2):``;return(0,_.jsx)(u,{open:C,onOpenChange:e=>{e||t()},children:(0,_.jsxs)(s,{className:`sm:max-w-[620px]`,children:[(0,_.jsxs)(a,{children:[(0,_.jsx)(c,{children:i(`mcp.title`)}),(0,_.jsx)(l,{children:i(`mcp.description`)})]}),(0,_.jsxs)(`div`,{className:`grid gap-3`,children:[(0,_.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs`,children:[[`readsLabel`,`reads`],[`writesLabel`,`writes`],[`needsLabel`,`needs`],[`tokenLabel`,`token`]].map(([e,t])=>(0,_.jsxs)(g.Fragment,{children:[(0,_.jsx)(`dt`,{className:`font-medium`,children:i(`mcp.${e}`)}),(0,_.jsx)(`dd`,{className:`text-muted-foreground`,children:i(`mcp.${t}`)})]},e))}),y&&(0,_.jsx)(`p`,{className:`rounded-md border border-destructive/40 p-2 text-xs text-destructive`,children:y}),x&&(0,_.jsx)(`p`,{className:`rounded-md border p-2 text-xs text-muted-foreground`,children:i(`mcp.revoked`)}),m&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(v,{text:T,label:i(`mcp.command`)}),(0,_.jsx)(v,{text:E,label:i(`mcp.json`)}),(0,_.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:i(`mcp.stored`,{path:m.path})})]})]}),(0,_.jsxs)(o,{children:[m&&(0,_.jsx)(n,{variant:`ghost`,size:`sm`,onClick:w,children:i(`mcp.revoke`)}),(0,_.jsx)(n,{size:`sm`,onClick:t,children:i(`settings.done`)})]})]})})}export{y as McpSetupDialog};
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{t as n}from"./4Sc28RjY.js";import{i as r,r as i}from"./lXSI1SY-.js";import{a,i as o,n as s,o as c,r as l,t as u}from"./CRlZzqQn.js";import{T as d,h as f}from"./Cm3uXWC-.js";import{n as p}from"./Dz-fZF1j.js";import{Wt as m,Yt as h}from"./Cykx3CBw.js";var g=e(t(),1),_=i();function v({text:e,label:t}){let[r,i]=(0,g.useState)(!1),a=(0,g.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{i(!0),setTimeout(()=>i(!1),1600)})},[e]);return(0,_.jsxs)(`div`,{className:`grid gap-1`,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,_.jsx)(`span`,{className:`text-xs font-medium`,children:t}),(0,_.jsx)(n,{variant:`ghost`,size:`sm`,className:`h-6 gap-1 px-2 text-xs`,onClick:a,children:r?(0,_.jsx)(h,{className:`size-3`}):(0,_.jsx)(m,{className:`size-3`})})]}),(0,_.jsx)(`pre`,{"data-selectable":!0,className:`max-h-32 overflow-auto whitespace-pre-wrap break-all rounded-md border bg-muted/40 p-2 text-[11px] leading-snug`,children:e})]})}function y(){let e=p(e=>e.activeDialog),t=p(e=>e.closeDialog),{t:i}=r(),[m,h]=(0,g.useState)(null),[y,b]=(0,g.useState)(null),[x,S]=(0,g.useState)(!1),C=e===`mcp-setup`;(0,g.useEffect)(()=>{C&&f().then(e=>{h(e),S(!1)}).catch(e=>b(e instanceof Error?e.message:String(e)))},[C]);let w=(0,g.useCallback)(()=>{d().then(()=>{h(null),S(!0)})},[]),T=m?`claude mcp add --transport http planche ${m.url} \\\n -H "Authorization: Bearer ${m.token}"`:``,E=m?JSON.stringify({mcpServers:{planche:{type:`http`,url:m.url,headers:{Authorization:`Bearer ${m.token}`}}}},null,2):``;return(0,_.jsx)(u,{open:C,onOpenChange:e=>{e||t()},children:(0,_.jsxs)(s,{className:`sm:max-w-[620px]`,children:[(0,_.jsxs)(a,{children:[(0,_.jsx)(c,{children:i(`mcp.title`)}),(0,_.jsx)(l,{children:i(`mcp.description`)})]}),(0,_.jsxs)(`div`,{className:`grid gap-3`,children:[(0,_.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs`,children:[[`readsLabel`,`reads`],[`writesLabel`,`writes`],[`needsLabel`,`needs`],[`tokenLabel`,`token`]].map(([e,t])=>(0,_.jsxs)(g.Fragment,{children:[(0,_.jsx)(`dt`,{className:`font-medium`,children:i(`mcp.${e}`)}),(0,_.jsx)(`dd`,{className:`text-muted-foreground`,children:i(`mcp.${t}`)})]},e))}),y&&(0,_.jsx)(`p`,{className:`rounded-md border border-destructive/40 p-2 text-xs text-destructive`,children:y}),x&&(0,_.jsx)(`p`,{className:`rounded-md border p-2 text-xs text-muted-foreground`,children:i(`mcp.revoked`)}),m&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(v,{text:T,label:i(`mcp.command`)}),(0,_.jsx)(v,{text:E,label:i(`mcp.json`)}),(0,_.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:i(`mcp.stored`,{path:m.path})})]})]}),(0,_.jsxs)(o,{children:[m&&(0,_.jsx)(n,{variant:`ghost`,size:`sm`,onClick:w,children:i(`mcp.revoke`)}),(0,_.jsx)(n,{size:`sm`,onClick:t,children:i(`settings.done`)})]})]})})}export{y as McpSetupDialog};
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{r as n}from"./DZh9ctSS.js";import{a as r,o as i}from"./Udlj1Cgf.js";var a=e(t(),1),o=n();function s({access:e,value:t,onChange:n,disabled:s,version:c=0}){let[l,u]=(0,a.useState)([]);(0,a.useEffect)(()=>{let t=!1;return e.tryRead(`INFO keyspace`).then(e=>{t||typeof e!=`string`||u(Object.entries(r(e).keyspace??{}).map(([e,t])=>({db:e,keys:i(t).keys})))}),()=>{t=!0}},[e,c]);let d=l.some(e=>e.db===t)?l:[{db:t,keys:NaN},...l];return(0,o.jsx)(`select`,{value:t,disabled:s,onChange:e=>n(e.target.value),className:`h-7 rounded border bg-background px-1 text-xs`,children:d.map(e=>(0,o.jsxs)(`option`,{value:e.db,children:[e.db,Number.isFinite(e.keys)?` (${e.keys.toLocaleString()})`:``]},e.db))})}export{s as t};
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{r as n}from"./lXSI1SY-.js";import{a as r,o as i}from"./Udlj1Cgf.js";var a=e(t(),1),o=n();function s({access:e,value:t,onChange:n,disabled:s,version:c=0}){let[l,u]=(0,a.useState)([]);(0,a.useEffect)(()=>{let t=!1;return e.tryRead(`INFO keyspace`).then(e=>{t||typeof e!=`string`||u(Object.entries(r(e).keyspace??{}).map(([e,t])=>({db:e,keys:i(t).keys})))}),()=>{t=!0}},[e,c]);let d=l.some(e=>e.db===t)?l:[{db:t,keys:NaN},...l];return(0,o.jsx)(`select`,{value:t,disabled:s,onChange:e=>n(e.target.value),className:`h-7 rounded border bg-background px-1 text-xs`,children:d.map(e=>(0,o.jsxs)(`option`,{value:e.db,children:[e.db,Number.isFinite(e.keys)?` (${e.keys.toLocaleString()})`:``]},e.db))})}export{s as t};
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{t as n}from"./DXIGhA87.js";import{i as r,r as i}from"./DZh9ctSS.js";import{a,i as o,n as s,o as c,t as l}from"./BTOj30GE.js";import{a as u,i as d,n as f,r as p,t as m}from"./Bv67Bucf.js";import{t as h}from"./LVFEf5KC.js";import{n as g}from"./DhVLQTui.js";import{c as _,l as v}from"./Dg41U79W.js";import{n as y}from"./BLX_0Iuc.js";var b=e(t(),1),x=i();function S(){let{t:e}=r(),{activeDialog:t,closeDialog:i,setFooterMessage:S}=g(),C=h(e=>e.activeConnectionId)??``,w=y(e=>e.addUser),[T,E]=(0,b.useState)(``),[D,O]=(0,b.useState)(`%`),[k,A]=(0,b.useState)(``),[j,M]=(0,b.useState)(``),[N,P]=(0,b.useState)(`caching_sha2_password`),F=t===`user-add`;function I(e){e||(L(),i())}function L(){E(``),O(`%`),A(``),M(``),P(`caching_sha2_password`)}function R(){if(!T.trim()){S(e(`user.add.usernameRequired`));return}if(k!==j){S(e(`user.add.passwordMismatch`));return}w(C,{user:T.trim(),host:D.trim()||`%`,privileges:[],maxQuestions:0,maxUpdates:0,maxConnections:0,maxUserConnections:0,plugin:N,authenticationString:``,passwordExpired:!1,accountLocked:!1}),S(e(`user.add.added`,{user:T,host:D})),L(),i()}return(0,x.jsx)(l,{open:F,onOpenChange:I,children:(0,x.jsxs)(s,{className:`sm:max-w-[450px]`,children:[(0,x.jsx)(a,{children:(0,x.jsx)(c,{children:e(`user.add.title`)})}),(0,x.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-username`,children:e(`user.add.username`)}),(0,x.jsx)(v,{id:`user-add-username`,value:T,onChange:e=>E(e.target.value),placeholder:e(`user.add.usernamePlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-host`,children:e(`user.add.host`)}),(0,x.jsx)(v,{id:`user-add-host`,value:D,onChange:e=>O(e.target.value),placeholder:`%`})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-password`,children:e(`user.add.password`)}),(0,x.jsx)(v,{id:`user-add-password`,type:`password`,value:k,onChange:e=>A(e.target.value),placeholder:e(`user.add.passwordPlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-confirm-password`,children:e(`user.add.confirmPassword`)}),(0,x.jsx)(v,{id:`user-add-confirm-password`,type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:e(`user.add.confirmPasswordPlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{children:e(`user.add.plugin`)}),(0,x.jsxs)(m,{value:N,onValueChange:P,children:[(0,x.jsx)(d,{className:`w-full`,children:(0,x.jsx)(u,{})}),(0,x.jsxs)(f,{children:[(0,x.jsx)(p,{value:`mysql_native_password`,children:`mysql_native_password`}),(0,x.jsx)(p,{value:`caching_sha2_password`,children:`caching_sha2_password`})]})]})]})]}),(0,x.jsxs)(o,{children:[(0,x.jsx)(n,{variant:`outline`,onClick:()=>I(!1),children:e(`user.add.cancel`)}),(0,x.jsx)(n,{onClick:R,children:e(`user.add.add`)})]})]})})}export{S as UserAddDialog};
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{t as n}from"./4Sc28RjY.js";import{i as r,r as i}from"./lXSI1SY-.js";import{a,i as o,n as s,o as c,t as l}from"./CRlZzqQn.js";import{a as u,i as d,n as f,r as p,t as m}from"./CbZfSgjv.js";import{t as h}from"./NrVAX4Mt.js";import{n as g}from"./Dz-fZF1j.js";import{c as _,l as v}from"./Cykx3CBw.js";import{n as y}from"./0kBxoQTC.js";var b=e(t(),1),x=i();function S(){let{t:e}=r(),{activeDialog:t,closeDialog:i,setFooterMessage:S}=g(),C=h(e=>e.activeConnectionId)??``,w=y(e=>e.addUser),[T,E]=(0,b.useState)(``),[D,O]=(0,b.useState)(`%`),[k,A]=(0,b.useState)(``),[j,M]=(0,b.useState)(``),[N,P]=(0,b.useState)(`caching_sha2_password`),F=t===`user-add`;function I(e){e||(L(),i())}function L(){E(``),O(`%`),A(``),M(``),P(`caching_sha2_password`)}function R(){if(!T.trim()){S(e(`user.add.usernameRequired`));return}if(k!==j){S(e(`user.add.passwordMismatch`));return}w(C,{user:T.trim(),host:D.trim()||`%`,privileges:[],maxQuestions:0,maxUpdates:0,maxConnections:0,maxUserConnections:0,plugin:N,authenticationString:``,passwordExpired:!1,accountLocked:!1}),S(e(`user.add.added`,{user:T,host:D})),L(),i()}return(0,x.jsx)(l,{open:F,onOpenChange:I,children:(0,x.jsxs)(s,{className:`sm:max-w-[450px]`,children:[(0,x.jsx)(a,{children:(0,x.jsx)(c,{children:e(`user.add.title`)})}),(0,x.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-username`,children:e(`user.add.username`)}),(0,x.jsx)(v,{id:`user-add-username`,value:T,onChange:e=>E(e.target.value),placeholder:e(`user.add.usernamePlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-host`,children:e(`user.add.host`)}),(0,x.jsx)(v,{id:`user-add-host`,value:D,onChange:e=>O(e.target.value),placeholder:`%`})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-password`,children:e(`user.add.password`)}),(0,x.jsx)(v,{id:`user-add-password`,type:`password`,value:k,onChange:e=>A(e.target.value),placeholder:e(`user.add.passwordPlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{htmlFor:`user-add-confirm-password`,children:e(`user.add.confirmPassword`)}),(0,x.jsx)(v,{id:`user-add-confirm-password`,type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:e(`user.add.confirmPasswordPlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(_,{children:e(`user.add.plugin`)}),(0,x.jsxs)(m,{value:N,onValueChange:P,children:[(0,x.jsx)(d,{className:`w-full`,children:(0,x.jsx)(u,{})}),(0,x.jsxs)(f,{children:[(0,x.jsx)(p,{value:`mysql_native_password`,children:`mysql_native_password`}),(0,x.jsx)(p,{value:`caching_sha2_password`,children:`caching_sha2_password`})]})]})]})]}),(0,x.jsxs)(o,{children:[(0,x.jsx)(n,{variant:`outline`,onClick:()=>I(!1),children:e(`user.add.cancel`)}),(0,x.jsx)(n,{onClick:R,children:e(`user.add.add`)})]})]})})}export{S as UserAddDialog};
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{t as n}from"./DXIGhA87.js";import{i as r,r as i}from"./DZh9ctSS.js";import{a,i as o,n as s,o as c,t as l}from"./BTOj30GE.js";import{t as u}from"./LVFEf5KC.js";import{n as d,t as f}from"./DhVLQTui.js";import{r as p}from"./D41s9TGC.js";import{a as m,h}from"./15ORcG2N.js";import{c as g,l as _,ut as v}from"./Dg41U79W.js";var y=e(t(),1),b=i();function x(){let{t:e}=r(),{activeDialog:t,closeDialog:i}=d(),x=f(`create-schema`),S=t===`create-schema`,[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(!1),[D,O]=(0,y.useState)(null);function k(e){e||(i(),w(``),O(null))}async function A(){let e=x?.connectionId??u.getState().activeConnectionId,t=C.trim();if(!(!e||!t)){O(null),E(!0);try{await m(e,p(e).getQuery(`CREATE_SCHEMA`,t)),await h(e),k(!1)}catch(e){O(e instanceof Error?e.message:String(e))}finally{E(!1)}}}return(0,b.jsx)(l,{open:S,onOpenChange:k,children:(0,b.jsxs)(s,{className:`sm:max-w-[420px]`,children:[(0,b.jsx)(a,{children:(0,b.jsx)(c,{children:e(`database.schema.createTitle`)})}),(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(g,{htmlFor:`schema-name`,children:e(`database.schema.name`)}),(0,b.jsx)(_,{id:`schema-name`,value:C,autoFocus:!0,placeholder:e(`database.schema.namePlaceholder`),onChange:e=>w(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!v(e)&&A()}})]}),D&&(0,b.jsx)(`p`,{className:`text-xs text-destructive leading-relaxed`,children:D}),(0,b.jsxs)(o,{children:[(0,b.jsx)(n,{variant:`outline`,onClick:()=>k(!1),children:e(`database.schema.cancel`)}),(0,b.jsx)(n,{onClick:()=>void A(),disabled:!C.trim()||T,children:e(`database.schema.create`)})]})]})})}export{x as CreateSchemaDialog};
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{t as n}from"./4Sc28RjY.js";import{i as r,r as i}from"./lXSI1SY-.js";import{a,i as o,n as s,o as c,t as l}from"./CRlZzqQn.js";import{t as u}from"./NrVAX4Mt.js";import{n as d,t as f}from"./Dz-fZF1j.js";import{r as p}from"./C7Nv9Pjy.js";import{a as m,h}from"./CdhLxfdD.js";import{c as g,l as _,ut as v}from"./Cykx3CBw.js";var y=e(t(),1),b=i();function x(){let{t:e}=r(),{activeDialog:t,closeDialog:i}=d(),x=f(`create-schema`),S=t===`create-schema`,[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(!1),[D,O]=(0,y.useState)(null);function k(e){e||(i(),w(``),O(null))}async function A(){let e=x?.connectionId??u.getState().activeConnectionId,t=C.trim();if(!(!e||!t)){O(null),E(!0);try{await m(e,p(e).getQuery(`CREATE_SCHEMA`,t)),await h(e),k(!1)}catch(e){O(e instanceof Error?e.message:String(e))}finally{E(!1)}}}return(0,b.jsx)(l,{open:S,onOpenChange:k,children:(0,b.jsxs)(s,{className:`sm:max-w-[420px]`,children:[(0,b.jsx)(a,{children:(0,b.jsx)(c,{children:e(`database.schema.createTitle`)})}),(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(g,{htmlFor:`schema-name`,children:e(`database.schema.name`)}),(0,b.jsx)(_,{id:`schema-name`,value:C,autoFocus:!0,placeholder:e(`database.schema.namePlaceholder`),onChange:e=>w(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!v(e)&&A()}})]}),D&&(0,b.jsx)(`p`,{className:`text-xs text-destructive leading-relaxed`,children:D}),(0,b.jsxs)(o,{children:[(0,b.jsx)(n,{variant:`outline`,onClick:()=>k(!1),children:e(`database.schema.cancel`)}),(0,b.jsx)(n,{onClick:()=>void A(),disabled:!C.trim()||T,children:e(`database.schema.create`)})]})]})})}export{x as CreateSchemaDialog};
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./BeP_ukJr.js";import{a as r,i,l as a}from"./DXIGhA87.js";import{r as o,t as s}from"./Byi789lS.js";import{i as c,n as l,r as u}from"./DZh9ctSS.js";import{C as d,a as f,d as p,f as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./BTOj30GE.js";import{t as x}from"./LVFEf5KC.js";import{n as S,r as C}from"./j8iiZuT2.js";import{n as w}from"./DhVLQTui.js";import{n as T,t as E}from"./DB8Yfa-s.js";import{n as ee,t as D}from"./MpwA8CBH.js";import{i as O,t as k}from"./15ORcG2N.js";import{$t as te,Dt as A,Et as j,H as M,It as N,Lt as ne,Mt as P,Nt as F,Ot as I,Pt as re,Q as ie,St as ae,Tt as oe,Ut as se,Vt as ce,W as le,Wt as ue,Yt as de,Z as fe,bt as pe,ht as me,it as he,jt as ge,kt as _e,nt as ve,rt as ye,tt as be,xt as xe,yt as Se,z as Ce,zt as we}from"./Dg41U79W.js";var Te=l(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),Ee=l(`copy-plus`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),De=l(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),Oe=l(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),ke=l(`file-code`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),Ae=l(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),je=l(`git-compare`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`,key:`19pyzm`}]]),Me=l(`git-compare-arrows`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`,key:`16sdep`}],[`path`,{d:`m9 15 3 3-3 3`,key:`1m3kbl`}]]),Ne=l(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),Pe=l(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),Fe=l(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),Ie=l(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),Le=l(`replace`,[[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Re=l(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),ze=l(`scale`,[[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`m19 8 3 8a5 5 0 0 1-6 0zV7`,key:`zcdpyk`}],[`path`,{d:`M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1`,key:`1yorad`}],[`path`,{d:`m5 8 3 8a5 5 0 0 1-6 0zV7`,key:`eua70x`}],[`path`,{d:`M7 21h10`,key:`1b0cd5`}]]),Be=l(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Ve=l(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),He=l(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Ue=l(`waypoints`,[[`path`,{d:`m10.586 5.414-5.172 5.172`,key:`4mc350`}],[`path`,{d:`m18.586 13.414-5.172 5.172`,key:`8c96vv`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`circle`,{cx:`12`,cy:`20`,r:`2`,key:`144qzu`}],[`circle`,{cx:`12`,cy:`4`,r:`2`,key:`muu5ef`}],[`circle`,{cx:`20`,cy:`12`,r:`2`,key:`1xzzfp`}],[`circle`,{cx:`4`,cy:`12`,r:`2`,key:`1hvhnz`}]]),L=e(n(),1),We=1,Ge=.9,Ke=.8,qe=.17,R=.1,z=.999,Je=.9999,B=.99,V=/[\\\/_+.#"@\[\(\{&]/,Ye=/[\\\/_+.#"@\[\(\{&]/g,Xe=/[\s-]/,H=/[\s-]/g;function U(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?We:B;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=U(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=We:V.test(e.charAt(l-1))?(d*=Ke,p=e.slice(i,l-1).match(Ye),p&&i>0&&(d*=z**+p.length)):Xe.test(e.charAt(l-1))?(d*=Ge,m=e.slice(i,l-1).match(H),m&&i>0&&(d*=z**+m.length)):(d*=qe,i>0&&(d*=z**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=Je)),(d<R&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=U(e,t,n,r,l+1,a+2,o),f*R>d&&(d=f*R)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function Ze(e){return e.toLowerCase().replace(H,` `)}function Qe(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,U(e,t,Ze(e),Ze(t),0,0,{})}var W=`[cmdk-group=""]`,G=`[cmdk-group-items=""]`,$e=`[cmdk-group-heading=""]`,et=`[cmdk-item=""]`,tt=`${et}:not([aria-disabled="true"])`,nt=`cmdk-item-select`,K=`data-value`,rt=(e,t,n)=>Qe(e,t,n),it=L.createContext(void 0),q=()=>L.useContext(it),at=L.createContext(void 0),ot=()=>L.useContext(at),st=L.createContext(void 0),ct=L.forwardRef((e,t)=>{let n=X(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),i=X(()=>new Set),a=X(()=>new Map),o=X(()=>new Map),s=X(()=>new Set),c=yt(e),{label:l,children:u,value:f,onValueChange:p,filter:m,shouldFilter:h,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=d(),x=d(),S=d(),C=L.useRef(null),w=xt();Y(()=>{if(f!==void 0){let e=f.trim();n.current.value=e,T.emit()}},[f]),Y(()=>{w(6,te)},[]);let T=L.useMemo(()=>({subscribe:e=>(s.current.add(e),()=>s.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),w(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(w(7,()=>{n.current.selectedItemId=A()?.id,T.emit()}),r||w(5,te),c.current?.value!==void 0){let e=t??``;(o=(a=c.current).onValueChange)==null||o.call(a,e);return}}T.emit()}},emit:()=>{s.current.forEach(e=>e())}}),[]),E=L.useMemo(()=>({value:(e,t,r)=>{t!==o.current.get(e)?.value&&(o.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,ee(t,r)),w(2,()=>{D(),T.emit()}))},item:(e,t)=>(i.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),w(3,()=>{k(),D(),n.current.value||O(),T.emit()}),()=>{o.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=A();w(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),T.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{o.current.delete(e),a.current.delete(e)}),filter:()=>c.current.shouldFilter,label:l||e[`aria-label`],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function ee(e,t){let r=c.current?.filter??rt;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||c.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=a.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let r=C.current;j().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(G);t?t.appendChild(e.parentElement===t?e:e.closest(`${G} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${G} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${W}[${K}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(K);T.setState(`value`,e||void 0)}function k(){if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of i.current){let r=ee(o.current.get(t)?.value??``,o.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function te(){var e;let t=A();t&&(t.parentElement?.firstChild===t&&((e=t.closest(W)?.querySelector($e))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return C.current?.querySelector(`${et}[aria-selected="true"]`)}function j(){return Array.from(C.current?.querySelectorAll(tt)||[])}function M(e){let t=j()[e];t&&T.setState(`value`,t.getAttribute(K))}function N(e){var t;let n=A(),r=j(),i=r.findIndex(e=>e===n),a=r[i+e];(t=c.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&T.setState(`value`,a.getAttribute(K))}function ne(e){let t=A()?.closest(W),n;for(;t&&!n;)t=e>0?_t(t,W):vt(t,W),n=t?.querySelector(tt);n?T.setState(`value`,n.getAttribute(K)):N(e)}let P=()=>M(j().length-1),F=e=>{e.preventDefault(),e.metaKey?P():e.altKey?ne(1):N(1)},I=e=>{e.preventDefault(),e.metaKey?M(0):e.altKey?ne(-1):N(-1)};return L.createElement(r.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:v&&e.ctrlKey&&I(e);break;case`ArrowUp`:I(e);break;case`Home`:e.preventDefault(),M(0);break;case`End`:e.preventDefault(),P();break;case`Enter`:{e.preventDefault();let t=A();if(t){let e=new Event(nt);t.dispatchEvent(e)}}}}},L.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:Ct},l),Q(e,e=>L.createElement(at.Provider,{value:T},L.createElement(it.Provider,{value:E},e))))}),lt=L.forwardRef((e,t)=>{let n=d(),i=L.useRef(null),o=L.useContext(st),s=q(),c=yt(e),l=c.current?.forceMount??o?.forceMount;Y(()=>{if(!l)return s.item(n,o?.id)},[l]);let u=bt(n,i,[e.value,e.children,i],e.keywords),f=ot(),p=Z(e=>e.value&&e.value===u.current),m=Z(e=>l||s.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);L.useEffect(()=>{let t=i.current;if(!(!t||e.disabled))return t.addEventListener(nt,h),()=>t.removeEventListener(nt,h)},[m,e.onSelect,e.disabled]);function h(){var e,t;g(),(t=(e=c.current).onSelect)==null||t.call(e,u.current)}function g(){f.setState(`value`,u.current,!0)}if(!m)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return L.createElement(r.div,{ref:a(i,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!p,"data-disabled":!!_,"data-selected":!!p,onPointerMove:_||s.getDisablePointerSelection()?void 0:g,onClick:_?void 0:h},e.children)}),ut=L.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:o,...s}=e,c=d(),l=L.useRef(null),u=L.useRef(null),f=d(),p=q(),m=Z(e=>o||p.filter()===!1?!0:!e.search||e.filtered.groups.has(c));Y(()=>p.group(c),[]),bt(c,l,[e.value,e.heading,u]);let h=L.useMemo(()=>({id:c,forceMount:o}),[o]);return L.createElement(r.div,{ref:a(l,t),...s,"cmdk-group":``,role:`presentation`,hidden:!m||void 0},n&&L.createElement(`div`,{ref:u,"cmdk-group-heading":``,"aria-hidden":!0,id:f},n),Q(e,e=>L.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?f:void 0},L.createElement(st.Provider,{value:h},e))))}),dt=L.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,o=L.useRef(null),s=Z(e=>!e.search);return!n&&!s?null:L.createElement(r.div,{ref:a(o,t),...i,"cmdk-separator":``,role:`separator`})}),ft=L.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,a=e.value!=null,o=ot(),s=Z(e=>e.search),c=Z(e=>e.selectedItemId),l=q();return L.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),L.createElement(r.input,{ref:t,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),n?.(e.target.value)}})}),pt=L.forwardRef((e,t)=>{let{children:n,label:i=`Suggestions`,...o}=e,s=L.useRef(null),c=L.useRef(null),l=Z(e=>e.selectedItemId),u=q();return L.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),L.createElement(r.div,{ref:a(s,t),...o,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},Q(e,e=>L.createElement(`div`,{ref:a(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),mt=L.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return L.createElement(y,{open:n,onOpenChange:r},L.createElement(m,{container:o},L.createElement(p,{"cmdk-overlay":``,className:i}),L.createElement(h,{"aria-label":e.label,"cmdk-dialog":``,className:a},L.createElement(ct,{ref:t,...s}))))}),ht=L.forwardRef((e,t)=>Z(e=>e.filtered.count===0)?L.createElement(r.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),gt=L.forwardRef((e,t)=>{let{progress:n,children:i,label:a=`Loading...`,...o}=e;return L.createElement(r.div,{ref:t,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Q(e,e=>L.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(ct,{List:pt,Item:lt,Input:ft,Group:ut,Separator:dt,Dialog:mt,Empty:ht,Loading:gt});function _t(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function vt(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function yt(e){let t=L.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?L.useEffect:L.useLayoutEffect;function X(e){let t=L.useRef();return t.current===void 0&&(t.current=e()),t}function Z(e){let t=ot(),n=()=>e(t.snapshot());return L.useSyncExternalStore(t.subscribe,n,n)}function bt(e,t,n,r=[]){let i=L.useRef(),a=q();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(K,s),i.current=s}),i}var xt=()=>{let[e,t]=L.useState(),n=X(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function St(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q({asChild:e,children:t},n){return e&&L.isValidElement(t)?L.cloneElement(St(t),{ref:t.ref},n(t.props.children)):n(t)}var Ct={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},$=u();function wt({className:e,...t}){return(0,$.jsx)(J,{"data-slot":`command`,className:i(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t})}function Tt({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:a=!0,...o}){return(0,$.jsxs)(b,{...o,children:[(0,$.jsxs)(f,{className:`sr-only`,children:[(0,$.jsx)(_,{children:e}),(0,$.jsx)(v,{children:t})]}),(0,$.jsx)(g,{className:i(`overflow-hidden p-0`,r),showCloseButton:a,children:(0,$.jsx)(wt,{className:`**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function Et({className:e,...t}){return(0,$.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,$.jsx)(ge,{className:`size-4 shrink-0 opacity-50`}),(0,$.jsx)(J.Input,{"data-slot":`command-input`,className:i(`flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function Dt({className:e,...t}){return(0,$.jsx)(J.List,{"data-slot":`command-list`,className:i(`max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto`,e),...t})}function Ot({...e}){return(0,$.jsx)(J.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function kt({className:e,...t}){return(0,$.jsx)(J.Group,{"data-slot":`command-group`,className:i(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function At({className:e,...t}){return(0,$.jsx)(J.Item,{"data-slot":`command-item`,className:i(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...t})}function jt({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`command-shortcut`,className:i(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t})}var Mt={sky:`text-catppuccin-sky`,blue:`text-catppuccin-blue`,green:`text-catppuccin-green`,teal:`text-catppuccin-teal`,mauve:`text-catppuccin-mauve`,lavender:`text-catppuccin-lavender`,peach:`text-catppuccin-peach`,yellow:`text-catppuccin-yellow`,red:`text-catppuccin-red`};function Nt({theme:e}){let{background:t,blue:n,mauve:r,green:i}=e.colors;return(0,$.jsx)(`span`,{className:`flex size-5 shrink-0 overflow-hidden rounded-sm border border-catppuccin-surface2`,children:[t,n,r,i].map((e,t)=>(0,$.jsx)(`span`,{className:`flex-1`,style:{backgroundColor:e}},t))})}function Pt(){let{t:e}=c(),{activeDialog:n,closeDialog:r,openDialog:a}=w(),l=w(e=>e.setWelcomeVisible),u=w(e=>e.setFooterMessage),{executeCurrentQuery:d,executeCurrentStatement:f,executeWholeScript:p,addNewQueryTab:m,disconnectActive:h}=he(),{capabilities:g}=me(),_=C(),v=x(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),y=x(e=>e.activeConnectionId?e.transactionOpen[e.activeConnectionId]??!1:!1),b=x(e=>e.updateProfile),ge=be(e=>e.themeId),We=be(e=>e.setTheme),Ge=S(e=>e.locale),Ke=S(e=>e.setLocale),qe=n===`quick-command`,R=v!==void 0,z=T(e=>{let t=x.getState().activeConnectionId;if(!t)return!1;let n=e.activeTabId[t];return(e.tabs[t]??E).find(e=>e.id===n)?.isExecuting??!1});async function Je(){let e=x.getState().activeConnectionId;if(!e)return;let t=ee(await D(e));t&&w.getState().setFooterMessage(t)}let B=(0,L.useCallback)(e=>{r(),e()},[r]),V=(0,L.useCallback)(e=>u(e instanceof Error?e.message:String(e)),[u]),Ye=()=>{let e=x.getState().activeConnectionId;e&&(ye.getState().openERD(e),t(`erd_open`),T.getState().setActiveQueryTab(e,`erd`))},Xe=[{heading:e(`palette.groups.connection`),commands:[{id:`connect`,label:e(`palette.commands.connect`),icon:Ie,tone:`sky`,shortcut:`Alt+N`,keywords:[`connect`,`server`,`profile`,`login`],disabled:!_,action:()=>B(()=>a(`connect`))},{id:`disconnect`,label:e(`palette.commands.disconnect`),icon:xe,tone:`red`,keywords:[`disconnect`,`close`],disabled:!R,action:()=>B(()=>{h()})},{id:`read-only`,label:e(`menu.connection.readOnly`),icon:ne,tone:`yellow`,keywords:[`read only`,`safety`,`guard`],disabled:!R,checked:v?.readOnly===!0,action:()=>B(()=>{v&&b(v.id,{readOnly:!v.readOnly})})},{id:`manual-transactions`,capability:`transactions`,label:e(`menu.connection.manualTransactions`),icon:we,tone:`lavender`,keywords:[`transaction`,`manual`,`autocommit`],disabled:!R,checked:v?.transactionMode===`manual`,action:()=>B(()=>{v&&b(v.id,{transactionMode:v.transactionMode===`manual`?`auto`:`manual`})})},{id:`commit`,capability:`transactions`,label:e(`toolbar.commit`),icon:de,tone:`green`,keywords:[`commit`,`transaction`],disabled:!y||!v,action:()=>B(()=>{v&&k(v.id).catch(V)})},{id:`rollback`,capability:`transactions`,label:e(`toolbar.rollback`),icon:ae,tone:`peach`,keywords:[`rollback`,`transaction`,`undo`],disabled:!y||!v,action:()=>B(()=>{v&&O(v.id).catch(V)})}]},{heading:e(`palette.groups.query`),commands:[{id:`execute`,label:e(`palette.commands.executeQuery`),icon:re,tone:`green`,shortcut:`F9`,keywords:[`run`,`execute`,`sql`],disabled:!R,action:()=>B(()=>{d()})},{id:`stop-query`,label:e(`result.running.stop`),icon:A,tone:`red`,keywords:[`stop`,`cancel`,`abort`,`kill`],disabled:!z,action:()=>B(()=>{Je()})},{id:`execute-statement`,label:e(`menu.query.executeStatementAtCursor`),icon:De,tone:`green`,shortcut:`Ctrl+Enter`,keywords:[`run`,`statement`,`cursor`],disabled:!R,action:()=>B(()=>{f()})},{id:`execute-script`,label:e(`menu.query.executeWholeScript`),icon:Be,tone:`teal`,shortcut:`Ctrl+Shift+Enter`,keywords:[`run`,`script`,`batch`],disabled:!R,action:()=>B(()=>{p()})},{id:`new-tab`,label:e(`palette.commands.newQueryTab`),icon:F,tone:`blue`,shortcut:`Alt+T`,keywords:[`new`,`tab`,`editor`],disabled:!R,action:()=>B(()=>m())},{id:`find-replace`,label:e(`menu.query.findReplace`),icon:Le,tone:`lavender`,keywords:[`find`,`replace`,`search`],disabled:!R,action:()=>B(()=>a(`find-replace`))},{id:`local-history`,label:e(`menu.query.localHistory`),icon:Ne,tone:`mauve`,keywords:[`history`,`snapshot`,`undo`],disabled:!R,action:()=>B(()=>a(`local-history`))}]},{heading:e(`palette.groups.database`),commands:[{id:`create-db`,capability:`multipleDatabases`,label:e(`palette.commands.createDatabase`),icon:se,tone:`blue`,keywords:[`create`,`database`,`schema`],disabled:!R,action:()=>B(()=>a(`create-database`))},{id:`alter-db`,capability:`multipleDatabases`,label:e(`menu.database.alter`),icon:Oe,tone:`blue`,keywords:[`alter`,`database`,`charset`],disabled:!R,action:()=>B(()=>a(`alter-database`))},{id:`copy-db`,capability:`multipleDatabases`,label:e(`menu.database.copy`),icon:ue,tone:`sky`,keywords:[`copy`,`clone`,`database`],disabled:!R,action:()=>B(()=>a(`copy-database`))},{id:`schema-diff`,label:e(`menu.database.compare`),icon:je,tone:`mauve`,keywords:[`compare`,`diff`,`schema`,`sync`],pro:`compare_schemas`,disabled:!R,action:()=>B(()=>a(`schema-diff`))},{id:`data-diff`,label:e(`menu.database.compareData`),icon:Me,tone:`mauve`,keywords:[`compare`,`diff`,`data`,`rows`],pro:`compare_data`,disabled:!R,action:()=>B(()=>a(`data-diff`))},{id:`group-by`,label:e(`menu.database.groupBy`),icon:_e,tone:`mauve`,keywords:[`group`,`count`,`aggregate`,`distinct`,`summary`],disabled:!R,action:()=>B(()=>a(`group-by`))}]},{heading:e(`palette.groups.table`),commands:[{id:`create-table`,label:e(`palette.commands.createTable`),icon:j,tone:`green`,keywords:[`create`,`table`],disabled:!R,action:()=>B(()=>a(`create-table`))},{id:`alter-table`,label:e(`palette.commands.alterTable`),icon:Se,tone:`yellow`,keywords:[`alter`,`table`,`column`],disabled:!R,action:()=>B(()=>a(`alter-table`))},{id:`duplicate-table`,label:e(`menu.table.duplicateStructure`),icon:Ee,tone:`teal`,keywords:[`duplicate`,`structure`,`table`],disabled:!R,action:()=>B(()=>a(`duplicate-table-structure`))}]},{heading:e(`menu.export.title`),commands:[{id:`export-csv`,label:e(`menu.export.csv`),icon:Ae,tone:`green`,keywords:[`export`,`csv`,`excel`],disabled:!R,action:()=>B(()=>a(`export-csv`))},{id:`export-html`,label:e(`menu.export.schemaHtml`),icon:ke,tone:`peach`,keywords:[`export`,`html`,`schema`,`documentation`],disabled:!R,action:()=>B(()=>a(`export-html`))}]},{heading:e(`palette.groups.tools`),commands:[{id:`process-list`,capability:`processList`,label:e(`palette.commands.processList`),icon:te,tone:`red`,keywords:[`process`,`kill`,`connections`],disabled:!R,action:()=>B(()=>a(`process-list`))},{id:`variables`,capability:`variables`,label:e(`palette.commands.serverVariables`),icon:Ve,tone:`lavender`,keywords:[`variables`,`server`,`settings`],disabled:!R,action:()=>B(()=>a(`variables`))},{id:`status`,capability:`status`,label:e(`palette.commands.serverStatus`),icon:oe,tone:`teal`,keywords:[`status`,`server`,`metrics`],disabled:!R,action:()=>B(()=>a(`status`))},{id:`flush`,capability:`flush`,label:e(`palette.commands.flush`),icon:P,tone:`peach`,keywords:[`flush`,`cache`,`reload`],disabled:!R,action:()=>B(()=>a(`flush`))},{id:`user-manager`,capability:`users`,label:e(`palette.commands.userManager`),icon:pe,tone:`blue`,keywords:[`users`,`grants`,`privileges`],disabled:!R,action:()=>B(()=>a(`user-manager`))},{id:`scratchpad`,label:e(`menu.tools.scratchpad`),icon:N,tone:`yellow`,keywords:[`scratchpad`,`sqlite`,`local`],pro:`scratchpad`,action:()=>B(()=>{ie().catch(V)})},{id:`federated`,label:e(`menu.tools.federated`),icon:Ue,tone:`mauve`,keywords:[`federated`,`cross`,`join`,`connections`],pro:`federated`,action:()=>B(()=>{le().catch(V)})},{id:`erd`,label:e(`menu.tools.viewErd`),icon:Fe,tone:`sky`,keywords:[`erd`,`diagram`,`relations`],disabled:!R,action:()=>B(Ye)}]},{heading:e(`menu.settings.theme`),commands:ve().map(e=>({id:`theme-${e.id}`,label:e.name,tone:`lavender`,keywords:[`theme`,`color`,`appearance`,`dark`,`light`,e.id],checked:ge===e.id,swatch:e,action:()=>B(()=>We(e.id))}))},{heading:e(`menu.settings.language`),commands:[`auto`,...s].map(t=>({id:`locale-${t}`,label:t===`auto`?e(`language.auto`,{name:e(`language.${o()}`)}):e(`language.${t}`),icon:Pe,tone:`teal`,keywords:[`language`,`locale`,`i18n`,t],checked:Ge===t,action:()=>B(()=>Ke(t))}))},{heading:e(`menu.settings.title`),commands:[{id:`safety-settings`,label:e(`menu.settings.safety`),icon:He,tone:`yellow`,keywords:[`safety`,`settings`,`row limit`,`preferences`],action:()=>B(()=>a(`safety-settings`))}]},{heading:e(`menu.help.title`),commands:[{id:`documentation`,label:e(`menu.help.documentation`),icon:Te,tone:`blue`,keywords:[`docs`,`documentation`,`manual`,`help`],action:()=>B(()=>{window.open(fe(),`_blank`,`noopener,noreferrer`)})},{id:`getting-started`,label:e(`menu.help.gettingStarted`),icon:Re,tone:`green`,keywords:[`welcome`,`onboarding`,`sample`,`getting started`],action:()=>B(()=>l(!0))},{id:`whats-new`,label:e(`menu.help.whatsNew`),icon:I,tone:`sky`,keywords:[`whats new`,`changelog`,`release`,`update`],action:()=>B(()=>a(`whats-new`,{all:!0}))},{id:`terms`,label:e(`menu.help.terms`),icon:ze,tone:`peach`,keywords:[`terms`,`privacy`,`legal`],action:()=>B(()=>a(`terms`))},{id:`about`,label:e(`menu.help.about`),icon:ce,tone:`sky`,keywords:[`about`,`version`,`agent`],action:()=>B(()=>a(`about`))}]}];function H(e){e||r()}let U=Xe.map(e=>({...e,commands:e.commands.filter(e=>!e.capability||g[e.capability])})).filter(e=>e.commands.length>0);return(0,$.jsxs)(Tt,{open:qe,onOpenChange:H,title:e(`palette.title`),description:e(`palette.description`),children:[(0,$.jsx)(Et,{placeholder:e(`palette.inputPlaceholder`)}),(0,$.jsxs)(Dt,{className:`max-h-[60vh]`,children:[(0,$.jsx)(Ot,{children:e(`palette.empty`)}),U.map(e=>(0,$.jsx)(kt,{heading:e.heading,children:e.commands.map(t=>(0,$.jsxs)(At,{value:`${e.heading} ${t.label}`,keywords:t.keywords,disabled:t.disabled,onSelect:()=>{(!t.pro||Ce(t.pro))&&t.action()},children:[t.swatch?(0,$.jsx)(Nt,{theme:t.swatch}):t.icon?(0,$.jsx)(t.icon,{className:i(`size-4`,Mt[t.tone])}):null,(0,$.jsx)(`span`,{className:`truncate`,children:t.label}),(0,$.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[t.pro&&(0,$.jsx)(M,{className:`ml-0`}),t.checked&&(0,$.jsx)(de,{className:`size-3.5 text-catppuccin-green`}),t.shortcut&&(0,$.jsx)(jt,{className:`ml-0`,children:t.shortcut})]})]},t.id))},e.heading))]})]})}export{Pt as QuickCommandPalette};
1
+ import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./voJYJ5aN.js";import{a as r,i,l as a}from"./4Sc28RjY.js";import{r as o,t as s}from"./uQNGLsg0.js";import{i as c,n as l,r as u}from"./lXSI1SY-.js";import{C as d,a as f,d as p,f as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./CRlZzqQn.js";import{t as x}from"./NrVAX4Mt.js";import{n as S,r as C}from"./HrKYroWS.js";import{n as w}from"./Dz-fZF1j.js";import{n as T,t as E}from"./BlX_ty5A.js";import{n as ee,t as D}from"./-BrRFEsd.js";import{i as O,t as k}from"./CdhLxfdD.js";import{$t as te,Dt as A,Et as j,H as M,It as N,Lt as ne,Mt as P,Nt as F,Ot as I,Pt as re,Q as ie,St as ae,Tt as oe,Ut as se,Vt as ce,W as le,Wt as ue,Yt as de,Z as fe,bt as pe,ht as me,it as he,jt as ge,kt as _e,nt as ve,rt as ye,tt as be,xt as xe,yt as Se,z as Ce,zt as we}from"./Cykx3CBw.js";var Te=l(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),Ee=l(`copy-plus`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),De=l(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),Oe=l(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),ke=l(`file-code`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),Ae=l(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),je=l(`git-compare`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`,key:`19pyzm`}]]),Me=l(`git-compare-arrows`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`,key:`16sdep`}],[`path`,{d:`m9 15 3 3-3 3`,key:`1m3kbl`}]]),Ne=l(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),Pe=l(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),Fe=l(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),Ie=l(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),Le=l(`replace`,[[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Re=l(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),ze=l(`scale`,[[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`m19 8 3 8a5 5 0 0 1-6 0zV7`,key:`zcdpyk`}],[`path`,{d:`M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1`,key:`1yorad`}],[`path`,{d:`m5 8 3 8a5 5 0 0 1-6 0zV7`,key:`eua70x`}],[`path`,{d:`M7 21h10`,key:`1b0cd5`}]]),Be=l(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Ve=l(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),He=l(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Ue=l(`waypoints`,[[`path`,{d:`m10.586 5.414-5.172 5.172`,key:`4mc350`}],[`path`,{d:`m18.586 13.414-5.172 5.172`,key:`8c96vv`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`circle`,{cx:`12`,cy:`20`,r:`2`,key:`144qzu`}],[`circle`,{cx:`12`,cy:`4`,r:`2`,key:`muu5ef`}],[`circle`,{cx:`20`,cy:`12`,r:`2`,key:`1xzzfp`}],[`circle`,{cx:`4`,cy:`12`,r:`2`,key:`1hvhnz`}]]),L=e(n(),1),We=1,Ge=.9,Ke=.8,qe=.17,R=.1,z=.999,Je=.9999,B=.99,V=/[\\\/_+.#"@\[\(\{&]/,Ye=/[\\\/_+.#"@\[\(\{&]/g,Xe=/[\s-]/,H=/[\s-]/g;function U(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?We:B;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=U(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=We:V.test(e.charAt(l-1))?(d*=Ke,p=e.slice(i,l-1).match(Ye),p&&i>0&&(d*=z**+p.length)):Xe.test(e.charAt(l-1))?(d*=Ge,m=e.slice(i,l-1).match(H),m&&i>0&&(d*=z**+m.length)):(d*=qe,i>0&&(d*=z**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=Je)),(d<R&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=U(e,t,n,r,l+1,a+2,o),f*R>d&&(d=f*R)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function Ze(e){return e.toLowerCase().replace(H,` `)}function Qe(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,U(e,t,Ze(e),Ze(t),0,0,{})}var W=`[cmdk-group=""]`,G=`[cmdk-group-items=""]`,$e=`[cmdk-group-heading=""]`,et=`[cmdk-item=""]`,tt=`${et}:not([aria-disabled="true"])`,nt=`cmdk-item-select`,K=`data-value`,rt=(e,t,n)=>Qe(e,t,n),it=L.createContext(void 0),q=()=>L.useContext(it),at=L.createContext(void 0),ot=()=>L.useContext(at),st=L.createContext(void 0),ct=L.forwardRef((e,t)=>{let n=X(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),i=X(()=>new Set),a=X(()=>new Map),o=X(()=>new Map),s=X(()=>new Set),c=yt(e),{label:l,children:u,value:f,onValueChange:p,filter:m,shouldFilter:h,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=d(),x=d(),S=d(),C=L.useRef(null),w=xt();Y(()=>{if(f!==void 0){let e=f.trim();n.current.value=e,T.emit()}},[f]),Y(()=>{w(6,te)},[]);let T=L.useMemo(()=>({subscribe:e=>(s.current.add(e),()=>s.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),w(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(w(7,()=>{n.current.selectedItemId=A()?.id,T.emit()}),r||w(5,te),c.current?.value!==void 0){let e=t??``;(o=(a=c.current).onValueChange)==null||o.call(a,e);return}}T.emit()}},emit:()=>{s.current.forEach(e=>e())}}),[]),E=L.useMemo(()=>({value:(e,t,r)=>{t!==o.current.get(e)?.value&&(o.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,ee(t,r)),w(2,()=>{D(),T.emit()}))},item:(e,t)=>(i.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),w(3,()=>{k(),D(),n.current.value||O(),T.emit()}),()=>{o.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=A();w(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),T.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{o.current.delete(e),a.current.delete(e)}),filter:()=>c.current.shouldFilter,label:l||e[`aria-label`],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function ee(e,t){let r=c.current?.filter??rt;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||c.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=a.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let r=C.current;j().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(G);t?t.appendChild(e.parentElement===t?e:e.closest(`${G} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${G} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${W}[${K}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(K);T.setState(`value`,e||void 0)}function k(){if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of i.current){let r=ee(o.current.get(t)?.value??``,o.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function te(){var e;let t=A();t&&(t.parentElement?.firstChild===t&&((e=t.closest(W)?.querySelector($e))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return C.current?.querySelector(`${et}[aria-selected="true"]`)}function j(){return Array.from(C.current?.querySelectorAll(tt)||[])}function M(e){let t=j()[e];t&&T.setState(`value`,t.getAttribute(K))}function N(e){var t;let n=A(),r=j(),i=r.findIndex(e=>e===n),a=r[i+e];(t=c.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&T.setState(`value`,a.getAttribute(K))}function ne(e){let t=A()?.closest(W),n;for(;t&&!n;)t=e>0?_t(t,W):vt(t,W),n=t?.querySelector(tt);n?T.setState(`value`,n.getAttribute(K)):N(e)}let P=()=>M(j().length-1),F=e=>{e.preventDefault(),e.metaKey?P():e.altKey?ne(1):N(1)},I=e=>{e.preventDefault(),e.metaKey?M(0):e.altKey?ne(-1):N(-1)};return L.createElement(r.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:v&&e.ctrlKey&&I(e);break;case`ArrowUp`:I(e);break;case`Home`:e.preventDefault(),M(0);break;case`End`:e.preventDefault(),P();break;case`Enter`:{e.preventDefault();let t=A();if(t){let e=new Event(nt);t.dispatchEvent(e)}}}}},L.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:Ct},l),Q(e,e=>L.createElement(at.Provider,{value:T},L.createElement(it.Provider,{value:E},e))))}),lt=L.forwardRef((e,t)=>{let n=d(),i=L.useRef(null),o=L.useContext(st),s=q(),c=yt(e),l=c.current?.forceMount??o?.forceMount;Y(()=>{if(!l)return s.item(n,o?.id)},[l]);let u=bt(n,i,[e.value,e.children,i],e.keywords),f=ot(),p=Z(e=>e.value&&e.value===u.current),m=Z(e=>l||s.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);L.useEffect(()=>{let t=i.current;if(!(!t||e.disabled))return t.addEventListener(nt,h),()=>t.removeEventListener(nt,h)},[m,e.onSelect,e.disabled]);function h(){var e,t;g(),(t=(e=c.current).onSelect)==null||t.call(e,u.current)}function g(){f.setState(`value`,u.current,!0)}if(!m)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return L.createElement(r.div,{ref:a(i,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!p,"data-disabled":!!_,"data-selected":!!p,onPointerMove:_||s.getDisablePointerSelection()?void 0:g,onClick:_?void 0:h},e.children)}),ut=L.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:o,...s}=e,c=d(),l=L.useRef(null),u=L.useRef(null),f=d(),p=q(),m=Z(e=>o||p.filter()===!1?!0:!e.search||e.filtered.groups.has(c));Y(()=>p.group(c),[]),bt(c,l,[e.value,e.heading,u]);let h=L.useMemo(()=>({id:c,forceMount:o}),[o]);return L.createElement(r.div,{ref:a(l,t),...s,"cmdk-group":``,role:`presentation`,hidden:!m||void 0},n&&L.createElement(`div`,{ref:u,"cmdk-group-heading":``,"aria-hidden":!0,id:f},n),Q(e,e=>L.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?f:void 0},L.createElement(st.Provider,{value:h},e))))}),dt=L.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,o=L.useRef(null),s=Z(e=>!e.search);return!n&&!s?null:L.createElement(r.div,{ref:a(o,t),...i,"cmdk-separator":``,role:`separator`})}),ft=L.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,a=e.value!=null,o=ot(),s=Z(e=>e.search),c=Z(e=>e.selectedItemId),l=q();return L.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),L.createElement(r.input,{ref:t,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),n?.(e.target.value)}})}),pt=L.forwardRef((e,t)=>{let{children:n,label:i=`Suggestions`,...o}=e,s=L.useRef(null),c=L.useRef(null),l=Z(e=>e.selectedItemId),u=q();return L.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),L.createElement(r.div,{ref:a(s,t),...o,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},Q(e,e=>L.createElement(`div`,{ref:a(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),mt=L.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return L.createElement(y,{open:n,onOpenChange:r},L.createElement(m,{container:o},L.createElement(p,{"cmdk-overlay":``,className:i}),L.createElement(h,{"aria-label":e.label,"cmdk-dialog":``,className:a},L.createElement(ct,{ref:t,...s}))))}),ht=L.forwardRef((e,t)=>Z(e=>e.filtered.count===0)?L.createElement(r.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),gt=L.forwardRef((e,t)=>{let{progress:n,children:i,label:a=`Loading...`,...o}=e;return L.createElement(r.div,{ref:t,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Q(e,e=>L.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(ct,{List:pt,Item:lt,Input:ft,Group:ut,Separator:dt,Dialog:mt,Empty:ht,Loading:gt});function _t(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function vt(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function yt(e){let t=L.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?L.useEffect:L.useLayoutEffect;function X(e){let t=L.useRef();return t.current===void 0&&(t.current=e()),t}function Z(e){let t=ot(),n=()=>e(t.snapshot());return L.useSyncExternalStore(t.subscribe,n,n)}function bt(e,t,n,r=[]){let i=L.useRef(),a=q();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(K,s),i.current=s}),i}var xt=()=>{let[e,t]=L.useState(),n=X(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function St(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q({asChild:e,children:t},n){return e&&L.isValidElement(t)?L.cloneElement(St(t),{ref:t.ref},n(t.props.children)):n(t)}var Ct={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},$=u();function wt({className:e,...t}){return(0,$.jsx)(J,{"data-slot":`command`,className:i(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t})}function Tt({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:a=!0,...o}){return(0,$.jsxs)(b,{...o,children:[(0,$.jsxs)(f,{className:`sr-only`,children:[(0,$.jsx)(_,{children:e}),(0,$.jsx)(v,{children:t})]}),(0,$.jsx)(g,{className:i(`overflow-hidden p-0`,r),showCloseButton:a,children:(0,$.jsx)(wt,{className:`**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function Et({className:e,...t}){return(0,$.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,$.jsx)(ge,{className:`size-4 shrink-0 opacity-50`}),(0,$.jsx)(J.Input,{"data-slot":`command-input`,className:i(`flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function Dt({className:e,...t}){return(0,$.jsx)(J.List,{"data-slot":`command-list`,className:i(`max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto`,e),...t})}function Ot({...e}){return(0,$.jsx)(J.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function kt({className:e,...t}){return(0,$.jsx)(J.Group,{"data-slot":`command-group`,className:i(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function At({className:e,...t}){return(0,$.jsx)(J.Item,{"data-slot":`command-item`,className:i(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...t})}function jt({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`command-shortcut`,className:i(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t})}var Mt={sky:`text-catppuccin-sky`,blue:`text-catppuccin-blue`,green:`text-catppuccin-green`,teal:`text-catppuccin-teal`,mauve:`text-catppuccin-mauve`,lavender:`text-catppuccin-lavender`,peach:`text-catppuccin-peach`,yellow:`text-catppuccin-yellow`,red:`text-catppuccin-red`};function Nt({theme:e}){let{background:t,blue:n,mauve:r,green:i}=e.colors;return(0,$.jsx)(`span`,{className:`flex size-5 shrink-0 overflow-hidden rounded-sm border border-catppuccin-surface2`,children:[t,n,r,i].map((e,t)=>(0,$.jsx)(`span`,{className:`flex-1`,style:{backgroundColor:e}},t))})}function Pt(){let{t:e}=c(),{activeDialog:n,closeDialog:r,openDialog:a}=w(),l=w(e=>e.setWelcomeVisible),u=w(e=>e.setFooterMessage),{executeCurrentQuery:d,executeCurrentStatement:f,executeWholeScript:p,addNewQueryTab:m,disconnectActive:h}=he(),{capabilities:g}=me(),_=C(),v=x(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),y=x(e=>e.activeConnectionId?e.transactionOpen[e.activeConnectionId]??!1:!1),b=x(e=>e.updateProfile),ge=be(e=>e.themeId),We=be(e=>e.setTheme),Ge=S(e=>e.locale),Ke=S(e=>e.setLocale),qe=n===`quick-command`,R=v!==void 0,z=T(e=>{let t=x.getState().activeConnectionId;if(!t)return!1;let n=e.activeTabId[t];return(e.tabs[t]??E).find(e=>e.id===n)?.isExecuting??!1});async function Je(){let e=x.getState().activeConnectionId;if(!e)return;let t=ee(await D(e));t&&w.getState().setFooterMessage(t)}let B=(0,L.useCallback)(e=>{r(),e()},[r]),V=(0,L.useCallback)(e=>u(e instanceof Error?e.message:String(e)),[u]),Ye=()=>{let e=x.getState().activeConnectionId;e&&(ye.getState().openERD(e),t(`erd_open`),T.getState().setActiveQueryTab(e,`erd`))},Xe=[{heading:e(`palette.groups.connection`),commands:[{id:`connect`,label:e(`palette.commands.connect`),icon:Ie,tone:`sky`,shortcut:`Alt+N`,keywords:[`connect`,`server`,`profile`,`login`],disabled:!_,action:()=>B(()=>a(`connect`))},{id:`disconnect`,label:e(`palette.commands.disconnect`),icon:xe,tone:`red`,keywords:[`disconnect`,`close`],disabled:!R,action:()=>B(()=>{h()})},{id:`read-only`,label:e(`menu.connection.readOnly`),icon:ne,tone:`yellow`,keywords:[`read only`,`safety`,`guard`],disabled:!R,checked:v?.readOnly===!0,action:()=>B(()=>{v&&b(v.id,{readOnly:!v.readOnly})})},{id:`manual-transactions`,capability:`transactions`,label:e(`menu.connection.manualTransactions`),icon:we,tone:`lavender`,keywords:[`transaction`,`manual`,`autocommit`],disabled:!R,checked:v?.transactionMode===`manual`,action:()=>B(()=>{v&&b(v.id,{transactionMode:v.transactionMode===`manual`?`auto`:`manual`})})},{id:`commit`,capability:`transactions`,label:e(`toolbar.commit`),icon:de,tone:`green`,keywords:[`commit`,`transaction`],disabled:!y||!v,action:()=>B(()=>{v&&k(v.id).catch(V)})},{id:`rollback`,capability:`transactions`,label:e(`toolbar.rollback`),icon:ae,tone:`peach`,keywords:[`rollback`,`transaction`,`undo`],disabled:!y||!v,action:()=>B(()=>{v&&O(v.id).catch(V)})}]},{heading:e(`palette.groups.query`),commands:[{id:`execute`,label:e(`palette.commands.executeQuery`),icon:re,tone:`green`,shortcut:`F9`,keywords:[`run`,`execute`,`sql`],disabled:!R,action:()=>B(()=>{d()})},{id:`stop-query`,label:e(`result.running.stop`),icon:A,tone:`red`,keywords:[`stop`,`cancel`,`abort`,`kill`],disabled:!z,action:()=>B(()=>{Je()})},{id:`execute-statement`,label:e(`menu.query.executeStatementAtCursor`),icon:De,tone:`green`,shortcut:`Ctrl+Enter`,keywords:[`run`,`statement`,`cursor`],disabled:!R,action:()=>B(()=>{f()})},{id:`execute-script`,label:e(`menu.query.executeWholeScript`),icon:Be,tone:`teal`,shortcut:`Ctrl+Shift+Enter`,keywords:[`run`,`script`,`batch`],disabled:!R,action:()=>B(()=>{p()})},{id:`new-tab`,label:e(`palette.commands.newQueryTab`),icon:F,tone:`blue`,shortcut:`Alt+T`,keywords:[`new`,`tab`,`editor`],disabled:!R,action:()=>B(()=>m())},{id:`find-replace`,label:e(`menu.query.findReplace`),icon:Le,tone:`lavender`,keywords:[`find`,`replace`,`search`],disabled:!R,action:()=>B(()=>a(`find-replace`))},{id:`local-history`,label:e(`menu.query.localHistory`),icon:Ne,tone:`mauve`,keywords:[`history`,`snapshot`,`undo`],disabled:!R,action:()=>B(()=>a(`local-history`))}]},{heading:e(`palette.groups.database`),commands:[{id:`create-db`,capability:`multipleDatabases`,label:e(`palette.commands.createDatabase`),icon:se,tone:`blue`,keywords:[`create`,`database`,`schema`],disabled:!R,action:()=>B(()=>a(`create-database`))},{id:`alter-db`,capability:`multipleDatabases`,label:e(`menu.database.alter`),icon:Oe,tone:`blue`,keywords:[`alter`,`database`,`charset`],disabled:!R,action:()=>B(()=>a(`alter-database`))},{id:`copy-db`,capability:`multipleDatabases`,label:e(`menu.database.copy`),icon:ue,tone:`sky`,keywords:[`copy`,`clone`,`database`],disabled:!R,action:()=>B(()=>a(`copy-database`))},{id:`schema-diff`,label:e(`menu.database.compare`),icon:je,tone:`mauve`,keywords:[`compare`,`diff`,`schema`,`sync`],pro:`compare_schemas`,disabled:!R,action:()=>B(()=>a(`schema-diff`))},{id:`data-diff`,label:e(`menu.database.compareData`),icon:Me,tone:`mauve`,keywords:[`compare`,`diff`,`data`,`rows`],pro:`compare_data`,disabled:!R,action:()=>B(()=>a(`data-diff`))},{id:`group-by`,label:e(`menu.database.groupBy`),icon:_e,tone:`mauve`,keywords:[`group`,`count`,`aggregate`,`distinct`,`summary`],disabled:!R,action:()=>B(()=>a(`group-by`))}]},{heading:e(`palette.groups.table`),commands:[{id:`create-table`,label:e(`palette.commands.createTable`),icon:j,tone:`green`,keywords:[`create`,`table`],disabled:!R,action:()=>B(()=>a(`create-table`))},{id:`alter-table`,label:e(`palette.commands.alterTable`),icon:Se,tone:`yellow`,keywords:[`alter`,`table`,`column`],disabled:!R,action:()=>B(()=>a(`alter-table`))},{id:`duplicate-table`,label:e(`menu.table.duplicateStructure`),icon:Ee,tone:`teal`,keywords:[`duplicate`,`structure`,`table`],disabled:!R,action:()=>B(()=>a(`duplicate-table-structure`))}]},{heading:e(`menu.export.title`),commands:[{id:`export-csv`,label:e(`menu.export.csv`),icon:Ae,tone:`green`,keywords:[`export`,`csv`,`excel`],disabled:!R,action:()=>B(()=>a(`export-csv`))},{id:`export-html`,label:e(`menu.export.schemaHtml`),icon:ke,tone:`peach`,keywords:[`export`,`html`,`schema`,`documentation`],disabled:!R,action:()=>B(()=>a(`export-html`))}]},{heading:e(`palette.groups.tools`),commands:[{id:`process-list`,capability:`processList`,label:e(`palette.commands.processList`),icon:te,tone:`red`,keywords:[`process`,`kill`,`connections`],disabled:!R,action:()=>B(()=>a(`process-list`))},{id:`variables`,capability:`variables`,label:e(`palette.commands.serverVariables`),icon:Ve,tone:`lavender`,keywords:[`variables`,`server`,`settings`],disabled:!R,action:()=>B(()=>a(`variables`))},{id:`status`,capability:`status`,label:e(`palette.commands.serverStatus`),icon:oe,tone:`teal`,keywords:[`status`,`server`,`metrics`],disabled:!R,action:()=>B(()=>a(`status`))},{id:`flush`,capability:`flush`,label:e(`palette.commands.flush`),icon:P,tone:`peach`,keywords:[`flush`,`cache`,`reload`],disabled:!R,action:()=>B(()=>a(`flush`))},{id:`user-manager`,capability:`users`,label:e(`palette.commands.userManager`),icon:pe,tone:`blue`,keywords:[`users`,`grants`,`privileges`],disabled:!R,action:()=>B(()=>a(`user-manager`))},{id:`scratchpad`,label:e(`menu.tools.scratchpad`),icon:N,tone:`yellow`,keywords:[`scratchpad`,`sqlite`,`local`],pro:`scratchpad`,action:()=>B(()=>{ie().catch(V)})},{id:`federated`,label:e(`menu.tools.federated`),icon:Ue,tone:`mauve`,keywords:[`federated`,`cross`,`join`,`connections`],pro:`federated`,action:()=>B(()=>{le().catch(V)})},{id:`erd`,label:e(`menu.tools.viewErd`),icon:Fe,tone:`sky`,keywords:[`erd`,`diagram`,`relations`],disabled:!R,action:()=>B(Ye)}]},{heading:e(`menu.settings.theme`),commands:ve().map(e=>({id:`theme-${e.id}`,label:e.name,tone:`lavender`,keywords:[`theme`,`color`,`appearance`,`dark`,`light`,e.id],checked:ge===e.id,swatch:e,action:()=>B(()=>We(e.id))}))},{heading:e(`menu.settings.language`),commands:[`auto`,...s].map(t=>({id:`locale-${t}`,label:t===`auto`?e(`language.auto`,{name:e(`language.${o()}`)}):e(`language.${t}`),icon:Pe,tone:`teal`,keywords:[`language`,`locale`,`i18n`,t],checked:Ge===t,action:()=>B(()=>Ke(t))}))},{heading:e(`menu.settings.title`),commands:[{id:`safety-settings`,label:e(`menu.settings.safety`),icon:He,tone:`yellow`,keywords:[`safety`,`settings`,`row limit`,`preferences`],action:()=>B(()=>a(`safety-settings`))}]},{heading:e(`menu.help.title`),commands:[{id:`documentation`,label:e(`menu.help.documentation`),icon:Te,tone:`blue`,keywords:[`docs`,`documentation`,`manual`,`help`],action:()=>B(()=>{window.open(fe(),`_blank`,`noopener,noreferrer`)})},{id:`getting-started`,label:e(`menu.help.gettingStarted`),icon:Re,tone:`green`,keywords:[`welcome`,`onboarding`,`sample`,`getting started`],action:()=>B(()=>l(!0))},{id:`whats-new`,label:e(`menu.help.whatsNew`),icon:I,tone:`sky`,keywords:[`whats new`,`changelog`,`release`,`update`],action:()=>B(()=>a(`whats-new`,{all:!0}))},{id:`terms`,label:e(`menu.help.terms`),icon:ze,tone:`peach`,keywords:[`terms`,`privacy`,`legal`],action:()=>B(()=>a(`terms`))},{id:`about`,label:e(`menu.help.about`),icon:ce,tone:`sky`,keywords:[`about`,`version`,`agent`],action:()=>B(()=>a(`about`))}]}];function H(e){e||r()}let U=Xe.map(e=>({...e,commands:e.commands.filter(e=>!e.capability||g[e.capability])})).filter(e=>e.commands.length>0);return(0,$.jsxs)(Tt,{open:qe,onOpenChange:H,title:e(`palette.title`),description:e(`palette.description`),children:[(0,$.jsx)(Et,{placeholder:e(`palette.inputPlaceholder`)}),(0,$.jsxs)(Dt,{className:`max-h-[60vh]`,children:[(0,$.jsx)(Ot,{children:e(`palette.empty`)}),U.map(e=>(0,$.jsx)(kt,{heading:e.heading,children:e.commands.map(t=>(0,$.jsxs)(At,{value:`${e.heading} ${t.label}`,keywords:t.keywords,disabled:t.disabled,onSelect:()=>{(!t.pro||Ce(t.pro))&&t.action()},children:[t.swatch?(0,$.jsx)(Nt,{theme:t.swatch}):t.icon?(0,$.jsx)(t.icon,{className:i(`size-4`,Mt[t.tone])}):null,(0,$.jsx)(`span`,{className:`truncate`,children:t.label}),(0,$.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[t.pro&&(0,$.jsx)(M,{className:`ml-0`}),t.checked&&(0,$.jsx)(de,{className:`size-3.5 text-catppuccin-green`}),t.shortcut&&(0,$.jsx)(jt,{className:`ml-0`,children:t.shortcut})]})]},t.id))},e.heading))]})]})}export{Pt as QuickCommandPalette};
@@ -1,2 +1,2 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{t as n}from"./DXIGhA87.js";import{i as r,r as i}from"./DZh9ctSS.js";import{a,i as o,n as s,o as c,t as l}from"./BTOj30GE.js";import{a as u,i as d,n as f,r as p,t as m}from"./Bv67Bucf.js";import{t as h}from"./LVFEf5KC.js";import{n as g,t as _}from"./DhVLQTui.js";import{a as v}from"./MpwA8CBH.js";import{r as y}from"./D41s9TGC.js";import{a as b,m as x}from"./15ORcG2N.js";import{A as S,C,J as ee,M as w,O as T,S as E,T as D,_t as O,b as k,c as A,gt as j,j as te,k as ne,l as M,tt as N,un as P,vt as F,w as I,x as L}from"./Dg41U79W.js";var R=e(t(),1);function z(){return{id:crypto.randomUUID(),field:``,type:`varchar`,length:``,defaultValue:``,pk:!1,notNull:!1,unsigned:!1,autoIncrement:!1,zerofill:!1,comment:``}}function B(){return{id:crypto.randomUUID(),name:``,type:`INDEX`,columns:[]}}function V(){return{engine:`InnoDB`,charset:`utf8mb4`,collation:`utf8mb4_general_ci`,autoIncrement:``,comment:``}}function H(e,t,n,r,i){return{database:e,name:t,columns:n.map(e=>({name:e.field,type:e.type,length:e.length,defaultValue:e.defaultValue,primaryKey:e.pk,notNull:e.notNull,unsigned:e.unsigned,autoIncrement:e.autoIncrement,zerofill:e.zerofill,comment:e.comment})),indexes:r.map(e=>({name:e.name,type:e.type,columns:[...e.columns]})),options:{...i}}}var U=i(),W=`w-auto min-w-full [&_td]:bg-muted [&_td]:border-r [&_td]:border-border/60 [&_td:last-child]:border-r-0 [&_td]:p-0 [&_td]:h-8 [&_tr:nth-child(even)_td]:bg-muted/60 [&_tr:focus-within_td]:bg-primary/5`,G=`sticky top-0 z-10 bg-catppuccin-crust shadow-[inset_0_-1px_0_var(--border)] [&_th]:h-8 [&_th]:bg-catppuccin-crust [&_th]:font-semibold [&_th]:text-foreground [&_th]:uppercase [&_th]:tracking-wide [&_th]:text-[11px]`,K=`h-8 w-full min-w-0 rounded-none border-0 bg-transparent px-2 text-xs shadow-none ring-0 focus-visible:bg-primary/10 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary dark:bg-transparent`,q=`h-8 w-full min-w-0 rounded-none border-0 bg-transparent px-2 text-xs shadow-none focus-visible:bg-primary/10 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary data-[state=open]:bg-primary/10 dark:bg-transparent dark:hover:bg-transparent`;function re({columns:e,onChange:t}){let{t:i}=r(),a=j().getDataTypes(),o=(0,R.useCallback)((n,r,i)=>{t(e.map(e=>e.id===n?{...e,[r]:i}:e))},[e,t]);function s(){t([...e,z()])}function c(){e.length>0&&t(e.slice(0,-1))}return(0,U.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,U.jsx)(F,{className:`flex-1`,children:(0,U.jsxs)(k,{className:W,children:[(0,U.jsx)(I,{className:G,children:(0,U.jsxs)(D,{children:[(0,U.jsx)(C,{className:`w-[120px]`,children:i(`table.schema.colField`)}),(0,U.jsx)(C,{className:`w-[120px]`,children:i(`table.schema.colType`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colLength`)}),(0,U.jsx)(C,{className:`w-[100px]`,children:i(`table.schema.colDefault`)}),(0,U.jsx)(C,{className:`w-[40px]`,children:i(`table.schema.colPk`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colNotNull`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colUnsigned`)}),(0,U.jsx)(C,{className:`w-[70px]`,children:i(`table.schema.colAutoIncrement`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colZerofill`)}),(0,U.jsx)(C,{children:i(`table.schema.colComment`)})]})}),(0,U.jsx)(L,{children:e.length===0?(0,U.jsx)(D,{children:(0,U.jsx)(E,{colSpan:10,className:`text-center text-muted-foreground`,children:i(`table.schema.empty`)})}):e.map(e=>(0,U.jsxs)(D,{children:[(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.field,onChange:t=>o(e.id,`field`,t.target.value),placeholder:`column_name`})}),(0,U.jsx)(E,{children:(0,U.jsxs)(m,{value:e.type,onValueChange:t=>o(e.id,`type`,t),children:[(0,U.jsx)(d,{className:q,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:a.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})}),(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.length,onChange:t=>o(e.id,`length`,t.target.value)})}),(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.defaultValue,onChange:t=>o(e.id,`defaultValue`,t.target.value),placeholder:`NULL`})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.pk,onChange:t=>o(e.id,`pk`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.notNull,onChange:t=>o(e.id,`notNull`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.unsigned,onChange:t=>o(e.id,`unsigned`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.autoIncrement,onChange:t=>o(e.id,`autoIncrement`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.zerofill,onChange:t=>o(e.id,`zerofill`,t.target.checked)})}),(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.comment,onChange:t=>o(e.id,`comment`,t.target.value)})})]},e.id))})]})}),(0,U.jsxs)(`div`,{className:`flex gap-2 p-2 border-t`,children:[(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:s,children:i(`table.schema.add`)}),(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:c,disabled:e.length===0,children:i(`table.schema.remove`)})]})]})}var J=[`PRIMARY`,`UNIQUE`,`INDEX`,`FULLTEXT`];function Y({open:e,index:t,availableColumns:i,onSave:h,onClose:g}){let{t:_}=r(),[v,y]=(0,R.useState)(t.name),[b,x]=(0,R.useState)(t.type),[S,C]=(0,R.useState)(t.columns);function ee(e){C(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function w(){h({id:t.id,name:b===`PRIMARY`?`PRIMARY`:v,type:b,columns:S})}return(0,U.jsx)(l,{open:e,onOpenChange:e=>{e||g()},children:(0,U.jsxs)(s,{className:`sm:max-w-[500px]`,children:[(0,U.jsx)(a,{children:(0,U.jsx)(c,{children:t.name?_(`table.index.editTitle`):_(`table.index.addTitle`)})}),(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`idx-name`,children:_(`table.index.name`)}),(0,U.jsx)(M,{id:`idx-name`,value:b===`PRIMARY`?`PRIMARY`:v,onChange:e=>y(e.target.value),disabled:b===`PRIMARY`,placeholder:_(`table.index.namePlaceholder`)})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`idx-type`,children:_(`table.index.type`)}),(0,U.jsxs)(m,{value:b,onValueChange:e=>x(e),children:[(0,U.jsx)(d,{id:`idx-type`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:J.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{children:_(`table.index.columns`)}),(0,U.jsx)(`div`,{className:`border rounded-md p-2 max-h-[200px] overflow-y-auto space-y-1`,children:i.length===0?(0,U.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:_(`table.index.noColumns`)}):i.map(e=>(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer hover:bg-muted/50 rounded px-1 py-0.5`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:S.includes(e.field),onChange:()=>ee(e.field)}),(0,U.jsx)(`span`,{children:e.field||_(`table.index.unnamed`)}),(0,U.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,e.type,`)`]})]},e.id))})]})]}),(0,U.jsxs)(o,{children:[(0,U.jsx)(n,{variant:`outline`,onClick:g,children:_(`table.index.cancel`)}),(0,U.jsx)(n,{onClick:w,disabled:S.length===0,children:_(`table.index.ok`)})]})]})})}function ie({indexes:e,availableColumns:t,onChange:i}){let{t:a}=r(),[o,s]=(0,R.useState)(null),[c,l]=(0,R.useState)(!1);function u(){let e=B();s(e),l(!0)}function d(e){s({...e}),l(!0)}function f(){e.length>0&&i(e.slice(0,-1))}function p(t){e.find(e=>e.id===t.id)?i(e.map(e=>e.id===t.id?t:e)):i([...e,t]),l(!1),s(null)}function m(){l(!1),s(null)}return(0,U.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,U.jsx)(F,{className:`flex-1`,children:(0,U.jsxs)(k,{className:W+` [&_td]:px-2`,children:[(0,U.jsx)(I,{className:G,children:(0,U.jsxs)(D,{children:[(0,U.jsx)(C,{className:`w-[150px]`,children:a(`table.indexes.colName`)}),(0,U.jsx)(C,{className:`w-[120px]`,children:a(`table.indexes.colType`)}),(0,U.jsx)(C,{children:a(`table.indexes.colColumns`)})]})}),(0,U.jsx)(L,{children:e.length===0?(0,U.jsx)(D,{children:(0,U.jsx)(E,{colSpan:3,className:`text-center text-muted-foreground`,children:a(`table.indexes.empty`)})}):e.map(e=>(0,U.jsxs)(D,{className:`cursor-pointer`,onDoubleClick:()=>d(e),children:[(0,U.jsx)(E,{children:e.name}),(0,U.jsx)(E,{children:e.type}),(0,U.jsx)(E,{children:e.columns.join(`, `)})]},e.id))})]})}),(0,U.jsxs)(`div`,{className:`flex gap-2 p-2 border-t`,children:[(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:u,children:a(`table.indexes.add`)}),(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:f,disabled:e.length===0,children:a(`table.indexes.remove`)})]}),o&&(0,U.jsx)(Y,{open:c,index:o,availableColumns:t,onSave:p,onClose:m})]})}var ae=[`InnoDB`,`MyISAM`,`MEMORY`,`CSV`,`ARCHIVE`,`BLACKHOLE`,`MRG_MYISAM`,`FEDERATED`,`PERFORMANCE_SCHEMA`],oe=[`utf8mb4`,`utf8`,`latin1`,`ascii`,`binary`,`cp1251`,`euckr`,`gb2312`,`gbk`,`sjis`,`ucs2`,`utf16`,`utf32`],X={utf8mb4:[`utf8mb4_general_ci`,`utf8mb4_unicode_ci`,`utf8mb4_bin`,`utf8mb4_0900_ai_ci`],utf8:[`utf8_general_ci`,`utf8_unicode_ci`,`utf8_bin`],latin1:[`latin1_swedish_ci`,`latin1_general_ci`,`latin1_bin`],ascii:[`ascii_general_ci`,`ascii_bin`],binary:[`binary`],cp1251:[`cp1251_general_ci`,`cp1251_bin`],euckr:[`euckr_korean_ci`,`euckr_bin`],gb2312:[`gb2312_chinese_ci`,`gb2312_bin`],gbk:[`gbk_chinese_ci`,`gbk_bin`],sjis:[`sjis_japanese_ci`,`sjis_bin`],ucs2:[`ucs2_general_ci`,`ucs2_unicode_ci`,`ucs2_bin`],utf16:[`utf16_general_ci`,`utf16_unicode_ci`,`utf16_bin`],utf32:[`utf32_general_ci`,`utf32_unicode_ci`,`utf32_bin`]};function se({properties:e,onChange:t}){let{t:n}=r();function i(n,r){let i={...e,[n]:r};n===`charset`&&(i.collation=X[r]?.[0]??``),t(i)}let a=X[e.charset]??[];return(0,U.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,U.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-engine`,children:n(`table.properties.engine`)}),(0,U.jsxs)(m,{value:e.engine,onValueChange:e=>i(`engine`,e),children:[(0,U.jsx)(d,{id:`prop-engine`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:ae.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-charset`,children:n(`table.properties.charset`)}),(0,U.jsxs)(m,{value:e.charset,onValueChange:e=>i(`charset`,e),children:[(0,U.jsx)(d,{id:`prop-charset`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:oe.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-collation`,children:n(`table.properties.collation`)}),(0,U.jsxs)(m,{value:e.collation,onValueChange:e=>i(`collation`,e),children:[(0,U.jsx)(d,{id:`prop-collation`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:a.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-auto-incr`,children:n(`table.properties.autoIncrement`)}),(0,U.jsx)(M,{id:`prop-auto-incr`,type:`number`,value:e.autoIncrement,onChange:e=>i(`autoIncrement`,e.target.value),placeholder:n(`table.properties.autoIncrementPlaceholder`)})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-comment`,children:n(`table.properties.comment`)}),(0,U.jsx)(M,{id:`prop-comment`,value:e.comment,onChange:e=>i(`comment`,e.target.value)})]})]})}function ce({connectionId:e,database:t,tableName:n,columns:r,indexes:i,properties:a}){let o=N(e=>e.themeId),s=O(e),c=T(o),l=(0,R.useMemo)(()=>s.ddl.createTable(H(t,n,r,i,a)),[s,t,n,r,i,a]);return(0,U.jsx)(`div`,{className:`h-[320px]`,children:(0,U.jsx)(P,{height:`100%`,language:`sql`,theme:c,value:l,options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,lineNumbers:`on`,wordWrap:`on`}})})}function Z(e){return JSON.stringify([e.type,e.length,e.defaultValue,e.pk,e.notNull,e.unsigned,e.autoIncrement,e.zerofill,e.comment])}function Q(e){return{name:e.field,type:e.length?`${e.type}(${e.length})`:e.type,nullable:!e.notNull,key:e.pk?`PRI`:``,defaultValue:e.defaultValue===``?null:e.defaultValue,extra:e.autoIncrement?`auto_increment`:``,comment:e.comment,collation:null}}function $(e){return{name:e.name,type:e.type,columns:[...e.columns]}}function le(e,t){return e.name===t.name&&e.type===t.type&&e.columns.join(`,`)===t.columns.join(`,`)}function ue({engine:e,database:t,table:n,before:r,after:i}){let{ddl:a}=e,o=[],s=[],c=[],l=new Map(r.columns.map(e=>[e.id,e])),u=new Map(i.columns.map(e=>[e.id,e])),d=new Map(r.indexes.map(e=>[e.id,e])),f=new Map(i.indexes.map(e=>[e.id,e])),p=[];for(let[e,r]of d){let i=f.get(e);i?le(r,i)||(o.push(a.dropIndex(t,n,r.name)),p.push(i)):o.push(a.dropIndex(t,n,r.name))}for(let[e,r]of u){let i=l.get(e);if(!i){r.field.trim()&&o.push(a.addColumn(t,n,Q(r)));continue}if(i.field!==r.field&&o.push(a.renameColumn(t,n,i.field,r.field)),Z(i)!==Z(r)){let e=a.alterColumn(t,n,Q(r));e?o.push(e):c.push(r.field)}}for(let[e,r]of l)if(!u.has(e)){let e=a.dropColumn(t,n,r.field);o.push(e),s.push(e)}for(let e of p)o.push(a.createIndex(t,n,$(e)));for(let[e,r]of f)!d.has(e)&&r.columns.length>0&&o.push(a.createIndex(t,n,$(r)));return{statements:o,destructive:s,unsupported:c}}function de(){let{t:e}=r(),{activeDialog:t,closeDialog:i}=g(),u=_(`create-table`,`alter-table`,`duplicate-table-structure`),d=t===`create-table`||t===`alter-table`||t===`duplicate-table-structure`,f=t===`alter-table`,p=t===`duplicate-table-structure`,m=u?.nodeText??``,C=u?.metadata?.database??``,[T,E]=(0,R.useState)(``),[D,k]=(0,R.useState)([z()]),[j,N]=(0,R.useState)([]),[P,F]=(0,R.useState)(V()),[I,L]=(0,R.useState)(!1),[B,W]=(0,R.useState)(!1),[G,K]=(0,R.useState)(null),[q,J]=(0,R.useState)(null),Y=u?.connectionId??h.getState().activeConnectionId,ae=O(Y);(0,R.useEffect)(()=>{d&&(K(null),J(null),f||p?(E(p?`${m}_copy`:m),oe()):(E(``),k([z()]),N([]),F(V())))},[d,t]);async function oe(){let e=h.getState(),t=u?.connectionId??e.activeConnectionId,n=e.activeConnections.find(e=>e.id===t)?.serverConnectionId;if(!n||!C||!m)return;L(!0);let{introspect:r,capabilities:i}=y(t),a=v(n);try{let e=await r.listColumns(a,C,m),t=[];if(e.length>0){let n=e.map(e=>{let t=e.type,n=t.match(/^(\w+)(?:\(([^)]+)\))?/);return{id:crypto.randomUUID(),field:e.name,type:n?.[1]?.toLowerCase()??t.toLowerCase(),length:n?.[2]??``,defaultValue:e.defaultValue??``,pk:e.key===`PRI`,notNull:!e.nullable,unsigned:t.includes(`unsigned`),autoIncrement:e.extra.includes(`auto_increment`),zerofill:t.includes(`zerofill`),comment:e.comment}});k(n),t=n}let n=await r.listIndexes(a,C,m),o=[];if(n.length>0&&(o=n.map(e=>({id:crypto.randomUUID(),name:e.name,type:e.type===`SPATIAL`?`INDEX`:e.type,columns:[...e.columns]})),N(o)),J({columns:t,indexes:o}),i.tableProperties){let e=await r.getTableInfo(a,C,m);e&&F({engine:e.engine??`InnoDB`,charset:(e.collation??`utf8mb4`).replace(/_.*/,``),collation:e.collation??`utf8mb4_unicode_ci`,autoIncrement:e.autoIncrement??``,comment:e.comment})}}catch(e){console.error(`Failed to load table schema:`,e),K(e instanceof Error?e.message:String(e))}finally{L(!1)}}function X(e){e||i()}async function Z(){let t=u?.connectionId??h.getState().activeConnectionId;if(!t||!T.trim())return;let n=y(t);K(null);let r,a=[];if(f){if(!q)return;let t=ue({engine:n,database:C,table:m,before:q,after:{columns:D,indexes:j}});if(t.unsupported.length>0){K(e(`table.dialog.cannotAlterColumns`,{engine:n.label,columns:t.unsupported.join(`, `)}));return}if(t.statements.length===0){i();return}r=t.statements.join(`
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{t as n}from"./4Sc28RjY.js";import{i as r,r as i}from"./lXSI1SY-.js";import{a,i as o,n as s,o as c,t as l}from"./CRlZzqQn.js";import{a as u,i as d,n as f,r as p,t as m}from"./CbZfSgjv.js";import{t as h}from"./NrVAX4Mt.js";import{n as g,t as _}from"./Dz-fZF1j.js";import{a as v}from"./-BrRFEsd.js";import{r as y}from"./C7Nv9Pjy.js";import{a as b,m as x}from"./CdhLxfdD.js";import{A as S,C,J as ee,M as w,O as T,S as E,T as D,_t as O,b as k,c as A,gt as j,j as te,k as ne,l as M,tt as N,un as P,vt as F,w as I,x as L}from"./Cykx3CBw.js";var R=e(t(),1);function z(){return{id:crypto.randomUUID(),field:``,type:`varchar`,length:``,defaultValue:``,pk:!1,notNull:!1,unsigned:!1,autoIncrement:!1,zerofill:!1,comment:``}}function B(){return{id:crypto.randomUUID(),name:``,type:`INDEX`,columns:[]}}function V(){return{engine:`InnoDB`,charset:`utf8mb4`,collation:`utf8mb4_general_ci`,autoIncrement:``,comment:``}}function H(e,t,n,r,i){return{database:e,name:t,columns:n.map(e=>({name:e.field,type:e.type,length:e.length,defaultValue:e.defaultValue,primaryKey:e.pk,notNull:e.notNull,unsigned:e.unsigned,autoIncrement:e.autoIncrement,zerofill:e.zerofill,comment:e.comment})),indexes:r.map(e=>({name:e.name,type:e.type,columns:[...e.columns]})),options:{...i}}}var U=i(),W=`w-auto min-w-full [&_td]:bg-muted [&_td]:border-r [&_td]:border-border/60 [&_td:last-child]:border-r-0 [&_td]:p-0 [&_td]:h-8 [&_tr:nth-child(even)_td]:bg-muted/60 [&_tr:focus-within_td]:bg-primary/5`,G=`sticky top-0 z-10 bg-catppuccin-crust shadow-[inset_0_-1px_0_var(--border)] [&_th]:h-8 [&_th]:bg-catppuccin-crust [&_th]:font-semibold [&_th]:text-foreground [&_th]:uppercase [&_th]:tracking-wide [&_th]:text-[11px]`,K=`h-8 w-full min-w-0 rounded-none border-0 bg-transparent px-2 text-xs shadow-none ring-0 focus-visible:bg-primary/10 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary dark:bg-transparent`,q=`h-8 w-full min-w-0 rounded-none border-0 bg-transparent px-2 text-xs shadow-none focus-visible:bg-primary/10 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary data-[state=open]:bg-primary/10 dark:bg-transparent dark:hover:bg-transparent`;function re({columns:e,onChange:t}){let{t:i}=r(),a=j().getDataTypes(),o=(0,R.useCallback)((n,r,i)=>{t(e.map(e=>e.id===n?{...e,[r]:i}:e))},[e,t]);function s(){t([...e,z()])}function c(){e.length>0&&t(e.slice(0,-1))}return(0,U.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,U.jsx)(F,{className:`flex-1`,children:(0,U.jsxs)(k,{className:W,children:[(0,U.jsx)(I,{className:G,children:(0,U.jsxs)(D,{children:[(0,U.jsx)(C,{className:`w-[120px]`,children:i(`table.schema.colField`)}),(0,U.jsx)(C,{className:`w-[120px]`,children:i(`table.schema.colType`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colLength`)}),(0,U.jsx)(C,{className:`w-[100px]`,children:i(`table.schema.colDefault`)}),(0,U.jsx)(C,{className:`w-[40px]`,children:i(`table.schema.colPk`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colNotNull`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colUnsigned`)}),(0,U.jsx)(C,{className:`w-[70px]`,children:i(`table.schema.colAutoIncrement`)}),(0,U.jsx)(C,{className:`w-[60px]`,children:i(`table.schema.colZerofill`)}),(0,U.jsx)(C,{children:i(`table.schema.colComment`)})]})}),(0,U.jsx)(L,{children:e.length===0?(0,U.jsx)(D,{children:(0,U.jsx)(E,{colSpan:10,className:`text-center text-muted-foreground`,children:i(`table.schema.empty`)})}):e.map(e=>(0,U.jsxs)(D,{children:[(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.field,onChange:t=>o(e.id,`field`,t.target.value),placeholder:`column_name`})}),(0,U.jsx)(E,{children:(0,U.jsxs)(m,{value:e.type,onValueChange:t=>o(e.id,`type`,t),children:[(0,U.jsx)(d,{className:q,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:a.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})}),(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.length,onChange:t=>o(e.id,`length`,t.target.value)})}),(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.defaultValue,onChange:t=>o(e.id,`defaultValue`,t.target.value),placeholder:`NULL`})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.pk,onChange:t=>o(e.id,`pk`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.notNull,onChange:t=>o(e.id,`notNull`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.unsigned,onChange:t=>o(e.id,`unsigned`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.autoIncrement,onChange:t=>o(e.id,`autoIncrement`,t.target.checked)})}),(0,U.jsx)(E,{className:`text-center`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:e.zerofill,onChange:t=>o(e.id,`zerofill`,t.target.checked)})}),(0,U.jsx)(E,{children:(0,U.jsx)(M,{className:K,value:e.comment,onChange:t=>o(e.id,`comment`,t.target.value)})})]},e.id))})]})}),(0,U.jsxs)(`div`,{className:`flex gap-2 p-2 border-t`,children:[(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:s,children:i(`table.schema.add`)}),(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:c,disabled:e.length===0,children:i(`table.schema.remove`)})]})]})}var J=[`PRIMARY`,`UNIQUE`,`INDEX`,`FULLTEXT`];function Y({open:e,index:t,availableColumns:i,onSave:h,onClose:g}){let{t:_}=r(),[v,y]=(0,R.useState)(t.name),[b,x]=(0,R.useState)(t.type),[S,C]=(0,R.useState)(t.columns);function ee(e){C(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function w(){h({id:t.id,name:b===`PRIMARY`?`PRIMARY`:v,type:b,columns:S})}return(0,U.jsx)(l,{open:e,onOpenChange:e=>{e||g()},children:(0,U.jsxs)(s,{className:`sm:max-w-[500px]`,children:[(0,U.jsx)(a,{children:(0,U.jsx)(c,{children:t.name?_(`table.index.editTitle`):_(`table.index.addTitle`)})}),(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`idx-name`,children:_(`table.index.name`)}),(0,U.jsx)(M,{id:`idx-name`,value:b===`PRIMARY`?`PRIMARY`:v,onChange:e=>y(e.target.value),disabled:b===`PRIMARY`,placeholder:_(`table.index.namePlaceholder`)})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`idx-type`,children:_(`table.index.type`)}),(0,U.jsxs)(m,{value:b,onValueChange:e=>x(e),children:[(0,U.jsx)(d,{id:`idx-type`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:J.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{children:_(`table.index.columns`)}),(0,U.jsx)(`div`,{className:`border rounded-md p-2 max-h-[200px] overflow-y-auto space-y-1`,children:i.length===0?(0,U.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:_(`table.index.noColumns`)}):i.map(e=>(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer hover:bg-muted/50 rounded px-1 py-0.5`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:S.includes(e.field),onChange:()=>ee(e.field)}),(0,U.jsx)(`span`,{children:e.field||_(`table.index.unnamed`)}),(0,U.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,e.type,`)`]})]},e.id))})]})]}),(0,U.jsxs)(o,{children:[(0,U.jsx)(n,{variant:`outline`,onClick:g,children:_(`table.index.cancel`)}),(0,U.jsx)(n,{onClick:w,disabled:S.length===0,children:_(`table.index.ok`)})]})]})})}function ie({indexes:e,availableColumns:t,onChange:i}){let{t:a}=r(),[o,s]=(0,R.useState)(null),[c,l]=(0,R.useState)(!1);function u(){let e=B();s(e),l(!0)}function d(e){s({...e}),l(!0)}function f(){e.length>0&&i(e.slice(0,-1))}function p(t){e.find(e=>e.id===t.id)?i(e.map(e=>e.id===t.id?t:e)):i([...e,t]),l(!1),s(null)}function m(){l(!1),s(null)}return(0,U.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,U.jsx)(F,{className:`flex-1`,children:(0,U.jsxs)(k,{className:W+` [&_td]:px-2`,children:[(0,U.jsx)(I,{className:G,children:(0,U.jsxs)(D,{children:[(0,U.jsx)(C,{className:`w-[150px]`,children:a(`table.indexes.colName`)}),(0,U.jsx)(C,{className:`w-[120px]`,children:a(`table.indexes.colType`)}),(0,U.jsx)(C,{children:a(`table.indexes.colColumns`)})]})}),(0,U.jsx)(L,{children:e.length===0?(0,U.jsx)(D,{children:(0,U.jsx)(E,{colSpan:3,className:`text-center text-muted-foreground`,children:a(`table.indexes.empty`)})}):e.map(e=>(0,U.jsxs)(D,{className:`cursor-pointer`,onDoubleClick:()=>d(e),children:[(0,U.jsx)(E,{children:e.name}),(0,U.jsx)(E,{children:e.type}),(0,U.jsx)(E,{children:e.columns.join(`, `)})]},e.id))})]})}),(0,U.jsxs)(`div`,{className:`flex gap-2 p-2 border-t`,children:[(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:u,children:a(`table.indexes.add`)}),(0,U.jsx)(n,{size:`sm`,variant:`outline`,onClick:f,disabled:e.length===0,children:a(`table.indexes.remove`)})]}),o&&(0,U.jsx)(Y,{open:c,index:o,availableColumns:t,onSave:p,onClose:m})]})}var ae=[`InnoDB`,`MyISAM`,`MEMORY`,`CSV`,`ARCHIVE`,`BLACKHOLE`,`MRG_MYISAM`,`FEDERATED`,`PERFORMANCE_SCHEMA`],oe=[`utf8mb4`,`utf8`,`latin1`,`ascii`,`binary`,`cp1251`,`euckr`,`gb2312`,`gbk`,`sjis`,`ucs2`,`utf16`,`utf32`],X={utf8mb4:[`utf8mb4_general_ci`,`utf8mb4_unicode_ci`,`utf8mb4_bin`,`utf8mb4_0900_ai_ci`],utf8:[`utf8_general_ci`,`utf8_unicode_ci`,`utf8_bin`],latin1:[`latin1_swedish_ci`,`latin1_general_ci`,`latin1_bin`],ascii:[`ascii_general_ci`,`ascii_bin`],binary:[`binary`],cp1251:[`cp1251_general_ci`,`cp1251_bin`],euckr:[`euckr_korean_ci`,`euckr_bin`],gb2312:[`gb2312_chinese_ci`,`gb2312_bin`],gbk:[`gbk_chinese_ci`,`gbk_bin`],sjis:[`sjis_japanese_ci`,`sjis_bin`],ucs2:[`ucs2_general_ci`,`ucs2_unicode_ci`,`ucs2_bin`],utf16:[`utf16_general_ci`,`utf16_unicode_ci`,`utf16_bin`],utf32:[`utf32_general_ci`,`utf32_unicode_ci`,`utf32_bin`]};function se({properties:e,onChange:t}){let{t:n}=r();function i(n,r){let i={...e,[n]:r};n===`charset`&&(i.collation=X[r]?.[0]??``),t(i)}let a=X[e.charset]??[];return(0,U.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,U.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-engine`,children:n(`table.properties.engine`)}),(0,U.jsxs)(m,{value:e.engine,onValueChange:e=>i(`engine`,e),children:[(0,U.jsx)(d,{id:`prop-engine`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:ae.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-charset`,children:n(`table.properties.charset`)}),(0,U.jsxs)(m,{value:e.charset,onValueChange:e=>i(`charset`,e),children:[(0,U.jsx)(d,{id:`prop-charset`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:oe.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-collation`,children:n(`table.properties.collation`)}),(0,U.jsxs)(m,{value:e.collation,onValueChange:e=>i(`collation`,e),children:[(0,U.jsx)(d,{id:`prop-collation`,className:`w-full`,children:(0,U.jsx)(u,{})}),(0,U.jsx)(f,{children:a.map(e=>(0,U.jsx)(p,{value:e,children:e},e))})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-auto-incr`,children:n(`table.properties.autoIncrement`)}),(0,U.jsx)(M,{id:`prop-auto-incr`,type:`number`,value:e.autoIncrement,onChange:e=>i(`autoIncrement`,e.target.value),placeholder:n(`table.properties.autoIncrementPlaceholder`)})]})]}),(0,U.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,U.jsx)(A,{htmlFor:`prop-comment`,children:n(`table.properties.comment`)}),(0,U.jsx)(M,{id:`prop-comment`,value:e.comment,onChange:e=>i(`comment`,e.target.value)})]})]})}function ce({connectionId:e,database:t,tableName:n,columns:r,indexes:i,properties:a}){let o=N(e=>e.themeId),s=O(e),c=T(o),l=(0,R.useMemo)(()=>s.ddl.createTable(H(t,n,r,i,a)),[s,t,n,r,i,a]);return(0,U.jsx)(`div`,{className:`h-[320px]`,children:(0,U.jsx)(P,{height:`100%`,language:`sql`,theme:c,value:l,options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,lineNumbers:`on`,wordWrap:`on`}})})}function Z(e){return JSON.stringify([e.type,e.length,e.defaultValue,e.pk,e.notNull,e.unsigned,e.autoIncrement,e.zerofill,e.comment])}function Q(e){return{name:e.field,type:e.length?`${e.type}(${e.length})`:e.type,nullable:!e.notNull,key:e.pk?`PRI`:``,defaultValue:e.defaultValue===``?null:e.defaultValue,extra:e.autoIncrement?`auto_increment`:``,comment:e.comment,collation:null}}function $(e){return{name:e.name,type:e.type,columns:[...e.columns]}}function le(e,t){return e.name===t.name&&e.type===t.type&&e.columns.join(`,`)===t.columns.join(`,`)}function ue({engine:e,database:t,table:n,before:r,after:i}){let{ddl:a}=e,o=[],s=[],c=[],l=new Map(r.columns.map(e=>[e.id,e])),u=new Map(i.columns.map(e=>[e.id,e])),d=new Map(r.indexes.map(e=>[e.id,e])),f=new Map(i.indexes.map(e=>[e.id,e])),p=[];for(let[e,r]of d){let i=f.get(e);i?le(r,i)||(o.push(a.dropIndex(t,n,r.name)),p.push(i)):o.push(a.dropIndex(t,n,r.name))}for(let[e,r]of u){let i=l.get(e);if(!i){r.field.trim()&&o.push(a.addColumn(t,n,Q(r)));continue}if(i.field!==r.field&&o.push(a.renameColumn(t,n,i.field,r.field)),Z(i)!==Z(r)){let e=a.alterColumn(t,n,Q(r));e?o.push(e):c.push(r.field)}}for(let[e,r]of l)if(!u.has(e)){let e=a.dropColumn(t,n,r.field);o.push(e),s.push(e)}for(let e of p)o.push(a.createIndex(t,n,$(e)));for(let[e,r]of f)!d.has(e)&&r.columns.length>0&&o.push(a.createIndex(t,n,$(r)));return{statements:o,destructive:s,unsupported:c}}function de(){let{t:e}=r(),{activeDialog:t,closeDialog:i}=g(),u=_(`create-table`,`alter-table`,`duplicate-table-structure`),d=t===`create-table`||t===`alter-table`||t===`duplicate-table-structure`,f=t===`alter-table`,p=t===`duplicate-table-structure`,m=u?.nodeText??``,C=u?.metadata?.database??``,[T,E]=(0,R.useState)(``),[D,k]=(0,R.useState)([z()]),[j,N]=(0,R.useState)([]),[P,F]=(0,R.useState)(V()),[I,L]=(0,R.useState)(!1),[B,W]=(0,R.useState)(!1),[G,K]=(0,R.useState)(null),[q,J]=(0,R.useState)(null),Y=u?.connectionId??h.getState().activeConnectionId,ae=O(Y);(0,R.useEffect)(()=>{d&&(K(null),J(null),f||p?(E(p?`${m}_copy`:m),oe()):(E(``),k([z()]),N([]),F(V())))},[d,t]);async function oe(){let e=h.getState(),t=u?.connectionId??e.activeConnectionId,n=e.activeConnections.find(e=>e.id===t)?.serverConnectionId;if(!n||!C||!m)return;L(!0);let{introspect:r,capabilities:i}=y(t),a=v(n);try{let e=await r.listColumns(a,C,m),t=[];if(e.length>0){let n=e.map(e=>{let t=e.type,n=t.match(/^(\w+)(?:\(([^)]+)\))?/);return{id:crypto.randomUUID(),field:e.name,type:n?.[1]?.toLowerCase()??t.toLowerCase(),length:n?.[2]??``,defaultValue:e.defaultValue??``,pk:e.key===`PRI`,notNull:!e.nullable,unsigned:t.includes(`unsigned`),autoIncrement:e.extra.includes(`auto_increment`),zerofill:t.includes(`zerofill`),comment:e.comment}});k(n),t=n}let n=await r.listIndexes(a,C,m),o=[];if(n.length>0&&(o=n.map(e=>({id:crypto.randomUUID(),name:e.name,type:e.type===`SPATIAL`?`INDEX`:e.type,columns:[...e.columns]})),N(o)),J({columns:t,indexes:o}),i.tableProperties){let e=await r.getTableInfo(a,C,m);e&&F({engine:e.engine??`InnoDB`,charset:(e.collation??`utf8mb4`).replace(/_.*/,``),collation:e.collation??`utf8mb4_unicode_ci`,autoIncrement:e.autoIncrement??``,comment:e.comment})}}catch(e){console.error(`Failed to load table schema:`,e),K(e instanceof Error?e.message:String(e))}finally{L(!1)}}function X(e){e||i()}async function Z(){let t=u?.connectionId??h.getState().activeConnectionId;if(!t||!T.trim())return;let n=y(t);K(null);let r,a=[];if(f){if(!q)return;let t=ue({engine:n,database:C,table:m,before:q,after:{columns:D,indexes:j}});if(t.unsupported.length>0){K(e(`table.dialog.cannotAlterColumns`,{engine:n.label,columns:t.unsupported.join(`, `)}));return}if(t.statements.length===0){i();return}r=t.statements.join(`
2
2
  `),a=t.destructive}else{let e=p?j.map(e=>({...e,name:ee(e.name,m,T.trim())})):j;r=n.ddl.createTable(H(C,T.trim(),D,e,P))}W(!0);try{await b(t,r,{skipDestructiveConfirm:a.length===0}),await x(t,C),i()}catch(e){K(e instanceof Error?e.message:String(e))}finally{W(!1)}}let Q=e(f?`table.dialog.alterTitle`:p?`table.dialog.duplicateTitle`:`table.dialog.createTitle`),$=e(f?`table.dialog.alter`:`table.dialog.create`);return(0,U.jsx)(l,{open:d,onOpenChange:X,children:(0,U.jsxs)(s,{className:`sm:max-w-[1000px] max-h-[80vh] flex flex-col`,children:[(0,U.jsx)(a,{children:(0,U.jsx)(c,{children:Q})}),(0,U.jsxs)(`div`,{className:`space-y-3 flex-1 overflow-hidden flex flex-col min-h-0`,children:[(0,U.jsxs)(`div`,{className:`space-y-1.5 px-1`,children:[(0,U.jsx)(A,{htmlFor:`table-name`,children:e(`table.dialog.tableName`)}),(0,U.jsx)(M,{id:`table-name`,value:T,onChange:e=>E(e.target.value),placeholder:e(`table.dialog.tableNamePlaceholder`),disabled:f})]}),I?(0,U.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-muted-foreground text-sm`,children:e(`table.dialog.loading`)}):(0,U.jsxs)(ne,{defaultValue:`schema`,className:`flex-1 min-h-0 flex flex-col`,children:[(0,U.jsxs)(te,{children:[(0,U.jsx)(w,{value:`schema`,children:e(`table.dialog.tabSchema`)}),(0,U.jsx)(w,{value:`indexes`,children:e(`table.dialog.tabIndexes`)}),ae.capabilities.tableProperties&&(0,U.jsx)(w,{value:`properties`,children:e(`table.dialog.tabProperties`)}),(0,U.jsx)(w,{value:`sql`,children:`SQL`})]}),(0,U.jsx)(S,{value:`schema`,className:`flex-1 min-h-0 overflow-auto border rounded-md`,children:(0,U.jsx)(re,{columns:D,onChange:k})}),(0,U.jsx)(S,{value:`indexes`,className:`flex-1 min-h-0 overflow-auto border rounded-md`,children:(0,U.jsx)(ie,{indexes:j,availableColumns:D,onChange:N})}),(0,U.jsx)(S,{value:`properties`,className:`flex-1 min-h-0 overflow-auto border rounded-md`,children:(0,U.jsx)(se,{properties:P,onChange:F})}),(0,U.jsx)(S,{value:`sql`,className:`flex-1 min-h-0 border rounded-md`,children:(0,U.jsx)(ce,{connectionId:Y,database:C,tableName:T,columns:D,indexes:j,properties:P})})]})]}),G&&(0,U.jsx)(`p`,{className:`px-1 text-xs text-destructive leading-relaxed`,children:G}),(0,U.jsxs)(o,{children:[(0,U.jsx)(n,{variant:`outline`,onClick:()=>X(!1),children:e(`table.dialog.cancel`)}),(0,U.jsx)(n,{onClick:()=>void Z(),disabled:I||B||!T.trim(),children:B?e(`table.dialog.applying`):$})]})]})})}export{de as EditSchemaDialog};
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{i as n,t as r}from"./DXIGhA87.js";import{i,n as a,r as o}from"./DZh9ctSS.js";import{a as s,i as c,n as l,o as u,t as d}from"./BTOj30GE.js";import{I as f,t as p}from"./LVFEf5KC.js";import{n as m}from"./DhVLQTui.js";import{a as h}from"./MpwA8CBH.js";import{r as g}from"./D41s9TGC.js";import{a as _}from"./15ORcG2N.js";import{Et as v,Ut as y,c as b,qt as x,vt as S,wt as C}from"./Dg41U79W.js";import{n as w,t as T}from"./BLX_0Iuc.js";var E=a(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),D=a(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),O=e(t(),1),k=o();function A({databases:e,tables:t,onSelectScope:r}){let{t:a}=i(),[o,s]=(0,O.useState)(new Set),[c,l]=(0,O.useState)(`global`),u=(0,O.useCallback)(e=>{s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),d=[{id:`global`,text:a(`user.grantTree.globalPrivileges`),type:`global`,children:e.map(e=>({id:`db:${e}`,text:e,type:`database`,database:e,children:(t[e]??[]).map(t=>({id:`tbl:${e}.${t}`,text:t,type:`table`,database:e,table:t}))}))}];function f(e){l(e.id),r({level:e.type,database:e.database,table:e.table})}function p(e,t){let r=e.children&&e.children.length>0,i=o.has(e.id),a=c===e.id,s=E;return e.type===`database`&&(s=y),e.type===`table`&&(s=v),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`div`,{className:n(`flex items-center gap-1 px-2 py-0.5 cursor-pointer text-sm hover:bg-accent rounded-sm`,a&&`bg-accent text-accent-foreground`),style:{paddingLeft:`${t*16+4}px`},onClick:()=>{f(e),r&&u(e.id)},children:[r?(0,k.jsx)(x,{className:n(`h-3 w-3 transition-transform shrink-0`,i&&`rotate-90`)}):(0,k.jsx)(`span`,{className:`w-3 shrink-0`}),(0,k.jsx)(s,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,k.jsx)(`span`,{className:`truncate`,children:e.text})]}),i&&e.children?.map(e=>p(e,t+1))]},e.id)}return(0,k.jsx)(S,{className:`h-full`,children:(0,k.jsx)(`div`,{className:`py-1`,children:d.map(e=>p(e,0))})})}var j={Data:[`SELECT`,`INSERT`,`UPDATE`,`DELETE`],Structure:[`CREATE`,`ALTER`,`DROP`,`INDEX`,`REFERENCES`],Administration:[`GRANT OPTION`,`SUPER`,`PROCESS`,`RELOAD`,`SHUTDOWN`,`SHOW DATABASES`,`LOCK TABLES`,`EXECUTE`,`REPLICATION SLAVE`,`REPLICATION CLIENT`,`CREATE VIEW`,`SHOW VIEW`,`CREATE ROUTINE`,`ALTER ROUTINE`,`CREATE USER`,`EVENT`,`TRIGGER`,`CREATE TABLESPACE`]},M={Data:[`SELECT`,`INSERT`,`UPDATE`,`DELETE`],Structure:[`CREATE`,`ALTER`,`DROP`,`INDEX`,`REFERENCES`],Administration:[`GRANT OPTION`,`LOCK TABLES`,`EXECUTE`,`CREATE VIEW`,`SHOW VIEW`,`CREATE ROUTINE`,`ALTER ROUTINE`,`EVENT`,`TRIGGER`]},N={Data:[`SELECT`,`INSERT`,`UPDATE`,`DELETE`],Structure:[`CREATE`,`ALTER`,`DROP`,`INDEX`,`REFERENCES`],Administration:[`GRANT OPTION`,`TRIGGER`]},P={global:`user.privileges.globalTitle`,database:`user.privileges.databaseTitle`,table:`user.privileges.tableTitle`},F={Data:`user.privileges.categoryData`,Structure:`user.privileges.categoryStructure`,Administration:`user.privileges.categoryAdministration`};function I({scope:e,privileges:t,onChange:n}){let{t:a}=i(),o=(0,O.useMemo)(()=>e===`global`?j:e===`database`?M:N,[e]),s=(0,O.useMemo)(()=>Object.values(o).flat(),[o]);function c(e){n({...t,[e]:!t[e]})}function l(){let e={...t};for(let t of s)e[t]=!0;n(e)}function u(){let e={...t};for(let t of s)e[t]=!1;n(e)}return(0,k.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b`,children:[(0,k.jsx)(`span`,{className:`text-sm font-medium`,children:a(P[e])}),(0,k.jsxs)(`div`,{className:`ml-auto flex gap-1`,children:[(0,k.jsx)(r,{variant:`outline`,size:`sm`,onClick:l,children:a(`user.privileges.checkAll`)}),(0,k.jsx)(r,{variant:`outline`,size:`sm`,onClick:u,children:a(`user.privileges.uncheckAll`)})]})]}),(0,k.jsx)(S,{className:`flex-1`,children:(0,k.jsx)(`div`,{className:`p-3 space-y-4`,children:Object.entries(o).map(([e,n])=>(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:F[e]?a(F[e]):e}),(0,k.jsx)(`div`,{className:`grid grid-cols-2 gap-1`,children:n.map(e=>(0,k.jsxs)(b,{className:`flex items-center gap-2 text-sm font-normal cursor-pointer py-1`,children:[(0,k.jsx)(`input`,{type:`checkbox`,checked:t[e]??!1,onChange:()=>c(e),className:`rounded border-input`}),e]},e))})]},e))})})]})}var L={SELECT:`Select_priv`,INSERT:`Insert_priv`,UPDATE:`Update_priv`,DELETE:`Delete_priv`,CREATE:`Create_priv`,ALTER:`Alter_priv`,DROP:`Drop_priv`,INDEX:`Index_priv`,REFERENCES:`References_priv`,"GRANT OPTION":`Grant_priv`,SUPER:`Super_priv`,PROCESS:`Process_priv`,RELOAD:`Reload_priv`,SHUTDOWN:`Shutdown_priv`,"SHOW DATABASES":`Show_db_priv`,"LOCK TABLES":`Lock_tables_priv`,EXECUTE:`Execute_priv`,"REPLICATION SLAVE":`Repl_slave_priv`,"REPLICATION CLIENT":`Repl_client_priv`,"CREATE VIEW":`Create_view_priv`,"SHOW VIEW":`Show_view_priv`,"CREATE ROUTINE":`Create_routine_priv`,"ALTER ROUTINE":`Alter_routine_priv`,"CREATE USER":`Create_user_priv`,EVENT:`Event_priv`,TRIGGER:`Trigger_priv`,"CREATE TABLESPACE":`Create_tablespace_priv`,"CREATE TEMPORARY TABLES":`Create_tmp_table_priv`,FILE:`File_priv`};function R(e){let t={};for(let n of e.split(`,`)){let e=n.trim().toUpperCase();e&&(t[e]=!0)}return t}function z(e){let t={};for(let[n,r]of Object.entries(L)){let i=e[r];i!==void 0&&(t[n]=String(i).toUpperCase()===`Y`)}return t}function B(e,t){let n=t=>e.quoteIdentifier(t);return t.level===`global`?`*.*`:t.level===`database`?`${n(t.database??``)}.*`:`${n(t.database??``)}.${n(t.table??``)}`}async function V(e,t,n,r,i){if(i.level===`global`){let i=await e(t.getQuery(`USER_PRIV`,n,r)),a=f(i)[0];return a?z(a):{}}if(i.level===`database`){let a=await e(t.getQuery(`USER_DATABASE_PRIV`,n,r)),o=f(a).find(e=>String(e.Db)===i.database);return o?z(o):{}}let a=await e(t.getQuery(`USER_TABLE_PRIV`,n,r)),o=f(a).find(e=>String(e.Db)===i.database&&String(e.Table_name)===i.table);return o?R(String(o.Table_priv??``)):{}}function H(e,t,n,r,i,a){let o=B(e,r),s=[],c=[],l=null;for(let e of new Set([...Object.keys(i),...Object.keys(a)])){let t=i[e]===!0,n=a[e]===!0;if(t!==n){if(e===`GRANT OPTION`){l=n;continue}(n?s:c).push(e)}}let u=[];if(s.length>0||l===!0){let r=s.length>0?s.join(`, `):`USAGE`;u.push(e.getQuery(`GRANT`,r,t,n,o,l===!0?`WITH GRANT OPTION`:``))}return c.length>0&&u.push(e.getQuery(`REVOKE`,c.join(`, `),t,n,o)),l===!1&&u.push(e.getQuery(`REVOKE`,`GRANT OPTION`,t,n,o)),u}function U(e){return p.getState().activeConnections.find(t=>t.id===e)?.serverConnectionId??null}function W(){let{t:e}=i(),{activeDialog:t,closeDialog:a,openDialog:o,setFooterMessage:f}=m(),v=p(e=>e.activeConnectionId)??``,y=w(e=>e.users[v]??T),b=w(e=>e.selectedUser[v]??null),x=w(e=>e.setSelectedUser),E=w(e=>e.removeUser),j=e=>x(v,e),M=(e,t)=>E(v,e,t),[N,P]=(0,O.useState)({level:`global`}),[F,L]=(0,O.useState)({}),[R,z]=(0,O.useState)([]),[B,W]=(0,O.useState)({}),[G,K]=(0,O.useState)({}),[q,J]=(0,O.useState)(!1),Y=t===`user-manager`;(0,O.useEffect)(()=>{if(!Y||!v)return;let e=U(v);if(!e)return;let t=!1;return g(v).introspect.listDatabases(h(e)).then(e=>{t||z(e)}).catch(()=>{t||z([])}),()=>{t=!0}},[Y,v]),(0,O.useEffect)(()=>{let e=N.database;if(!Y||!v||!e||B[e])return;let t=U(v);if(!t)return;let n=!1;return g(v).introspect.listTables(h(t),e).then(t=>{n||W(n=>({...n,[e]:t.map(e=>e.name)}))}).catch(()=>void 0),()=>{n=!0}},[Y,v,N.database,B]),(0,O.useEffect)(()=>{if(!Y||!v||!b){K({}),L({});return}let e=U(v);if(!e)return;let t=!1;return V(h(e),g(v),b.user,b.host,N).then(e=>{t||(K(e),L(e))}).catch(()=>{t||(K({}),L({}))}),()=>{t=!0}},[Y,v,b,N]);function X(e){e||(a(),j(null),P({level:`global`}),L({}))}let Z=(0,O.useCallback)(e=>{P(e),L({})},[]);function Q(){o(`user-add`)}async function $(){if(!b||!v)return;let{user:t,host:n}=b;J(!0);try{await _(v,g(v).getQuery(`DELETE_USER`,t,n)),M(n,t),j(null),f(e(`user.manager.removed`,{user:t,host:n}))}catch(e){f(e instanceof Error?e.message:String(e))}finally{J(!1)}}async function ee(){if(!b||!v){f(e(`user.manager.selectUserFirst`));return}let t=H(g(v),b.user,b.host,N,G,F);if(t.length===0){f(e(`user.manager.noChanges`));return}J(!0);try{for(let e of t)await _(v,e);K(F),f(e(`user.manager.applied`))}catch(e){f(e instanceof Error?e.message:String(e))}finally{J(!1)}}return(0,k.jsx)(d,{open:Y,onOpenChange:X,children:(0,k.jsxs)(l,{className:`sm:max-w-[80vw] max-h-[70vh] flex flex-col`,children:[(0,k.jsx)(s,{children:(0,k.jsx)(u,{children:e(`user.manager.title`)})}),(0,k.jsxs)(`div`,{className:`flex flex-1 gap-0 overflow-hidden min-h-0 border rounded-md`,children:[(0,k.jsxs)(`div`,{className:`w-[200px] shrink-0 border-r flex flex-col`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-1 p-2 border-b`,children:[(0,k.jsx)(r,{variant:`ghost`,size:`sm`,onClick:Q,title:e(`user.manager.addUser`),children:(0,k.jsx)(D,{className:`h-4 w-4`})}),(0,k.jsx)(r,{variant:`ghost`,size:`sm`,onClick:()=>void $(),disabled:!b||q,title:e(`user.manager.removeUser`),children:(0,k.jsx)(C,{className:`h-4 w-4`})})]}),(0,k.jsx)(S,{className:`flex-1`,children:(0,k.jsx)(`div`,{className:`py-1`,children:y.length===0?(0,k.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground text-center`,children:e(`user.manager.noUsers`)}):y.map(e=>{let t=b?.user===e.user&&b?.host===e.host;return(0,k.jsx)(`div`,{className:n(`flex items-center gap-2 px-3 py-1.5 cursor-pointer text-sm hover:bg-accent`,t&&`bg-accent text-accent-foreground`),onClick:()=>j(e),children:(0,k.jsxs)(`span`,{className:`truncate`,children:[e.user,`@`,e.host]})},`${e.user}@${e.host}`)})})})]}),(0,k.jsxs)(`div`,{className:`w-[250px] shrink-0 border-r`,children:[(0,k.jsx)(`div`,{className:`p-2 border-b text-sm font-medium`,children:e(`user.manager.grantScope`)}),(0,k.jsx)(A,{connectionId:``,databases:R,tables:B,onSelectScope:Z})]}),(0,k.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,k.jsx)(I,{scope:N.level,privileges:F,onChange:L})})]}),(0,k.jsxs)(c,{children:[(0,k.jsx)(r,{onClick:()=>void ee(),disabled:q,children:e(`user.manager.apply`)}),(0,k.jsx)(r,{variant:`outline`,onClick:()=>X(!1),children:e(`user.manager.close`)})]})]})})}export{W as UserManagerDialog};
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{i as n,t as r}from"./4Sc28RjY.js";import{i,n as a,r as o}from"./lXSI1SY-.js";import{a as s,i as c,n as l,o as u,t as d}from"./CRlZzqQn.js";import{I as f,t as p}from"./NrVAX4Mt.js";import{n as m}from"./Dz-fZF1j.js";import{a as h}from"./-BrRFEsd.js";import{r as g}from"./C7Nv9Pjy.js";import{a as _}from"./CdhLxfdD.js";import{Et as v,Ut as y,c as b,qt as x,vt as S,wt as C}from"./Cykx3CBw.js";import{n as w,t as T}from"./0kBxoQTC.js";var E=a(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),D=a(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),O=e(t(),1),k=o();function A({databases:e,tables:t,onSelectScope:r}){let{t:a}=i(),[o,s]=(0,O.useState)(new Set),[c,l]=(0,O.useState)(`global`),u=(0,O.useCallback)(e=>{s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),d=[{id:`global`,text:a(`user.grantTree.globalPrivileges`),type:`global`,children:e.map(e=>({id:`db:${e}`,text:e,type:`database`,database:e,children:(t[e]??[]).map(t=>({id:`tbl:${e}.${t}`,text:t,type:`table`,database:e,table:t}))}))}];function f(e){l(e.id),r({level:e.type,database:e.database,table:e.table})}function p(e,t){let r=e.children&&e.children.length>0,i=o.has(e.id),a=c===e.id,s=E;return e.type===`database`&&(s=y),e.type===`table`&&(s=v),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`div`,{className:n(`flex items-center gap-1 px-2 py-0.5 cursor-pointer text-sm hover:bg-accent rounded-sm`,a&&`bg-accent text-accent-foreground`),style:{paddingLeft:`${t*16+4}px`},onClick:()=>{f(e),r&&u(e.id)},children:[r?(0,k.jsx)(x,{className:n(`h-3 w-3 transition-transform shrink-0`,i&&`rotate-90`)}):(0,k.jsx)(`span`,{className:`w-3 shrink-0`}),(0,k.jsx)(s,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,k.jsx)(`span`,{className:`truncate`,children:e.text})]}),i&&e.children?.map(e=>p(e,t+1))]},e.id)}return(0,k.jsx)(S,{className:`h-full`,children:(0,k.jsx)(`div`,{className:`py-1`,children:d.map(e=>p(e,0))})})}var j={Data:[`SELECT`,`INSERT`,`UPDATE`,`DELETE`],Structure:[`CREATE`,`ALTER`,`DROP`,`INDEX`,`REFERENCES`],Administration:[`GRANT OPTION`,`SUPER`,`PROCESS`,`RELOAD`,`SHUTDOWN`,`SHOW DATABASES`,`LOCK TABLES`,`EXECUTE`,`REPLICATION SLAVE`,`REPLICATION CLIENT`,`CREATE VIEW`,`SHOW VIEW`,`CREATE ROUTINE`,`ALTER ROUTINE`,`CREATE USER`,`EVENT`,`TRIGGER`,`CREATE TABLESPACE`]},M={Data:[`SELECT`,`INSERT`,`UPDATE`,`DELETE`],Structure:[`CREATE`,`ALTER`,`DROP`,`INDEX`,`REFERENCES`],Administration:[`GRANT OPTION`,`LOCK TABLES`,`EXECUTE`,`CREATE VIEW`,`SHOW VIEW`,`CREATE ROUTINE`,`ALTER ROUTINE`,`EVENT`,`TRIGGER`]},N={Data:[`SELECT`,`INSERT`,`UPDATE`,`DELETE`],Structure:[`CREATE`,`ALTER`,`DROP`,`INDEX`,`REFERENCES`],Administration:[`GRANT OPTION`,`TRIGGER`]},P={global:`user.privileges.globalTitle`,database:`user.privileges.databaseTitle`,table:`user.privileges.tableTitle`},F={Data:`user.privileges.categoryData`,Structure:`user.privileges.categoryStructure`,Administration:`user.privileges.categoryAdministration`};function I({scope:e,privileges:t,onChange:n}){let{t:a}=i(),o=(0,O.useMemo)(()=>e===`global`?j:e===`database`?M:N,[e]),s=(0,O.useMemo)(()=>Object.values(o).flat(),[o]);function c(e){n({...t,[e]:!t[e]})}function l(){let e={...t};for(let t of s)e[t]=!0;n(e)}function u(){let e={...t};for(let t of s)e[t]=!1;n(e)}return(0,k.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b`,children:[(0,k.jsx)(`span`,{className:`text-sm font-medium`,children:a(P[e])}),(0,k.jsxs)(`div`,{className:`ml-auto flex gap-1`,children:[(0,k.jsx)(r,{variant:`outline`,size:`sm`,onClick:l,children:a(`user.privileges.checkAll`)}),(0,k.jsx)(r,{variant:`outline`,size:`sm`,onClick:u,children:a(`user.privileges.uncheckAll`)})]})]}),(0,k.jsx)(S,{className:`flex-1`,children:(0,k.jsx)(`div`,{className:`p-3 space-y-4`,children:Object.entries(o).map(([e,n])=>(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:F[e]?a(F[e]):e}),(0,k.jsx)(`div`,{className:`grid grid-cols-2 gap-1`,children:n.map(e=>(0,k.jsxs)(b,{className:`flex items-center gap-2 text-sm font-normal cursor-pointer py-1`,children:[(0,k.jsx)(`input`,{type:`checkbox`,checked:t[e]??!1,onChange:()=>c(e),className:`rounded border-input`}),e]},e))})]},e))})})]})}var L={SELECT:`Select_priv`,INSERT:`Insert_priv`,UPDATE:`Update_priv`,DELETE:`Delete_priv`,CREATE:`Create_priv`,ALTER:`Alter_priv`,DROP:`Drop_priv`,INDEX:`Index_priv`,REFERENCES:`References_priv`,"GRANT OPTION":`Grant_priv`,SUPER:`Super_priv`,PROCESS:`Process_priv`,RELOAD:`Reload_priv`,SHUTDOWN:`Shutdown_priv`,"SHOW DATABASES":`Show_db_priv`,"LOCK TABLES":`Lock_tables_priv`,EXECUTE:`Execute_priv`,"REPLICATION SLAVE":`Repl_slave_priv`,"REPLICATION CLIENT":`Repl_client_priv`,"CREATE VIEW":`Create_view_priv`,"SHOW VIEW":`Show_view_priv`,"CREATE ROUTINE":`Create_routine_priv`,"ALTER ROUTINE":`Alter_routine_priv`,"CREATE USER":`Create_user_priv`,EVENT:`Event_priv`,TRIGGER:`Trigger_priv`,"CREATE TABLESPACE":`Create_tablespace_priv`,"CREATE TEMPORARY TABLES":`Create_tmp_table_priv`,FILE:`File_priv`};function R(e){let t={};for(let n of e.split(`,`)){let e=n.trim().toUpperCase();e&&(t[e]=!0)}return t}function z(e){let t={};for(let[n,r]of Object.entries(L)){let i=e[r];i!==void 0&&(t[n]=String(i).toUpperCase()===`Y`)}return t}function B(e,t){let n=t=>e.quoteIdentifier(t);return t.level===`global`?`*.*`:t.level===`database`?`${n(t.database??``)}.*`:`${n(t.database??``)}.${n(t.table??``)}`}async function V(e,t,n,r,i){if(i.level===`global`){let i=await e(t.getQuery(`USER_PRIV`,n,r)),a=f(i)[0];return a?z(a):{}}if(i.level===`database`){let a=await e(t.getQuery(`USER_DATABASE_PRIV`,n,r)),o=f(a).find(e=>String(e.Db)===i.database);return o?z(o):{}}let a=await e(t.getQuery(`USER_TABLE_PRIV`,n,r)),o=f(a).find(e=>String(e.Db)===i.database&&String(e.Table_name)===i.table);return o?R(String(o.Table_priv??``)):{}}function H(e,t,n,r,i,a){let o=B(e,r),s=[],c=[],l=null;for(let e of new Set([...Object.keys(i),...Object.keys(a)])){let t=i[e]===!0,n=a[e]===!0;if(t!==n){if(e===`GRANT OPTION`){l=n;continue}(n?s:c).push(e)}}let u=[];if(s.length>0||l===!0){let r=s.length>0?s.join(`, `):`USAGE`;u.push(e.getQuery(`GRANT`,r,t,n,o,l===!0?`WITH GRANT OPTION`:``))}return c.length>0&&u.push(e.getQuery(`REVOKE`,c.join(`, `),t,n,o)),l===!1&&u.push(e.getQuery(`REVOKE`,`GRANT OPTION`,t,n,o)),u}function U(e){return p.getState().activeConnections.find(t=>t.id===e)?.serverConnectionId??null}function W(){let{t:e}=i(),{activeDialog:t,closeDialog:a,openDialog:o,setFooterMessage:f}=m(),v=p(e=>e.activeConnectionId)??``,y=w(e=>e.users[v]??T),b=w(e=>e.selectedUser[v]??null),x=w(e=>e.setSelectedUser),E=w(e=>e.removeUser),j=e=>x(v,e),M=(e,t)=>E(v,e,t),[N,P]=(0,O.useState)({level:`global`}),[F,L]=(0,O.useState)({}),[R,z]=(0,O.useState)([]),[B,W]=(0,O.useState)({}),[G,K]=(0,O.useState)({}),[q,J]=(0,O.useState)(!1),Y=t===`user-manager`;(0,O.useEffect)(()=>{if(!Y||!v)return;let e=U(v);if(!e)return;let t=!1;return g(v).introspect.listDatabases(h(e)).then(e=>{t||z(e)}).catch(()=>{t||z([])}),()=>{t=!0}},[Y,v]),(0,O.useEffect)(()=>{let e=N.database;if(!Y||!v||!e||B[e])return;let t=U(v);if(!t)return;let n=!1;return g(v).introspect.listTables(h(t),e).then(t=>{n||W(n=>({...n,[e]:t.map(e=>e.name)}))}).catch(()=>void 0),()=>{n=!0}},[Y,v,N.database,B]),(0,O.useEffect)(()=>{if(!Y||!v||!b){K({}),L({});return}let e=U(v);if(!e)return;let t=!1;return V(h(e),g(v),b.user,b.host,N).then(e=>{t||(K(e),L(e))}).catch(()=>{t||(K({}),L({}))}),()=>{t=!0}},[Y,v,b,N]);function X(e){e||(a(),j(null),P({level:`global`}),L({}))}let Z=(0,O.useCallback)(e=>{P(e),L({})},[]);function Q(){o(`user-add`)}async function $(){if(!b||!v)return;let{user:t,host:n}=b;J(!0);try{await _(v,g(v).getQuery(`DELETE_USER`,t,n)),M(n,t),j(null),f(e(`user.manager.removed`,{user:t,host:n}))}catch(e){f(e instanceof Error?e.message:String(e))}finally{J(!1)}}async function ee(){if(!b||!v){f(e(`user.manager.selectUserFirst`));return}let t=H(g(v),b.user,b.host,N,G,F);if(t.length===0){f(e(`user.manager.noChanges`));return}J(!0);try{for(let e of t)await _(v,e);K(F),f(e(`user.manager.applied`))}catch(e){f(e instanceof Error?e.message:String(e))}finally{J(!1)}}return(0,k.jsx)(d,{open:Y,onOpenChange:X,children:(0,k.jsxs)(l,{className:`sm:max-w-[80vw] max-h-[70vh] flex flex-col`,children:[(0,k.jsx)(s,{children:(0,k.jsx)(u,{children:e(`user.manager.title`)})}),(0,k.jsxs)(`div`,{className:`flex flex-1 gap-0 overflow-hidden min-h-0 border rounded-md`,children:[(0,k.jsxs)(`div`,{className:`w-[200px] shrink-0 border-r flex flex-col`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-1 p-2 border-b`,children:[(0,k.jsx)(r,{variant:`ghost`,size:`sm`,onClick:Q,title:e(`user.manager.addUser`),children:(0,k.jsx)(D,{className:`h-4 w-4`})}),(0,k.jsx)(r,{variant:`ghost`,size:`sm`,onClick:()=>void $(),disabled:!b||q,title:e(`user.manager.removeUser`),children:(0,k.jsx)(C,{className:`h-4 w-4`})})]}),(0,k.jsx)(S,{className:`flex-1`,children:(0,k.jsx)(`div`,{className:`py-1`,children:y.length===0?(0,k.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground text-center`,children:e(`user.manager.noUsers`)}):y.map(e=>{let t=b?.user===e.user&&b?.host===e.host;return(0,k.jsx)(`div`,{className:n(`flex items-center gap-2 px-3 py-1.5 cursor-pointer text-sm hover:bg-accent`,t&&`bg-accent text-accent-foreground`),onClick:()=>j(e),children:(0,k.jsxs)(`span`,{className:`truncate`,children:[e.user,`@`,e.host]})},`${e.user}@${e.host}`)})})})]}),(0,k.jsxs)(`div`,{className:`w-[250px] shrink-0 border-r`,children:[(0,k.jsx)(`div`,{className:`p-2 border-b text-sm font-medium`,children:e(`user.manager.grantScope`)}),(0,k.jsx)(A,{connectionId:``,databases:R,tables:B,onSelectScope:Z})]}),(0,k.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,k.jsx)(I,{scope:N.level,privileges:F,onChange:L})})]}),(0,k.jsxs)(c,{children:[(0,k.jsx)(r,{onClick:()=>void ee(),disabled:q,children:e(`user.manager.apply`)}),(0,k.jsx)(r,{variant:`outline`,onClick:()=>X(!1),children:e(`user.manager.close`)})]})]})})}export{W as UserManagerDialog};
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{p as t}from"./BeP_ukJr.js";import{i as n,r}from"./DZh9ctSS.js";import{F as i}from"./LVFEf5KC.js";import{n as a}from"./DB8Yfa-s.js";import{h as o}from"./15ORcG2N.js";import{t as s}from"./uHjP6NCK.js";import{t as c}from"./kOcXvaMR.js";import{t as l}from"./DW_MDklv.js";import{t as u}from"./_zaonxnw.js";var d=e(t(),1),f=r(),p=1e5,m=500,h=20;function g({connectionId:e,tabId:t,input:r}){let{t:g}=n(),_=s(e,t,``),[v,...y]=r.trim().split(/\s+/),[b,x]=(0,d.useState)(v||`db0`),[S,C]=(0,d.useState)(y.join(` `)||``),[w,T]=(0,d.useState)(null),[E,D]=(0,d.useState)(``),[O,k]=(0,d.useState)(null),[A,j]=(0,d.useState)(null),[M,N]=(0,d.useState)(null),P=(0,d.useRef)(!1),[F,I]=(0,d.useState)(0),L=async()=>{if(S.trim()){k(`preview`),N(null),j(null),D(``),P.current=!1;try{let e=new Set,t=`0`;do{let n=await _.read(`SCAN ${t} MATCH ${i(S)} COUNT 1000`,b);t=String(n[0]);for(let t of n[1])e.add(t)}while(t!==`0`&&e.size<p&&!P.current);T({pattern:S,database:b,keys:[...e].slice(0,p),capped:t!==`0`})}catch(e){N(u(e))}finally{k(null)}}},R=async()=>{if(!w||E!==w.pattern)return;k(`delete`),N(null),P.current=!1;let n=0,r=performance.now();try{for(let e=0;e<w.keys.length&&!P.current;e+=m){let t=w.keys.slice(e,e+m);await _.write(`UNLINK ${t.map(i).join(` `)}`,{confirmed:!0,database:w.database,skipHistory:!0}),n+=t.length,j(n)}}catch(e){e instanceof Error&&e.name===`ExecutionCancelled`||N(u(e))}finally{a.getState().recordExecution({connectionId:e,tabId:t,query:`UNLINK <${n} keys matching ${w.pattern}>`,database:w.database,executionTime:Math.round(performance.now()-r),kind:`UNLINK`,affectedRows:n}),k(null),T(null),D(``),I(e=>e+1),o(e)}};return _.readOnly?(0,f.jsx)(l,{title:g(`tools.redis.delete`),onRefresh:async()=>{},error:null,onDismissError:()=>{},children:(0,f.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:g(`tools.redis.deleteReadOnly`)})}):(0,f.jsx)(l,{title:g(`tools.redis.delete`),onRefresh:async()=>{O||await L()},error:M,onDismissError:()=>N(null),children:(0,f.jsxs)(`div`,{className:`max-w-3xl space-y-4 p-4 text-xs`,children:[(0,f.jsx)(`p`,{className:`text-muted-foreground`,children:g(`tools.redis.deleteIntro`)}),(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,f.jsx)(c,{access:_,value:b,onChange:e=>{x(e),T(null)},disabled:O!==null,version:F}),(0,f.jsx)(`input`,{className:`h-7 w-80 rounded border bg-background px-2 font-mono`,placeholder:`session:*`,value:S,disabled:O!==null,onChange:e=>{C(e.target.value),T(null)},onKeyDown:e=>{e.key===`Enter`&&L()}}),O===`preview`?(0,f.jsx)(`button`,{type:`button`,onClick:()=>{P.current=!0},className:`h-7 rounded border bg-background px-2 text-muted-foreground`,children:g(`tools.stop`)}):(0,f.jsx)(`button`,{type:`button`,disabled:!S.trim()||O!==null,onClick:()=>void L(),className:`h-7 rounded border border-primary/30 bg-primary/10 px-2 text-primary hover:bg-primary/20 disabled:opacity-40`,children:g(`tools.redis.preview`)})]}),S.trim()===`*`&&(0,f.jsx)(`p`,{className:`text-catppuccin-yellow`,children:g(`tools.redis.deleteAllWarning`)}),w&&(0,f.jsxs)(`div`,{className:`space-y-3 rounded-lg border p-3`,children:[(0,f.jsxs)(`p`,{children:[(0,f.jsx)(`strong`,{children:g(`tools.redis.matchCount`,{count:w.keys.length.toLocaleString(),database:w.database})}),w.capped&&(0,f.jsx)(`span`,{className:`ml-2 text-catppuccin-yellow`,children:g(`tools.redis.matchCapped`,{cap:p.toLocaleString()})})]}),w.keys.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(`ul`,{className:`max-h-48 overflow-auto rounded bg-muted/40 p-2 font-mono`,children:[w.keys.slice(0,h).map(e=>(0,f.jsx)(`li`,{className:`truncate`,children:e},e)),w.keys.length>h&&(0,f.jsxs)(`li`,{className:`text-muted-foreground`,children:[`… `,(w.keys.length-h).toLocaleString()]})]}),(0,f.jsx)(`p`,{className:`text-muted-foreground`,children:g(`tools.redis.deleteConfirm`,{pattern:w.pattern})}),(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,f.jsx)(`input`,{className:`h-7 w-80 rounded border bg-background px-2 font-mono`,value:E,onChange:e=>D(e.target.value),placeholder:w.pattern}),O===`delete`?(0,f.jsx)(`button`,{type:`button`,onClick:()=>{P.current=!0},className:`h-7 rounded border bg-background px-2 text-muted-foreground`,children:g(`tools.stop`)}):(0,f.jsx)(`button`,{type:`button`,disabled:E!==w.pattern,onClick:()=>void R(),className:`h-7 rounded bg-destructive px-3 text-white disabled:opacity-40`,children:g(`tools.redis.deleteKeys`,{count:w.keys.length.toLocaleString()})})]}),(0,f.jsx)(`p`,{className:`text-muted-foreground`,children:g(`tools.redis.deleteNote`)})]})]}),A!==null&&(0,f.jsx)(`p`,{className:`text-primary`,children:g(`tools.redis.deletedCount`,{count:A.toLocaleString()})})]})})}export{g as BulkDelete};
1
+ import{r as e}from"./hePW80VL.js";import{p as t}from"./voJYJ5aN.js";import{i as n,r}from"./lXSI1SY-.js";import{F as i}from"./NrVAX4Mt.js";import{n as a}from"./BlX_ty5A.js";import{h as o}from"./CdhLxfdD.js";import{t as s}from"./B2Zfb92y.js";import{t as c}from"./D34ytwl6.js";import{t as l}from"./WvnnIt2x.js";import{t as u}from"./_zaonxnw.js";var d=e(t(),1),f=r(),p=1e5,m=500,h=20;function g({connectionId:e,tabId:t,input:r}){let{t:g}=n(),_=s(e,t,``),[v,...y]=r.trim().split(/\s+/),[b,x]=(0,d.useState)(v||`db0`),[S,C]=(0,d.useState)(y.join(` `)||``),[w,T]=(0,d.useState)(null),[E,D]=(0,d.useState)(``),[O,k]=(0,d.useState)(null),[A,j]=(0,d.useState)(null),[M,N]=(0,d.useState)(null),P=(0,d.useRef)(!1),[F,I]=(0,d.useState)(0),L=async()=>{if(S.trim()){k(`preview`),N(null),j(null),D(``),P.current=!1;try{let e=new Set,t=`0`;do{let n=await _.read(`SCAN ${t} MATCH ${i(S)} COUNT 1000`,b);t=String(n[0]);for(let t of n[1])e.add(t)}while(t!==`0`&&e.size<p&&!P.current);T({pattern:S,database:b,keys:[...e].slice(0,p),capped:t!==`0`})}catch(e){N(u(e))}finally{k(null)}}},R=async()=>{if(!w||E!==w.pattern)return;k(`delete`),N(null),P.current=!1;let n=0,r=performance.now();try{for(let e=0;e<w.keys.length&&!P.current;e+=m){let t=w.keys.slice(e,e+m);await _.write(`UNLINK ${t.map(i).join(` `)}`,{confirmed:!0,database:w.database,skipHistory:!0}),n+=t.length,j(n)}}catch(e){e instanceof Error&&e.name===`ExecutionCancelled`||N(u(e))}finally{a.getState().recordExecution({connectionId:e,tabId:t,query:`UNLINK <${n} keys matching ${w.pattern}>`,database:w.database,executionTime:Math.round(performance.now()-r),kind:`UNLINK`,affectedRows:n}),k(null),T(null),D(``),I(e=>e+1),o(e)}};return _.readOnly?(0,f.jsx)(l,{title:g(`tools.redis.delete`),onRefresh:async()=>{},error:null,onDismissError:()=>{},children:(0,f.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:g(`tools.redis.deleteReadOnly`)})}):(0,f.jsx)(l,{title:g(`tools.redis.delete`),onRefresh:async()=>{O||await L()},error:M,onDismissError:()=>N(null),children:(0,f.jsxs)(`div`,{className:`max-w-3xl space-y-4 p-4 text-xs`,children:[(0,f.jsx)(`p`,{className:`text-muted-foreground`,children:g(`tools.redis.deleteIntro`)}),(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,f.jsx)(c,{access:_,value:b,onChange:e=>{x(e),T(null)},disabled:O!==null,version:F}),(0,f.jsx)(`input`,{className:`h-7 w-80 rounded border bg-background px-2 font-mono`,placeholder:`session:*`,value:S,disabled:O!==null,onChange:e=>{C(e.target.value),T(null)},onKeyDown:e=>{e.key===`Enter`&&L()}}),O===`preview`?(0,f.jsx)(`button`,{type:`button`,onClick:()=>{P.current=!0},className:`h-7 rounded border bg-background px-2 text-muted-foreground`,children:g(`tools.stop`)}):(0,f.jsx)(`button`,{type:`button`,disabled:!S.trim()||O!==null,onClick:()=>void L(),className:`h-7 rounded border border-primary/30 bg-primary/10 px-2 text-primary hover:bg-primary/20 disabled:opacity-40`,children:g(`tools.redis.preview`)})]}),S.trim()===`*`&&(0,f.jsx)(`p`,{className:`text-catppuccin-yellow`,children:g(`tools.redis.deleteAllWarning`)}),w&&(0,f.jsxs)(`div`,{className:`space-y-3 rounded-lg border p-3`,children:[(0,f.jsxs)(`p`,{children:[(0,f.jsx)(`strong`,{children:g(`tools.redis.matchCount`,{count:w.keys.length.toLocaleString(),database:w.database})}),w.capped&&(0,f.jsx)(`span`,{className:`ml-2 text-catppuccin-yellow`,children:g(`tools.redis.matchCapped`,{cap:p.toLocaleString()})})]}),w.keys.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(`ul`,{className:`max-h-48 overflow-auto rounded bg-muted/40 p-2 font-mono`,children:[w.keys.slice(0,h).map(e=>(0,f.jsx)(`li`,{className:`truncate`,children:e},e)),w.keys.length>h&&(0,f.jsxs)(`li`,{className:`text-muted-foreground`,children:[`… `,(w.keys.length-h).toLocaleString()]})]}),(0,f.jsx)(`p`,{className:`text-muted-foreground`,children:g(`tools.redis.deleteConfirm`,{pattern:w.pattern})}),(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,f.jsx)(`input`,{className:`h-7 w-80 rounded border bg-background px-2 font-mono`,value:E,onChange:e=>D(e.target.value),placeholder:w.pattern}),O===`delete`?(0,f.jsx)(`button`,{type:`button`,onClick:()=>{P.current=!0},className:`h-7 rounded border bg-background px-2 text-muted-foreground`,children:g(`tools.stop`)}):(0,f.jsx)(`button`,{type:`button`,disabled:E!==w.pattern,onClick:()=>void R(),className:`h-7 rounded bg-destructive px-3 text-white disabled:opacity-40`,children:g(`tools.redis.deleteKeys`,{count:w.keys.length.toLocaleString()})})]}),(0,f.jsx)(`p`,{className:`text-muted-foreground`,children:g(`tools.redis.deleteNote`)})]})]}),A!==null&&(0,f.jsx)(`p`,{className:`text-primary`,children:g(`tools.redis.deletedCount`,{count:A.toLocaleString()})})]})})}export{g as BulkDelete};