planche 0.8.13 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/assets/1p4z4GHT.js +2 -0
- package/app/assets/{DkPnEF-y.js → 6NUleTnS.js} +1 -1
- package/app/assets/ANL7Od0T.js +1 -0
- package/app/assets/B7zF7RU4.js +2 -0
- package/app/assets/B8zpsP_u.js +959 -0
- package/app/assets/B9DHeSQH.js +1 -0
- package/app/assets/B9NCreMu.js +1 -0
- package/app/assets/{CjoKIEBz.js → B9dhM8vw.js} +1 -1
- package/app/assets/BFw3KCAr.js +1 -0
- package/app/assets/BGuDcBB_.js +1 -0
- package/app/assets/BHe42P9W.js +1 -0
- package/app/assets/BJFk0Zzq.js +2 -0
- package/app/assets/BMGo7X_N.js +2 -0
- package/app/assets/BRZhVXRC.js +1 -0
- package/app/assets/BVwlLPu6.js +1 -0
- package/app/assets/BYWnKgIY.js +3 -0
- package/app/assets/BYvM8E39.js +1 -0
- package/app/assets/B_1rFijd.js +1 -0
- package/app/assets/Bgu3teFB.js +11 -0
- package/app/assets/BgvMpmFj.js +1 -0
- package/app/assets/BhPOHTk7.js +7 -0
- package/app/assets/BiyRPyXV.js +1 -0
- package/app/assets/Bkq2aetC.js +1 -0
- package/app/assets/BnI4D_rY.js +1 -0
- package/app/assets/BniymiMs.js +2 -0
- package/app/assets/Br4335vw.js +1 -0
- package/app/assets/BsYZ-U7K.js +1 -0
- package/app/assets/BvEGx3Si.js +4 -0
- package/app/assets/Bvu_eiyU.js +3 -0
- package/app/assets/C1gqjEN3.js +1 -0
- package/app/assets/C2S2GXdP.js +1 -0
- package/app/assets/C3w9xAkk.js +1 -0
- package/app/assets/C4QyqQoa.js +1 -0
- package/app/assets/C5Yv1gpQ.js +1 -0
- package/app/assets/CCQ6oQgi.js +1 -0
- package/app/assets/{Bajzqc8D.js → CDfSdkjY.js} +1 -1
- package/app/assets/CIIDOG9Y.js +1 -0
- package/app/assets/CP2U-viH.js +1 -0
- package/app/assets/CVZ3Bw6o.js +1 -0
- package/app/assets/CWb3a6Xp.js +1 -0
- package/app/assets/CWota0kb.js +1 -0
- package/app/assets/{B1pia_Rg.js → CYz610vE.js} +1 -1
- package/app/assets/Cdop6jK1.js +2 -0
- package/app/assets/CgQ0qqq4.js +1 -0
- package/app/assets/CiL8zoYm.js +1 -0
- package/app/assets/CkIm3SJy.js +1 -0
- package/app/assets/ClytWHSf.js +1 -0
- package/app/assets/CnoXRrek.js +1 -0
- package/app/assets/CqTgU2vp.css +2 -0
- package/app/assets/Cu_sGzNJ.js +1 -0
- package/app/assets/CwsH45Wr.js +2 -0
- package/app/assets/D3_CBO8-.js +1 -0
- package/app/assets/D4l4mWtD.js +1 -0
- package/app/assets/D6oRJsd8.js +1 -0
- package/app/assets/D8_hwGjG.js +1 -0
- package/app/assets/{CEtGUZGE.js → D8dVzi6I.js} +1 -1
- package/app/assets/DDeeBXtX.js +1 -0
- package/app/assets/DDjCZLb0.js +1 -0
- package/app/assets/DFeHpd8Y.js +1 -0
- package/app/assets/DKf3DkR6.js +1 -0
- package/app/assets/DO0W14Ho.js +1 -0
- package/app/assets/DPnYgSl3.js +1 -0
- package/app/assets/DU-Eln5x.js +1 -0
- package/app/assets/DY1k-USH.js +1 -0
- package/app/assets/DeNEO8HN.js +1 -0
- package/app/assets/DkqeIq13.js +1 -0
- package/app/assets/DnRoHgQS.js +1 -0
- package/app/assets/Dy6-E_uL.js +1 -0
- package/app/assets/DyQ8cEic.js +1 -0
- package/app/assets/DzRyVlxz.js +41 -0
- package/app/assets/FAouNaq9.js +1 -0
- package/app/assets/Nro86Y63.js +1 -0
- package/app/assets/Q6DQerac.js +8 -0
- package/app/assets/S7HbowYz.js +373 -0
- package/app/assets/UX-csQNt.js +2 -0
- package/app/assets/Udlj1Cgf.js +1 -0
- package/app/assets/{C0bzfYFC.js → XCH_yrJ8.js} +1 -1
- package/app/assets/_zaonxnw.js +1 -0
- package/app/assets/f6MhVR01.js +27 -0
- package/app/assets/tQiLT0zv.js +2 -0
- package/app/index.html +35 -27
- package/app/landing.css +17 -0
- package/dist/{chunk-XAI7WLQN.js → chunk-SDRLD5PK.js} +995 -121
- package/dist/embed.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +6 -2
- package/app/assets/8RmjiG1u.js +0 -1
- package/app/assets/9kM6GVHV.js +0 -7
- package/app/assets/B2csuorb.js +0 -1
- package/app/assets/BCmzDvBt.js +0 -1
- package/app/assets/BHsXOlR9.js +0 -2
- package/app/assets/BO_H_8D-.js +0 -1
- package/app/assets/BRc4Nt6e.js +0 -1
- package/app/assets/BW4K9UH-.js +0 -1
- package/app/assets/BbdU8Zop.js +0 -2
- package/app/assets/BgkATqP8.js +0 -1
- package/app/assets/Bhquh17w.js +0 -959
- package/app/assets/Bjm-okwb.js +0 -1
- package/app/assets/Bs-p2SdN.js +0 -1
- package/app/assets/CF6jyexg.js +0 -41
- package/app/assets/CMoC9sLj.js +0 -1
- package/app/assets/COfwwXGO.js +0 -3
- package/app/assets/CS2mpWDL.js +0 -1
- package/app/assets/CUK2WAdf.js +0 -1
- package/app/assets/CVpOAP2j.js +0 -1
- package/app/assets/CVpzA8TC.js +0 -8
- package/app/assets/CZoj-eMm.js +0 -1
- package/app/assets/CbmIWIww.js +0 -1
- package/app/assets/CeXMO4BR.js +0 -1
- package/app/assets/Cf8o-5U6.js +0 -2
- package/app/assets/CiFkP-9S.js +0 -1
- package/app/assets/CpSudzcZ.js +0 -1
- package/app/assets/CqK9ewb_.js +0 -1
- package/app/assets/CrT26gRf.js +0 -1
- package/app/assets/D0jMUNSI.js +0 -2
- package/app/assets/D6kbK-ng.js +0 -1
- package/app/assets/DEEGN6UG.js +0 -6
- package/app/assets/DIJgEIiP.js +0 -27
- package/app/assets/DMRY-PmY.js +0 -1
- package/app/assets/DPdwSUSw.js +0 -1
- package/app/assets/DSmKDd5u.js +0 -1
- package/app/assets/DTDWV2fP.js +0 -2
- package/app/assets/DW8BZVdB.js +0 -1
- package/app/assets/DWMVPRon.js +0 -1
- package/app/assets/DbqogdCK.js +0 -356
- package/app/assets/Dc12Sye0.js +0 -1
- package/app/assets/DzVnJu74.js +0 -2
- package/app/assets/KuSp3gJs.css +0 -2
- package/app/assets/OjAiMU9J.js +0 -2
- package/app/assets/SFsWRs4-.js +0 -1
- package/app/assets/bgQ-QVd7.js +0 -1
- package/app/assets/fI8KJgQa.js +0 -1
- package/app/assets/hrOpaTVU.js +0 -1
- package/app/assets/p4yYbMPY.js +0 -2
- package/app/assets/pjlgs2cl.js +0 -1
- package/app/assets/pneb1la9.js +0 -1
- package/app/assets/qXWuX5B-.js +0 -1
- package/app/assets/useqs8Jk.js +0 -1
- package/app/assets/y4cmNs6-.js +0 -1
- package/app/assets/y664aOTm.js +0 -1
- package/app/assets/zspOy9D_.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{p as t}from"./CYz610vE.js";import{t as n}from"./CiL8zoYm.js";import{i as r,r as i}from"./Cu_sGzNJ.js";import{a,i as o,n as s,o as c,t as l}from"./DzRyVlxz.js";import{a as u,i as d,n as f,r as p,t as m}from"./D4l4mWtD.js";import{t as h}from"./S7HbowYz.js";import{n as g,t as _}from"./D8_hwGjG.js";import{a as v}from"./BHe42P9W.js";import{r as y}from"./BRZhVXRC.js";import{a as b,m as x}from"./BvEGx3Si.js";import{A as S,C,J as ee,M as w,O as T,S as E,T as D,b as O,c as k,cn as A,gt as j,ht as M,j as te,k as ne,l as N,mt as P,tt as F,w as I,x as L}from"./B8zpsP_u.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=P().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)(j,{className:`flex-1`,children:(0,U.jsxs)(O,{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)(N,{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)(N,{className:K,value:e.length,onChange:t=>o(e.id,`length`,t.target.value)})}),(0,U.jsx)(E,{children:(0,U.jsx)(N,{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)(N,{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)(k,{htmlFor:`idx-name`,children:_(`table.index.name`)}),(0,U.jsx)(N,{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)(k,{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)(k,{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)(j,{className:`flex-1`,children:(0,U.jsxs)(O,{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)(k,{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)(k,{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)(k,{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)(k,{htmlFor:`prop-auto-incr`,children:n(`table.properties.autoIncrement`)}),(0,U.jsx)(N,{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)(k,{htmlFor:`prop-comment`,children:n(`table.properties.comment`)}),(0,U.jsx)(N,{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=F(e=>e.themeId),s=M(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)(A,{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,O]=(0,R.useState)([z()]),[A,j]=(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=M(Y);(0,R.useEffect)(()=>{d&&(K(null),J(null),f||p?(E(p?`${m}_copy`:m),oe()):(E(``),O([z()]),j([]),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}});O(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]})),j(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:A}});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
|
+
`),a=t.destructive}else{let e=p?A.map(e=>({...e,name:ee(e.name,m,T.trim())})):A;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)(k,{htmlFor:`table-name`,children:e(`table.dialog.tableName`)}),(0,U.jsx)(N,{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:O})}),(0,U.jsx)(S,{value:`indexes`,className:`flex-1 min-h-0 overflow-auto border rounded-md`,children:(0,U.jsx)(ie,{indexes:A,availableColumns:D,onChange:j})}),(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:A,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{
|
|
1
|
+
import{r as e}from"./Cu_sGzNJ.js";import{H as t}from"./B8zpsP_u.js";var n=e();function r({id:e,checked:r,onChange:i,label:a,hint:o,pro:s}){return(0,n.jsxs)(`label`,{htmlFor:e,className:`flex cursor-pointer items-start gap-3 rounded-md border p-3 hover:bg-accent/40`,children:[(0,n.jsx)(`input`,{id:e,type:`checkbox`,checked:r,onChange:e=>i(e.target.checked),className:`mt-0.5 size-4 accent-primary`}),(0,n.jsxs)(`span`,{className:`grid flex-1 gap-0.5`,children:[(0,n.jsxs)(`span`,{className:`flex items-center text-sm font-medium`,children:[a,s?(0,n.jsx)(t,{}):null]}),(0,n.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:o})]})]})}export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{p as t}from"./CYz610vE.js";import{i as n,r}from"./Cu_sGzNJ.js";import{F as i}from"./S7HbowYz.js";import{t as a}from"./Br4335vw.js";import{c as o}from"./Udlj1Cgf.js";import{t as s}from"./CP2U-viH.js";import{t as c}from"./_zaonxnw.js";import{n as l}from"./C5Yv1gpQ.js";var u=e(t(),1),d=r(),f=0;function p({connectionId:e,tabId:t,input:r}){let{t:p}=n(),m=a(e,t,``),[h,g]=(0,u.useState)(r||``),[_,v]=(0,u.useState)(``),[y,b]=(0,u.useState)(``),[x,S]=(0,u.useState)(``),[C,w]=(0,u.useState)(null),[T,E]=(0,u.useState)(null),D=l(e,e=>e.type===`message`?{id:++f,time:e.time,channel:e.channel,pattern:e.pattern,message:e.message}:null),O=async()=>{let{channels:e,patterns:t}=o(h);e.length+t.length!==0&&(await D.start({kind:`subscribe`,channels:e,patterns:t}),v(h))},k=async()=>{if(y.trim())try{w(null);let e=await m.write(`PUBLISH ${i(y.trim())} ${i(x)}`);E(Number(e))}catch(e){e instanceof Error&&e.name===`ExecutionCancelled`||w(c(e))}},A=D.error??C;return(0,d.jsx)(s,{title:p(`tools.redis.pubsub`),onRefresh:async()=>{},error:A,onDismissError:()=>{D.dismissError(),w(null)},children:(0,d.jsxs)(`div`,{className:`flex h-full flex-col text-xs`,children:[(0,d.jsxs)(`div`,{className:`flex flex-shrink-0 flex-wrap items-center gap-2 border-b px-3 py-2`,children:[(0,d.jsx)(`input`,{className:`h-7 w-96 rounded border bg-background px-2 font-mono`,placeholder:p(`tools.redis.subscribePlaceholder`),value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&O()}}),D.running?(0,d.jsx)(`button`,{type:`button`,onClick:D.stop,className:`h-7 rounded border bg-background px-2 text-muted-foreground hover:text-foreground`,children:p(`tools.redis.unsubscribe`)}):(0,d.jsx)(`button`,{type:`button`,disabled:!h.trim(),onClick:()=>void O(),className:`h-7 rounded border border-primary/30 bg-primary/10 px-2 text-primary hover:bg-primary/20 disabled:opacity-40`,children:p(`tools.redis.subscribe`)}),D.running&&(0,d.jsxs)(`span`,{className:`flex items-center gap-1.5 text-muted-foreground`,children:[(0,d.jsx)(`span`,{className:`size-2 animate-pulse rounded-full bg-green-500`}),p(`tools.redis.listening`,{targets:_})]}),(0,d.jsx)(`div`,{className:`flex-1`}),(0,d.jsx)(`button`,{type:`button`,onClick:D.clear,className:`h-7 rounded border bg-background px-2 text-muted-foreground hover:text-foreground`,children:p(`tools.clear`)})]}),!m.readOnly&&(0,d.jsxs)(`div`,{className:`flex flex-shrink-0 flex-wrap items-center gap-2 border-b px-3 py-2`,children:[(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:p(`tools.redis.publish`)}),(0,d.jsx)(`input`,{className:`h-7 w-48 rounded border bg-background px-2 font-mono`,placeholder:p(`tools.redis.channel`),value:y,onChange:e=>b(e.target.value)}),(0,d.jsx)(`input`,{className:`h-7 min-w-64 flex-1 rounded border bg-background px-2 font-mono`,placeholder:p(`tools.redis.message`),value:x,onChange:e=>S(e.target.value),onKeyDown:e=>{e.key===`Enter`&&k()}}),(0,d.jsx)(`button`,{type:`button`,disabled:!y.trim(),onClick:()=>void k(),className:`h-7 rounded border bg-background px-2 text-muted-foreground hover:text-foreground disabled:opacity-40`,children:p(`tools.redis.send`)}),T!==null&&(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:p(`tools.redis.receivers`,{count:T})})]}),(0,d.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:D.rows.length===0?(0,d.jsx)(`p`,{className:`p-6 text-center text-muted-foreground`,children:D.running?p(`tools.redis.waitingMessages`):p(`tools.redis.pubsubIntro`)}):(0,d.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,d.jsx)(`thead`,{className:`sticky top-0 bg-muted text-left text-muted-foreground`,children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{className:`w-28 px-3 py-1.5`,children:p(`tools.redis.time`)}),(0,d.jsx)(`th`,{className:`w-48 px-3 py-1.5`,children:p(`tools.redis.channel`)}),(0,d.jsx)(`th`,{className:`px-3 py-1.5`,children:p(`tools.redis.message`)})]})}),(0,d.jsx)(`tbody`,{children:D.rows.map(e=>(0,d.jsxs)(`tr`,{className:`border-b border-border/50 align-top hover:bg-muted/40`,children:[(0,d.jsx)(`td`,{className:`whitespace-nowrap px-3 py-1 tabular-nums text-muted-foreground`,children:new Date(e.time).toLocaleTimeString()}),(0,d.jsxs)(`td`,{className:`px-3 py-1 font-mono`,children:[e.channel,e.pattern&&(0,d.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`(`,e.pattern,`)`]})]}),(0,d.jsx)(`td`,{className:`whitespace-pre-wrap break-all px-3 py-1 font-mono`,children:e.message})]},e.id))})]})}),D.rows.length>=2e3&&(0,d.jsx)(`p`,{className:`flex-shrink-0 border-t px-3 py-1 text-muted-foreground`,children:p(`tools.redis.feedLimit`,{count:2e3})})]})})}export{p as PubSub};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{F as e}from"./S7HbowYz.js";var t=e,n=1048576,r={type:e=>`TYPE ${t(e)}`,ttl:e=>`TTL ${t(e)}`,memory:e=>`MEMORY USAGE ${t(e)}`,encoding:e=>`OBJECT ENCODING ${t(e)}`,length(e,n){switch(n){case`string`:return`STRLEN ${t(e)}`;case`hash`:return`HLEN ${t(e)}`;case`list`:return`LLEN ${t(e)}`;case`set`:return`SCARD ${t(e)}`;case`zset`:return`ZCARD ${t(e)}`;case`stream`:return`XLEN ${t(e)}`;default:return null}},getString:(e,n)=>n===void 0?`GET ${t(e)}`:`GETRANGE ${t(e)} 0 ${n-1}`,getJson:e=>`JSON.GET ${t(e)}`,scan(e,n,r,i){return`${n===`hash`?`HSCAN`:n===`set`?`SSCAN`:`ZSCAN`} ${t(e)} ${r}${i?` MATCH ${t(i)}`:``} COUNT 200`},listRange:(e,n)=>`LRANGE ${t(e)} ${n} ${n+200-1}`,streamRange:(e,n)=>`XREVRANGE ${t(e)} ${n?t(`(${n}`):`+`} - COUNT 200`,setString:(e,n)=>`SET ${t(e)} ${t(n)} KEEPTTL`,setStringWithTtl:(e,n,r)=>`SET ${t(e)} ${t(n)}${r&&r>0?` EX ${r}`:``}`,setJson:(e,n)=>`JSON.SET ${t(e)} $ ${t(n)}`,hashSet:(e,n,r)=>`HSET ${t(e)} ${t(n)} ${t(r)}`,hashDelete:(e,n)=>`HDEL ${t(e)} ${t(n)}`,listSet:(e,n,r)=>`LSET ${t(e)} ${n} ${t(r)}`,listPush:(e,n,r)=>`${r?`LPUSH`:`RPUSH`} ${t(e)} ${t(n)}`,listRemoveOne:(e,n)=>`LREM ${t(e)} 1 ${t(n)}`,setAdd:(e,n)=>`SADD ${t(e)} ${t(n)}`,setRemove:(e,n)=>`SREM ${t(e)} ${t(n)}`,zsetAdd:(e,n,r)=>`ZADD ${t(e)} ${t(r)} ${t(n)}`,zsetRemove:(e,n)=>`ZREM ${t(e)} ${t(n)}`,streamAdd:(e,n)=>`XADD ${t(e)} * ${n.map(([e,n])=>`${t(e)} ${t(n)}`).join(` `)}`,streamDelete:(e,n)=>`XDEL ${t(e)} ${t(n)}`,expire:(e,n)=>`EXPIRE ${t(e)} ${n}`,persist:e=>`PERSIST ${t(e)}`,renameIfFree:(e,n)=>`RENAMENX ${t(e)} ${t(n)}`,remove:e=>`UNLINK ${t(e)}`};function i(e){if(e==null||typeof e==`object`)return null;let t=Number(e);return Number.isFinite(t)?t:null}function a(e){let t=i(e);return t===-2?`gone`:t===null||t<0?null:t}function o(e){if(!Array.isArray(e)||e.length!==2||!Array.isArray(e[1]))throw Error(`Unexpected scan reply`);return{cursor:String(e[0]),values:e[1]}}var s=e=>e==null?``:String(e);function c(e){let{cursor:t,values:n}=o(e),r=[];for(let e=0;e+1<n.length;e+=2)r.push({field:s(n[e]),value:s(n[e+1])});return{cursor:t,items:r}}function l(e){let{cursor:t,values:n}=o(e);return{cursor:t,items:n.map(s)}}function u(e){let{cursor:t,values:n}=o(e),r=[];for(let e=0;e+1<n.length;e+=2)r.push({member:s(n[e]),score:s(n[e+1])});return{cursor:t,items:r}}function d(e){return Array.isArray(e)?e.map(s):[]}function f(e){return Array.isArray(e)?e.flatMap(e=>{if(!Array.isArray(e)||e.length!==2||!Array.isArray(e[1]))return[];let t=e[1],n=[];for(let e=0;e+1<t.length;e+=2)n.push([s(t[e]),s(t[e+1])]);return[{id:s(e[0]),fields:n}]}):[]}function p(e){let t=e.trim();if(!t||!`{["`.includes(t[0]))return null;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return null}}function m(){return`__planche_removed__${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function h(e){return e===null?`—`:e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function g(e){let t=[[`d`,86400],[`h`,3600],[`m`,60],[`s`,1]],n=[],r=e;for(let[e,i]of t)if(r>=i&&(n.push(`${Math.floor(r/i)}${e}`),r%=i),n.length===2)break;return n.length?n.join(` `):`0s`}function _(e){let t=e.trim();return t?/[*?[]/.test(t)?t:`*${t}*`:``}function v(e){return e.split(`
|
|
2
|
+
`).map(e=>e.trim()).filter(Boolean).map(e=>{let t=e.search(/\s/);return t===-1?[e,``]:[e.slice(0,t),e.slice(t).trim()]})}export{r as a,c,f as d,a as f,i as h,g as i,d as l,p as m,_ as n,m as o,u as p,h as r,v as s,n as t,l as u};
|