planche 0.9.2 → 0.9.4
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/{B4S-lOKS.js → 2HDxyxt3.js} +1 -1
- package/app/assets/{W7D4Svcn.js → 2WcjYcT6.js} +1 -1
- package/app/assets/{G06qjCej.js → 34iJa-68.js} +1 -1
- package/app/assets/{CFUkTo-F.js → 62772Vyq.js} +1 -1
- package/app/assets/{XCH_yrJ8.js → 7hKKrols.js} +1 -1
- package/app/assets/92hmrkfN.css +2 -0
- package/app/assets/{CTnwm-29.js → AR0v7sKO.js} +1 -1
- package/app/assets/B5FoXN4H.js +1 -0
- package/app/assets/{DCHRj2vY.js → BB2_KYgp.js} +1 -1
- package/app/assets/{Bbx7_Uyd.js → BHsv1P4D.js} +1 -1
- package/app/assets/{D3lUezEb.js → BI5Ig187.js} +1 -1
- package/app/assets/{ByKF67UY.js → BRKvj3qd.js} +1 -1
- package/app/assets/{CFu5QMhX.js → BTpuv2bS.js} +1 -1
- package/app/assets/{BkXrfAoR.js → BVZGLNq_.js} +1 -1
- package/app/assets/{Djxg54qH.js → BWPrOT1U.js} +1 -1
- package/app/assets/{84VwJAQi.js → BaTnCkNR.js} +1 -1
- package/app/assets/{7jG9Xw-H.js → BdhjYiGI.js} +1 -1
- package/app/assets/{D8_hwGjG.js → BihjBM79.js} +1 -1
- package/app/assets/{BrVnzO7b.js → Bjx1jzlk.js} +1 -1
- package/app/assets/{7jD5h8Yx.js → BkujllIu.js} +1 -1
- package/app/assets/{BPPUDpI0.js → BtBUwOf0.js} +1 -1
- package/app/assets/{B9dhM8vw.js → Buf-_p3w.js} +1 -1
- package/app/assets/{CrlnxAGW.js → BvkNY7SP.js} +1 -1
- package/app/assets/{BGvsBpIS.js → C-8Bh-gu.js} +1 -1
- package/app/assets/{BMFLhX-x.js → C1JbR1mO.js} +1 -1
- package/app/assets/{DPyLA6Dl.js → C3AWL5gC.js} +1 -1
- package/app/assets/{BQ1Rcyw6.js → C3aiaYZP.js} +1 -1
- package/app/assets/{Cu_sGzNJ.js → C76CctEl.js} +1 -1
- package/app/assets/{DHZOxCSJ.js → C82F2LSh.js} +1 -1
- package/app/assets/{CoZCOAph.js → CCJEQIo6.js} +1 -1
- package/app/assets/{DzdX4vRD.js → CDfygETm.js} +1 -1
- package/app/assets/{BixvbqFe.js → CGpFMM6B.js} +1 -1
- package/app/assets/{BRZhVXRC.js → CH4cEkW4.js} +1 -1
- package/app/assets/{D9QeXBOk.js → CKUISE0C.js} +1 -1
- package/app/assets/{BNB62Dfu.js → CN1CF2CU.js} +1 -1
- package/app/assets/{D0Ya12SQ.js → CRYDH2ct.js} +1 -1
- package/app/assets/{BnJGrP6V.js → CZRhmV_L.js} +2 -2
- package/app/assets/{C1gqjEN3.js → C_qmv4pB.js} +1 -1
- package/app/assets/{CgQ0qqq4.js → CcaDuuFY.js} +1 -1
- package/app/assets/{D1kyupCL.js → Cm-pfCIP.js} +1 -1
- package/app/assets/{BDtsGuIR.js → Cme0nCT7.js} +2 -2
- package/app/assets/{BhX9zWzC.js → CoUCmmSB.js} +1 -1
- package/app/assets/{B7zF7RU4.js → CtsakJNi.js} +1 -1
- package/app/assets/{DNHPk-9r.js → Cw4TnfXm.js} +1 -1
- package/app/assets/{BYvM8E39.js → CxaujQob.js} +1 -1
- package/app/assets/{CYz610vE.js → CyX8oVsa.js} +1 -1
- package/app/assets/{CRnmOOqq.js → D-DAzfgs.js} +1 -1
- package/app/assets/{BPmMKRmE.js → D3VPMNTU.js} +1 -1
- package/app/assets/{CExE8dKz.js → D4DxtYTA.js} +185 -184
- package/app/assets/{C6712dxU.js → D4c1cZWk.js} +1 -1
- package/app/assets/{C1kpKIsO.js → DG0u2CPf.js} +1 -1
- package/app/assets/{CHx7zgT8.js → DKObYbZY.js} +1 -1
- package/app/assets/{DU-Eln5x.js → DOy06rIE.js} +1 -1
- package/app/assets/{aIFwnVFr.js → DPKD37gk.js} +1 -1
- package/app/assets/{DpEN2jyA.js → DT8Xdk78.js} +1 -1
- package/app/assets/{Do7KpDxk.js → DXExbVos.js} +1 -1
- package/app/assets/{BSziALTN.js → DXQPcWS6.js} +1 -1
- package/app/assets/{kXDKfUfE.js → DjsycSVl.js} +1 -1
- package/app/assets/{CiL8zoYm.js → Dya0zxo6.js} +1 -1
- package/app/assets/{DTkqO0Em.js → IqMoIce-.js} +1 -1
- package/app/assets/{CrhJJH3f.js → MeOkctzz.js} +1 -1
- package/app/assets/{DF7EZh_S.js → NL8WOYEo.js} +1 -1
- package/app/assets/{D8dVzi6I.js → Ngd1VEiY.js} +1 -1
- package/app/assets/UEkRIZwQ.js +1 -0
- package/app/assets/{BGuDcBB_.js → UJzcIbfW.js} +1 -1
- package/app/assets/{C77ZEZfM.js → W81Xd8P5.js} +1 -1
- package/app/assets/{DaBfnZOJ.js → Yn5aIyLX.js} +1 -1
- package/app/assets/{BMBWoD5w.js → _N3A-NTc.js} +1 -1
- package/app/assets/{qRIRkBN0.js → gvCOWBS0.js} +1 -1
- package/app/assets/{S7HbowYz.js → iz6RnRcO.js} +71 -71
- package/app/assets/{DzRyVlxz.js → kTwcxyaO.js} +1 -1
- package/app/assets/{tJkeLYCp.js → oXAkF219.js} +1 -1
- package/app/assets/{BTaXXwBP.js → pDR31rvF.js} +1 -1
- package/app/assets/{BEH9Jqkv.js → u9a-WHjb.js} +1 -1
- package/app/assets/{BbOETtQZ.js → yLCKuLgs.js} +1 -1
- package/app/assets/{CaU3pCK6.js → yfRSh-O-.js} +1 -1
- package/app/assets/{BjwrN_ch.js → zdvaVsTo.js} +1 -1
- package/app/index.html +20 -20
- package/package.json +1 -1
- package/app/assets/9gOj-Ty3.js +0 -1
- package/app/assets/BFw3KCAr.js +0 -1
- package/app/assets/w46wk7KI.css +0 -2
|
@@ -1,2 +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"./G06qjCej.js";import{t as h}from"./S7HbowYz.js";import{n as g,t as _}from"./D8_hwGjG.js";import{a as v}from"./BkXrfAoR.js";import{r as y}from"./BRZhVXRC.js";import{a as b,m as x}from"./BnJGrP6V.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"./CExE8dKz.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"./CyX8oVsa.js";import{t as n}from"./Dya0zxo6.js";import{i as r,r as i}from"./C76CctEl.js";import{a,i as o,n as s,o as c,t as l}from"./kTwcxyaO.js";import{a as u,i as d,n as f,r as p,t as m}from"./34iJa-68.js";import{t as h}from"./iz6RnRcO.js";import{n as g,t as _}from"./BihjBM79.js";import{a as v}from"./BVZGLNq_.js";import{r as y}from"./CH4cEkW4.js";import{a as b,m as x}from"./CZRhmV_L.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"./D4DxtYTA.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"./
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{p as t}from"./CyX8oVsa.js";import{i as n,r}from"./C76CctEl.js";import{F as i}from"./iz6RnRcO.js";import{t as a}from"./BaTnCkNR.js";import{c as o}from"./Udlj1Cgf.js";import{t as s}from"./C3aiaYZP.js";import{t as c}from"./_zaonxnw.js";import{n as l}from"./CGpFMM6B.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./hePW80VL.js";import{p as t}from"./CYz610vE.js";import{a as n,d as r,i,s as a,u as o}from"./CiL8zoYm.js";import{r as s}from"./Cu_sGzNJ.js";import{r as c,t as l}from"./BGuDcBB_.js";import{C as u,D as d,E as f,O as p,S as m,T as h,_ as g,b as _,g as v,v as y,w as b,x,y as S}from"./DzRyVlxz.js";import{n as C,t as w}from"./D8dVzi6I.js";import{t as T}from"./BFw3KCAr.js";import{Jt as E,Yt as D,cn as O,ln as k,on as A,sn as j}from"./CExE8dKz.js";var M=e(r(),1),N=e(t(),1),P=Object.defineProperty,ee=(e,t)=>P(e,`name`,{value:t,configurable:!0});function F(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}ee(F,`usePrevious`);var I=s(),L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0}),z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],B=[` `,`Enter`],V=`Select`,[H,U,W]=l(V),[G,te]=p(V,[W,k]),K=k(),[ne,q]=G(V),[re,ie]=G(V);function J(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:d,autoComplete:f,disabled:p,required:m,form:g,internal_do_not_use_render:_}=e,v=K(t),[y,b]=N.useState(null),[x,S]=N.useState(null),[w,T]=N.useState(!1),E=C(l),[D,k]=h({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[A,j]=h({prop:o,defaultProp:s,onChange:c,caller:V}),M=N.useRef(null),P=N.useRef(A);N.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=R(()=>j(P.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,j]);let ee=!y||!!g||!!y.closest(`form`),[F,L]=N.useState(new Set),z=u(),B=Array.from(F).map(e=>e.props.value).join(`;`),U=N.useCallback(e=>{L(t=>new Set(t).add(e))},[]),W=N.useCallback(e=>{L(t=>{let n=new Set(t);return n.delete(e),n})},[]),G={required:m,trigger:y,onTriggerChange:b,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:z,value:A,onValueChange:j,open:D,onOpenChange:k,dir:E,triggerPointerDownPosRef:M,disabled:p,name:d,autoComplete:f,form:g,nativeOptions:F,nativeSelectKey:B,isFormControl:ee};return(0,I.jsx)(O,{...v,children:(0,I.jsx)(ne,{scope:t,...G,children:(0,I.jsx)(H.Provider,{scope:t,children:(0,I.jsx)(re,{scope:t,onNativeOptionAdd:U,onNativeOptionRemove:W,children:Ve(_)?_(G):n})})})})}R(J,`SelectProvider`);var ae=R(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,I.jsx)(J,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[n,e?(0,I.jsx)(Be,{__scopeSelect:t}):null]})})},`Select`),oe=`SelectTrigger`,se=N.forwardRef(R(function(e,t){let{__scopeSelect:r,disabled:i=!1,...a}=e,s=K(r),c=q(oe,r),l=c.disabled||i,u=o(t,c.onTriggerChange),f=U(r),p=N.useRef(`touch`),[m,h,g]=He(e=>{let t=f().filter(e=>!e.disabled),n=Ue(t,e,t.find(e=>e.value===c.value));n!==void 0&&c.onValueChange(n.value)}),_=R(e=>{l||(c.onOpenChange(!0),g()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,I.jsx)(A,{asChild:!0,...s,children:(0,I.jsx)(n.button,{type:`button`,role:`combobox`,"aria-controls":c.open?c.contentId:void 0,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":`none`,dir:c.dir,"data-state":c.open?`open`:`closed`,disabled:l,"data-disabled":l?``:void 0,"data-placeholder":$(c.value)?``:void 0,...a,ref:u,onClick:d(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:d(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:d(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&z.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),ce=`SelectValue`,le=N.forwardRef(R(function(e,t){let{__scopeSelect:r,className:i,style:a,children:s,placeholder:c=``,...l}=e,u=q(ce,r),{onValueNodeHasChildrenChange:d}=u,p=s!==void 0,m=o(t,u.onValueNodeChange);f(()=>{d(p)},[d,p]);let h=$(u.value);return(0,I.jsx)(n.span,{...l,asChild:!h&&l.asChild,ref:m,style:{pointerEvents:`none`},children:(0,I.jsx)(N.Fragment,{children:h?c:s},h?`placeholder`:`value`)})},`SelectValue`)),ue=N.forwardRef(R(function(e,t){let{__scopeSelect:r,children:i,...a}=e;return(0,I.jsx)(n.span,{"aria-hidden":!0,...a,ref:t,children:i||`▼`})},`SelectIcon`)),[de,fe]=G(`SelectPortal`,{forceMount:void 0}),pe=R(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,I.jsx)(de,{scope:e.__scopeSelect,forceMount:n,children:(0,I.jsx)(S,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,me=N.forwardRef(R(function(e,t){let n=fe(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=q(Y,e.__scopeSelect),[o,s]=N.useState();return f(()=>{s(new DocumentFragment)},[]),(0,I.jsx)(b,{present:r||a.open,children:({present:e})=>e?(0,I.jsx)(ve,{...i,ref:t}):(0,I.jsx)(he,{...i,fragment:o})})},`SelectContent`)),he=N.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?M.createPortal((0,I.jsx)(ge,{scope:n,children:(0,I.jsx)(H.Slot,{scope:n,children:(0,I.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[ge,Z]=G(Y),_e=a(`SelectContent.RemoveScroll`),ve=N.forwardRef(R(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:s,side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:b,hideWhenDetached:S,avoidCollisions:C,...w}=e,T=q(Y,n),[E,D]=N.useState(null),[O,k]=N.useState(null),A=o(t,D),[j,M]=N.useState(null),[P,ee]=N.useState(null),F=U(n),[L,z]=N.useState(!1),B=N.useRef(!1);N.useEffect(()=>{if(E)return v(E)},[E]),y();let V=N.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[F,O]),H=N.useCallback(()=>V([j,E]),[V,j,E]);N.useEffect(()=>{L&&H()},[L,H]);let{onOpenChange:W,triggerPointerDownPosRef:G}=T;N.useEffect(()=>{if(E){let e={x:0,y:0},t=R(t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},`handlePointerMove`),n=R(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||W(!1),document.removeEventListener(`pointermove`,t),G.current=null},`handlePointerUp`);return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,W,G]),N.useEffect(()=>{let e=R(()=>W(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[W]);let[te,K]=He(e=>{let t=F().filter(e=>!e.disabled),n=Ue(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),ne=N.useCallback((e,t,n)=>{let r=!B.current&&!n;(T.value!==void 0&&T.value===t||r)&&(M(e),r&&(B.current=!0))},[T.value]),re=N.useCallback(()=>E?.focus(),[E]),ie=N.useCallback((e,t,n)=>{let r=!B.current&&!n;(T.value!==void 0&&T.value===t||r)&&ee(e)},[T.value]),J=r===`popper`?be:ye,ae=J===be?{side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:b,hideWhenDetached:S,avoidCollisions:C}:{};return(0,I.jsx)(ge,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:ne,selectedItem:j,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:H,selectedItemText:P,position:r,isPositioned:L,searchRef:te,children:(0,I.jsx)(g,{as:_e,allowPinchZoom:!0,children:(0,I.jsx)(_,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:d(i,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,I.jsx)(x,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,I.jsx)(J,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...ae,onPlaced:()=>z(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:d(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&K(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),ye=N.forwardRef(R(function(e,t){let{__scopeSelect:r,onPlaced:i,...a}=e,s=q(Y,r),c=Z(Y,r),[l,u]=N.useState(null),[d,p]=N.useState(null),m=o(t,p),h=U(r),g=N.useRef(!1),_=N.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=c,S=N.useCallback(()=>{if(s.trigger&&s.valueNode&&l&&d&&v&&y&&b){let e=s.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if(s.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-X,d=w(a,[X,Math.max(X,u-c)]);l.style.minWidth=s+`px`,l.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-X,d=w(a,[X,Math.max(X,u-c)]);l.style.minWidth=s+`px`,l.style.right=d+`px`}let a=h(),o=window.innerHeight-X*2,c=v.scrollHeight,u=window.getComputedStyle(d),f=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),x=f+p+c+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),T=parseInt(C.paddingTop,10),E=parseInt(C.paddingBottom,10),D=e.top+e.height/2-X,O=o-D,k=y.offsetHeight/2,A=y.offsetTop+k,j=f+p+A,M=x-j;if(j<=D){let e=a.length>0&&y===a[a.length-1].ref.current;l.style.bottom=`0px`;let t=d.clientHeight-v.offsetTop-v.offsetHeight,n=j+Math.max(O,k+(e?E:0)+t+m);l.style.height=n+`px`}else{let e=a.length>0&&y===a[0].ref.current;l.style.top=`0px`;let t=Math.max(D,f+v.offsetTop+(e?T:0)+k)+M;l.style.height=t+`px`,v.scrollTop=j-D+v.offsetTop}l.style.margin=`${X}px 0`,l.style.minHeight=S+`px`,l.style.maxHeight=o+`px`,i?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,l,d,v,y,b,s.dir,i]);f(()=>S(),[S]);let[C,T]=N.useState();f(()=>{d&&T(window.getComputedStyle(d).zIndex)},[d]);let E=N.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,I.jsx)(xe,{scope:r,contentWrapper:l,shouldExpandOnScrollRef:g,onScrollButtonChange:E,children:(0,I.jsx)(`div`,{ref:u,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,I.jsx)(n.div,{...a,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})},`SelectItemAlignedPosition`)),be=N.forwardRef(R(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,I.jsx)(j,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[xe,Se]=G(Y,{}),Ce=`SelectViewport`,we=N.forwardRef(R(function(e,t){let{__scopeSelect:r,nonce:i,...a}=e,s=Z(Ce,r),c=Se(Ce,r),l=o(t,s.onViewportChange),u=N.useRef(0);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,I.jsx)(H.Slot,{scope:r,children:(0,I.jsx)(n.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:l,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:d(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=c;if(r?.current&&n){let e=Math.abs(u.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}u.current=t.scrollTop})})})]})},`SelectViewport`)),[Te,Ee]=G(`SelectGroup`),De=`SelectItem`,[Oe,ke]=G(De),Ae=N.forwardRef(R(function(e,t){let{__scopeSelect:r,value:i,disabled:a=!1,textValue:s,...c}=e,l=q(De,r),f=Z(De,r),p=l.value===i,[h,g]=N.useState(s??``),[_,v]=N.useState(!1),y=m(e=>f.itemRefCallback?.(e,i,a)),b=o(t,y),x=u(),S=N.useRef(`touch`),C=R(()=>{a||(l.onValueChange(i),l.onOpenChange(!1))},`handleSelect`);return(0,I.jsx)(Oe,{scope:r,value:i,disabled:a,textId:x,isSelected:p,onItemTextChange:N.useCallback(e=>{g(t=>t||(e?.textContent??``).trim())},[]),children:(0,I.jsx)(H.ItemSlot,{scope:r,value:i,disabled:a,textValue:h,children:(0,I.jsx)(n.div,{role:`option`,"aria-labelledby":x,"data-highlighted":_?``:void 0,"aria-selected":p&&_,"data-state":p?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...c,ref:b,onFocus:d(c.onFocus,()=>v(!0)),onBlur:d(c.onBlur,()=>v(!1)),onClick:d(c.onClick,()=>{S.current!==`mouse`&&C()}),onPointerUp:d(c.onPointerUp,()=>{S.current===`mouse`&&C()}),onPointerDown:d(c.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:d(c.onPointerMove,e=>{S.current=e.pointerType,a?f.onItemLeave?.():S.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:d(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&f.onItemLeave?.()}),onKeyDown:d(c.onKeyDown,e=>{a||e.target!==e.currentTarget||(f.searchRef?.current===``||e.key!==` `)&&(B.includes(e.key)&&C(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,je=N.forwardRef(R(function(e,t){let{__scopeSelect:r,className:i,style:a,...s}=e,c=q(Q,r),l=Z(Q,r),u=ke(Q,r),d=ie(Q,r),[p,h]=N.useState(null),g=m(e=>l.itemTextRefCallback?.(e,u.value,u.disabled)),_=o(t,h,u.onItemTextChange,g),v=p?.textContent,y=N.useMemo(()=>(0,I.jsx)(`option`,{value:u.value,disabled:u.disabled,children:v},u.value),[u.disabled,u.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=d;return f(()=>(b(y),()=>x(y)),[b,x,y]),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(n.span,{id:u.textId,...s,ref:_}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&!$(c.value)?M.createPortal(s.children,c.valueNode):null]})},`SelectItemText`)),Me=`SelectItemIndicator`,Ne=N.forwardRef(R(function(e,t){let{__scopeSelect:r,...i}=e;return ke(Me,r).isSelected?(0,I.jsx)(n.span,{"aria-hidden":!0,...i,ref:t}):null},`SelectItemIndicator`)),Pe=`SelectScrollUpButton`,Fe=N.forwardRef(R(function(e,t){let n=Z(Pe,e.__scopeSelect),r=Se(Pe,e.__scopeSelect),[i,a]=N.useState(!1),s=o(t,r.onScrollButtonChange);return f(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Re,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Ie=`SelectScrollDownButton`,Le=N.forwardRef(R(function(e,t){let n=Z(Ie,e.__scopeSelect),r=Se(Ie,e.__scopeSelect),[i,a]=N.useState(!1),s=o(t,r.onScrollButtonChange);return f(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Re,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Re=N.forwardRef(R(function(e,t){let{__scopeSelect:r,onAutoScroll:i,...a}=e,o=Z(`SelectScrollButton`,r),s=N.useRef(null),c=U(r),l=N.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return N.useEffect(()=>()=>l(),[l]),f(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,I.jsx)(n.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:d(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(i,50))}),onPointerMove:d(a.onPointerMove,()=>{o.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(i,50))}),onPointerLeave:d(a.onPointerLeave,()=>{l()})})},`SelectScrollButtonImpl`)),ze=`SelectBubbleInput`,Be=N.forwardRef(R(function({__scopeSelect:e,...t},r){let i=q(ze,e),{value:a,onValueChange:s,required:l,disabled:u,name:d,autoComplete:f,form:p}=i,{nativeOptions:m,nativeSelectKey:h}=i,g=N.useRef(null),_=o(r,g),v=a??``,y=F(v),b=Array.from(m).some(e=>(e.props.value??``)===``);return N.useEffect(()=>{let e=g.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==v&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,v),e.dispatchEvent(t)}},[y,v]),(0,I.jsxs)(n.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:d,autoComplete:f,disabled:u,form:p,onChange:e=>s(e.target.value),...t,style:{...c,...t.style},ref:_,defaultValue:v,children:[$(a)&&!b?(0,I.jsx)(`option`,{value:``}):null,Array.from(m)]},h)},`SelectBubbleInput`));function Ve(e){return typeof e==`function`}R(Ve,`isFunction`);function $(e){return e===``||e===void 0}R($,`shouldShowPlaceholder`);function He(e){let t=m(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),R((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}R(He,`useTypeaheadSearch`);function Ue(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=We(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}R(Ue,`findNextItem`);function We(e,t){return e.map((n,r)=>e[(t+r)%e.length])}R(We,`wrapArray`);function Ge({...e}){return(0,I.jsx)(ae,{"data-slot":`select`,...e})}function Ke({...e}){return(0,I.jsx)(le,{"data-slot":`select-value`,...e})}function qe({className:e,size:t=`default`,children:n,...r}){return(0,I.jsxs)(se,{"data-slot":`select-trigger`,"data-size":t,className:i(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,I.jsx)(ue,{asChild:!0,children:(0,I.jsx)(E,{className:`size-4 opacity-50`})})]})}function Je({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...a}){return(0,I.jsx)(pe,{children:(0,I.jsxs)(me,{"data-slot":`select-content`,className:i(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...a,children:[(0,I.jsx)(Xe,{}),(0,I.jsx)(we,{className:i(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,I.jsx)(Ze,{})]})})}function Ye({className:e,children:t,...n}){return(0,I.jsxs)(Ae,{"data-slot":`select-item`,className:i(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,I.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,I.jsx)(Ne,{children:(0,I.jsx)(D,{className:`size-4`})})}),(0,I.jsx)(je,{children:t})]})}function Xe({className:e,...t}){return(0,I.jsx)(Fe,{"data-slot":`select-scroll-up-button`,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,I.jsx)(T,{className:`size-4`})})}function Ze({className:e,...t}){return(0,I.jsx)(Le,{"data-slot":`select-scroll-down-button`,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,I.jsx)(E,{className:`size-4`})})}export{Ke as a,qe as i,Je as n,Ye as r,Ge as t};
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{p as t}from"./CyX8oVsa.js";import{a as n,d as r,i,s as a,u as o}from"./Dya0zxo6.js";import{r as s}from"./C76CctEl.js";import{r as c,t as l}from"./UJzcIbfW.js";import{C as u,D as d,E as f,O as p,S as m,T as h,_ as g,b as _,g as v,v as y,w as b,x,y as S}from"./kTwcxyaO.js";import{n as C,t as w}from"./Ngd1VEiY.js";import{t as T}from"./B5FoXN4H.js";import{Jt as E,Yt as D,cn as O,ln as k,on as A,sn as j}from"./D4DxtYTA.js";var M=e(r(),1),N=e(t(),1),P=Object.defineProperty,ee=(e,t)=>P(e,`name`,{value:t,configurable:!0});function F(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}ee(F,`usePrevious`);var I=s(),L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0}),z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],B=[` `,`Enter`],V=`Select`,[H,U,W]=l(V),[G,te]=p(V,[W,k]),K=k(),[ne,q]=G(V),[re,ie]=G(V);function J(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:d,autoComplete:f,disabled:p,required:m,form:g,internal_do_not_use_render:_}=e,v=K(t),[y,b]=N.useState(null),[x,S]=N.useState(null),[w,T]=N.useState(!1),E=C(l),[D,k]=h({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[A,j]=h({prop:o,defaultProp:s,onChange:c,caller:V}),M=N.useRef(null),P=N.useRef(A);N.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=R(()=>j(P.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,j]);let ee=!y||!!g||!!y.closest(`form`),[F,L]=N.useState(new Set),z=u(),B=Array.from(F).map(e=>e.props.value).join(`;`),U=N.useCallback(e=>{L(t=>new Set(t).add(e))},[]),W=N.useCallback(e=>{L(t=>{let n=new Set(t);return n.delete(e),n})},[]),G={required:m,trigger:y,onTriggerChange:b,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:z,value:A,onValueChange:j,open:D,onOpenChange:k,dir:E,triggerPointerDownPosRef:M,disabled:p,name:d,autoComplete:f,form:g,nativeOptions:F,nativeSelectKey:B,isFormControl:ee};return(0,I.jsx)(O,{...v,children:(0,I.jsx)(ne,{scope:t,...G,children:(0,I.jsx)(H.Provider,{scope:t,children:(0,I.jsx)(re,{scope:t,onNativeOptionAdd:U,onNativeOptionRemove:W,children:Ve(_)?_(G):n})})})})}R(J,`SelectProvider`);var ae=R(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,I.jsx)(J,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[n,e?(0,I.jsx)(Be,{__scopeSelect:t}):null]})})},`Select`),oe=`SelectTrigger`,se=N.forwardRef(R(function(e,t){let{__scopeSelect:r,disabled:i=!1,...a}=e,s=K(r),c=q(oe,r),l=c.disabled||i,u=o(t,c.onTriggerChange),f=U(r),p=N.useRef(`touch`),[m,h,g]=He(e=>{let t=f().filter(e=>!e.disabled),n=Ue(t,e,t.find(e=>e.value===c.value));n!==void 0&&c.onValueChange(n.value)}),_=R(e=>{l||(c.onOpenChange(!0),g()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,I.jsx)(A,{asChild:!0,...s,children:(0,I.jsx)(n.button,{type:`button`,role:`combobox`,"aria-controls":c.open?c.contentId:void 0,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":`none`,dir:c.dir,"data-state":c.open?`open`:`closed`,disabled:l,"data-disabled":l?``:void 0,"data-placeholder":$(c.value)?``:void 0,...a,ref:u,onClick:d(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:d(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:d(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&z.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),ce=`SelectValue`,le=N.forwardRef(R(function(e,t){let{__scopeSelect:r,className:i,style:a,children:s,placeholder:c=``,...l}=e,u=q(ce,r),{onValueNodeHasChildrenChange:d}=u,p=s!==void 0,m=o(t,u.onValueNodeChange);f(()=>{d(p)},[d,p]);let h=$(u.value);return(0,I.jsx)(n.span,{...l,asChild:!h&&l.asChild,ref:m,style:{pointerEvents:`none`},children:(0,I.jsx)(N.Fragment,{children:h?c:s},h?`placeholder`:`value`)})},`SelectValue`)),ue=N.forwardRef(R(function(e,t){let{__scopeSelect:r,children:i,...a}=e;return(0,I.jsx)(n.span,{"aria-hidden":!0,...a,ref:t,children:i||`▼`})},`SelectIcon`)),[de,fe]=G(`SelectPortal`,{forceMount:void 0}),pe=R(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,I.jsx)(de,{scope:e.__scopeSelect,forceMount:n,children:(0,I.jsx)(S,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,me=N.forwardRef(R(function(e,t){let n=fe(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=q(Y,e.__scopeSelect),[o,s]=N.useState();return f(()=>{s(new DocumentFragment)},[]),(0,I.jsx)(b,{present:r||a.open,children:({present:e})=>e?(0,I.jsx)(ve,{...i,ref:t}):(0,I.jsx)(he,{...i,fragment:o})})},`SelectContent`)),he=N.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?M.createPortal((0,I.jsx)(ge,{scope:n,children:(0,I.jsx)(H.Slot,{scope:n,children:(0,I.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[ge,Z]=G(Y),_e=a(`SelectContent.RemoveScroll`),ve=N.forwardRef(R(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:s,side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:b,hideWhenDetached:S,avoidCollisions:C,...w}=e,T=q(Y,n),[E,D]=N.useState(null),[O,k]=N.useState(null),A=o(t,D),[j,M]=N.useState(null),[P,ee]=N.useState(null),F=U(n),[L,z]=N.useState(!1),B=N.useRef(!1);N.useEffect(()=>{if(E)return v(E)},[E]),y();let V=N.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[F,O]),H=N.useCallback(()=>V([j,E]),[V,j,E]);N.useEffect(()=>{L&&H()},[L,H]);let{onOpenChange:W,triggerPointerDownPosRef:G}=T;N.useEffect(()=>{if(E){let e={x:0,y:0},t=R(t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},`handlePointerMove`),n=R(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||W(!1),document.removeEventListener(`pointermove`,t),G.current=null},`handlePointerUp`);return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,W,G]),N.useEffect(()=>{let e=R(()=>W(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[W]);let[te,K]=He(e=>{let t=F().filter(e=>!e.disabled),n=Ue(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),ne=N.useCallback((e,t,n)=>{let r=!B.current&&!n;(T.value!==void 0&&T.value===t||r)&&(M(e),r&&(B.current=!0))},[T.value]),re=N.useCallback(()=>E?.focus(),[E]),ie=N.useCallback((e,t,n)=>{let r=!B.current&&!n;(T.value!==void 0&&T.value===t||r)&&ee(e)},[T.value]),J=r===`popper`?be:ye,ae=J===be?{side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:b,hideWhenDetached:S,avoidCollisions:C}:{};return(0,I.jsx)(ge,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:ne,selectedItem:j,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:H,selectedItemText:P,position:r,isPositioned:L,searchRef:te,children:(0,I.jsx)(g,{as:_e,allowPinchZoom:!0,children:(0,I.jsx)(_,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:d(i,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,I.jsx)(x,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,I.jsx)(J,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...ae,onPlaced:()=>z(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:d(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&K(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),ye=N.forwardRef(R(function(e,t){let{__scopeSelect:r,onPlaced:i,...a}=e,s=q(Y,r),c=Z(Y,r),[l,u]=N.useState(null),[d,p]=N.useState(null),m=o(t,p),h=U(r),g=N.useRef(!1),_=N.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=c,S=N.useCallback(()=>{if(s.trigger&&s.valueNode&&l&&d&&v&&y&&b){let e=s.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if(s.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-X,d=w(a,[X,Math.max(X,u-c)]);l.style.minWidth=s+`px`,l.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-X,d=w(a,[X,Math.max(X,u-c)]);l.style.minWidth=s+`px`,l.style.right=d+`px`}let a=h(),o=window.innerHeight-X*2,c=v.scrollHeight,u=window.getComputedStyle(d),f=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),x=f+p+c+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),T=parseInt(C.paddingTop,10),E=parseInt(C.paddingBottom,10),D=e.top+e.height/2-X,O=o-D,k=y.offsetHeight/2,A=y.offsetTop+k,j=f+p+A,M=x-j;if(j<=D){let e=a.length>0&&y===a[a.length-1].ref.current;l.style.bottom=`0px`;let t=d.clientHeight-v.offsetTop-v.offsetHeight,n=j+Math.max(O,k+(e?E:0)+t+m);l.style.height=n+`px`}else{let e=a.length>0&&y===a[0].ref.current;l.style.top=`0px`;let t=Math.max(D,f+v.offsetTop+(e?T:0)+k)+M;l.style.height=t+`px`,v.scrollTop=j-D+v.offsetTop}l.style.margin=`${X}px 0`,l.style.minHeight=S+`px`,l.style.maxHeight=o+`px`,i?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,l,d,v,y,b,s.dir,i]);f(()=>S(),[S]);let[C,T]=N.useState();f(()=>{d&&T(window.getComputedStyle(d).zIndex)},[d]);let E=N.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,I.jsx)(xe,{scope:r,contentWrapper:l,shouldExpandOnScrollRef:g,onScrollButtonChange:E,children:(0,I.jsx)(`div`,{ref:u,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,I.jsx)(n.div,{...a,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})},`SelectItemAlignedPosition`)),be=N.forwardRef(R(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,I.jsx)(j,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[xe,Se]=G(Y,{}),Ce=`SelectViewport`,we=N.forwardRef(R(function(e,t){let{__scopeSelect:r,nonce:i,...a}=e,s=Z(Ce,r),c=Se(Ce,r),l=o(t,s.onViewportChange),u=N.useRef(0);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,I.jsx)(H.Slot,{scope:r,children:(0,I.jsx)(n.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:l,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:d(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=c;if(r?.current&&n){let e=Math.abs(u.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}u.current=t.scrollTop})})})]})},`SelectViewport`)),[Te,Ee]=G(`SelectGroup`),De=`SelectItem`,[Oe,ke]=G(De),Ae=N.forwardRef(R(function(e,t){let{__scopeSelect:r,value:i,disabled:a=!1,textValue:s,...c}=e,l=q(De,r),f=Z(De,r),p=l.value===i,[h,g]=N.useState(s??``),[_,v]=N.useState(!1),y=m(e=>f.itemRefCallback?.(e,i,a)),b=o(t,y),x=u(),S=N.useRef(`touch`),C=R(()=>{a||(l.onValueChange(i),l.onOpenChange(!1))},`handleSelect`);return(0,I.jsx)(Oe,{scope:r,value:i,disabled:a,textId:x,isSelected:p,onItemTextChange:N.useCallback(e=>{g(t=>t||(e?.textContent??``).trim())},[]),children:(0,I.jsx)(H.ItemSlot,{scope:r,value:i,disabled:a,textValue:h,children:(0,I.jsx)(n.div,{role:`option`,"aria-labelledby":x,"data-highlighted":_?``:void 0,"aria-selected":p&&_,"data-state":p?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...c,ref:b,onFocus:d(c.onFocus,()=>v(!0)),onBlur:d(c.onBlur,()=>v(!1)),onClick:d(c.onClick,()=>{S.current!==`mouse`&&C()}),onPointerUp:d(c.onPointerUp,()=>{S.current===`mouse`&&C()}),onPointerDown:d(c.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:d(c.onPointerMove,e=>{S.current=e.pointerType,a?f.onItemLeave?.():S.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:d(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&f.onItemLeave?.()}),onKeyDown:d(c.onKeyDown,e=>{a||e.target!==e.currentTarget||(f.searchRef?.current===``||e.key!==` `)&&(B.includes(e.key)&&C(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,je=N.forwardRef(R(function(e,t){let{__scopeSelect:r,className:i,style:a,...s}=e,c=q(Q,r),l=Z(Q,r),u=ke(Q,r),d=ie(Q,r),[p,h]=N.useState(null),g=m(e=>l.itemTextRefCallback?.(e,u.value,u.disabled)),_=o(t,h,u.onItemTextChange,g),v=p?.textContent,y=N.useMemo(()=>(0,I.jsx)(`option`,{value:u.value,disabled:u.disabled,children:v},u.value),[u.disabled,u.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=d;return f(()=>(b(y),()=>x(y)),[b,x,y]),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(n.span,{id:u.textId,...s,ref:_}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&!$(c.value)?M.createPortal(s.children,c.valueNode):null]})},`SelectItemText`)),Me=`SelectItemIndicator`,Ne=N.forwardRef(R(function(e,t){let{__scopeSelect:r,...i}=e;return ke(Me,r).isSelected?(0,I.jsx)(n.span,{"aria-hidden":!0,...i,ref:t}):null},`SelectItemIndicator`)),Pe=`SelectScrollUpButton`,Fe=N.forwardRef(R(function(e,t){let n=Z(Pe,e.__scopeSelect),r=Se(Pe,e.__scopeSelect),[i,a]=N.useState(!1),s=o(t,r.onScrollButtonChange);return f(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Re,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Ie=`SelectScrollDownButton`,Le=N.forwardRef(R(function(e,t){let n=Z(Ie,e.__scopeSelect),r=Se(Ie,e.__scopeSelect),[i,a]=N.useState(!1),s=o(t,r.onScrollButtonChange);return f(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Re,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Re=N.forwardRef(R(function(e,t){let{__scopeSelect:r,onAutoScroll:i,...a}=e,o=Z(`SelectScrollButton`,r),s=N.useRef(null),c=U(r),l=N.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return N.useEffect(()=>()=>l(),[l]),f(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,I.jsx)(n.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:d(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(i,50))}),onPointerMove:d(a.onPointerMove,()=>{o.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(i,50))}),onPointerLeave:d(a.onPointerLeave,()=>{l()})})},`SelectScrollButtonImpl`)),ze=`SelectBubbleInput`,Be=N.forwardRef(R(function({__scopeSelect:e,...t},r){let i=q(ze,e),{value:a,onValueChange:s,required:l,disabled:u,name:d,autoComplete:f,form:p}=i,{nativeOptions:m,nativeSelectKey:h}=i,g=N.useRef(null),_=o(r,g),v=a??``,y=F(v),b=Array.from(m).some(e=>(e.props.value??``)===``);return N.useEffect(()=>{let e=g.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==v&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,v),e.dispatchEvent(t)}},[y,v]),(0,I.jsxs)(n.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:d,autoComplete:f,disabled:u,form:p,onChange:e=>s(e.target.value),...t,style:{...c,...t.style},ref:_,defaultValue:v,children:[$(a)&&!b?(0,I.jsx)(`option`,{value:``}):null,Array.from(m)]},h)},`SelectBubbleInput`));function Ve(e){return typeof e==`function`}R(Ve,`isFunction`);function $(e){return e===``||e===void 0}R($,`shouldShowPlaceholder`);function He(e){let t=m(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),R((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}R(He,`useTypeaheadSearch`);function Ue(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=We(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}R(Ue,`findNextItem`);function We(e,t){return e.map((n,r)=>e[(t+r)%e.length])}R(We,`wrapArray`);function Ge({...e}){return(0,I.jsx)(ae,{"data-slot":`select`,...e})}function Ke({...e}){return(0,I.jsx)(le,{"data-slot":`select-value`,...e})}function qe({className:e,size:t=`default`,children:n,...r}){return(0,I.jsxs)(se,{"data-slot":`select-trigger`,"data-size":t,className:i(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,I.jsx)(ue,{asChild:!0,children:(0,I.jsx)(E,{className:`size-4 opacity-50`})})]})}function Je({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...a}){return(0,I.jsx)(pe,{children:(0,I.jsxs)(me,{"data-slot":`select-content`,className:i(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...a,children:[(0,I.jsx)(Xe,{}),(0,I.jsx)(we,{className:i(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,I.jsx)(Ze,{})]})})}function Ye({className:e,children:t,...n}){return(0,I.jsxs)(Ae,{"data-slot":`select-item`,className:i(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,I.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,I.jsx)(Ne,{children:(0,I.jsx)(D,{className:`size-4`})})}),(0,I.jsx)(je,{children:t})]})}function Xe({className:e,...t}){return(0,I.jsx)(Fe,{"data-slot":`select-scroll-up-button`,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,I.jsx)(T,{className:`size-4`})})}function Ze({className:e,...t}){return(0,I.jsx)(Le,{"data-slot":`select-scroll-down-button`,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,I.jsx)(E,{className:`size-4`})})}export{Ke as a,qe as i,Je as n,Ye as r,Ge as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./
|
|
1
|
+
import{t as e}from"./Dya0zxo6.js";import{i as t,r as n}from"./C76CctEl.js";import{a as r,i,n as a,o,t as s}from"./kTwcxyaO.js";import{t as c}from"./iz6RnRcO.js";import{n as l}from"./BihjBM79.js";import{l as u}from"./BVZGLNq_.js";var d=n(),f=[`FLUSH HOSTS`,`FLUSH LOGS`,`FLUSH PRIVILEGES`,`FLUSH STATUS`,`FLUSH TABLES`,`FLUSH THREADS`,`FLUSH QUERY CACHE`,`FLUSH DES_KEY_FILE`,`FLUSH RELAY LOGS`,`FLUSH SLOW LOGS`,`FLUSH BINARY LOGS`,`FLUSH ENGINE LOGS`,`FLUSH ERROR LOGS`,`FLUSH GENERAL LOGS`,`FLUSH USER_RESOURCES`,`FLUSH OPTIMIZER_COSTS`];function p(){let e=c.getState();return e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId??null}function m(){let{t:n}=t(),{activeDialog:c,closeDialog:m,setFooterMessage:h}=l(),g=c===`flush`;function _(e){e||m()}async function v(e){let t=p();if(!t){h(n(`command.noActiveConnection`));return}try{await u(t,e),h(n(`command.flush.executed`,{command:e}))}catch(t){h(n(`command.flush.executeError`,{command:e,message:t instanceof Error?t.message:String(t)}))}}return(0,d.jsx)(s,{open:g,onOpenChange:_,children:(0,d.jsxs)(a,{className:`sm:max-w-[500px]`,children:[(0,d.jsx)(r,{children:(0,d.jsx)(o,{children:n(`command.flush.title`)})}),(0,d.jsx)(`div`,{className:`grid grid-cols-2 gap-2 py-2`,children:f.map(t=>(0,d.jsx)(e,{variant:`outline`,size:`sm`,className:`justify-start text-xs h-8`,onClick:()=>{v(t)},children:t},t))}),(0,d.jsx)(i,{children:(0,d.jsx)(e,{variant:`outline`,onClick:()=>_(!1),children:n(`command.close`)})})]})})}export{m as FlushDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./
|
|
1
|
+
import{t as e}from"./CyX8oVsa.js";var t=(e,t)=>`${t}@${e}`,n=e()(e=>({users:{},selectedUser:{},isLoading:{},setUsers:(t,n)=>e(e=>({users:{...e.users,[t]:n}})),setSelectedUser:(t,n)=>e(e=>({selectedUser:{...e.selectedUser,[t]:n}})),addUser:(t,n)=>e(e=>({users:{...e.users,[t]:[...e.users[t]??[],n]}})),updateUser:(n,r,i,a)=>e(e=>({users:{...e.users,[n]:(e.users[n]??[]).map(e=>t(e.host,e.user)===t(r,i)?{...e,...a}:e)}})),removeUser:(n,r,i)=>e(e=>{let a=e.selectedUser[n],o=a&&t(a.host,a.user)===t(r,i);return{users:{...e.users,[n]:(e.users[n]??[]).filter(e=>t(e.host,e.user)!==t(r,i))},selectedUser:{...e.selectedUser,[n]:o?null:a??null}}}),setLoading:(t,n)=>e(e=>({isLoading:{...e.isLoading,[t]:n}})),clear:t=>e(e=>{let n={...e.users},r={...e.selectedUser};return delete n[t],delete r[t],{users:n,selectedUser:r}})})),r=[];export{n,r as t};
|