planche 0.9.2 → 0.9.3
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/92hmrkfN.css +2 -0
- package/app/assets/{G06qjCej.js → B3qo2BmL.js} +1 -1
- package/app/assets/{B4S-lOKS.js → B4e4BJ-q.js} +1 -1
- package/app/assets/{DF7EZh_S.js → B8kALM_o.js} +1 -1
- package/app/assets/BEY3Hwp0.js +1 -0
- package/app/assets/{D0Ya12SQ.js → BFUEHSdO.js} +1 -1
- package/app/assets/{Do7KpDxk.js → BFddfnRD.js} +1 -1
- package/app/assets/{C1kpKIsO.js → BFxd4DZC.js} +1 -1
- package/app/assets/{qRIRkBN0.js → BLF41w4B.js} +1 -1
- package/app/assets/{CrhJJH3f.js → BNB2k8On.js} +1 -1
- package/app/assets/{BjwrN_ch.js → BPLdNS4h.js} +1 -1
- package/app/assets/{CFu5QMhX.js → BTpuv2bS.js} +1 -1
- package/app/assets/{7jG9Xw-H.js → BXogLn0j.js} +1 -1
- package/app/assets/{CExE8dKz.js → B_zu4Zim.js} +184 -183
- package/app/assets/{tJkeLYCp.js → BanAYgsJ.js} +1 -1
- package/app/assets/{BkXrfAoR.js → BghfQrAj.js} +1 -1
- package/app/assets/{DaBfnZOJ.js → Bjupmf7v.js} +1 -1
- package/app/assets/{7jD5h8Yx.js → BkujllIu.js} +1 -1
- package/app/assets/{BixvbqFe.js → BmnRSOWE.js} +1 -1
- package/app/assets/{BhX9zWzC.js → Bsl10NAd.js} +1 -1
- package/app/assets/{BNB62Dfu.js → Bx57-46U.js} +1 -1
- package/app/assets/{DHZOxCSJ.js → C3skRSMN.js} +1 -1
- package/app/assets/{CrlnxAGW.js → C63wLpkg.js} +1 -1
- package/app/assets/{BDtsGuIR.js → C9jzAIEJ.js} +2 -2
- package/app/assets/{S7HbowYz.js → CAd2f6EE.js} +70 -70
- package/app/assets/{Djxg54qH.js → CCBiFHWk.js} +1 -1
- package/app/assets/{Bbx7_Uyd.js → CCHDqJU3.js} +1 -1
- package/app/assets/{CaU3pCK6.js → CHn2dkeR.js} +1 -1
- package/app/assets/{84VwJAQi.js → CMFMZu0I.js} +1 -1
- package/app/assets/{DzdX4vRD.js → CSE_C1ca.js} +1 -1
- package/app/assets/{B9dhM8vw.js → CSjIZAje.js} +1 -1
- package/app/assets/{CHx7zgT8.js → CYqQEBj7.js} +1 -1
- package/app/assets/{BRZhVXRC.js → Ci1xBOLy.js} +1 -1
- package/app/assets/{BTaXXwBP.js → ClHvsi-E.js} +1 -1
- package/app/assets/{CTnwm-29.js → CtvJotUV.js} +1 -1
- package/app/assets/{D3lUezEb.js → Cv7B7xE1.js} +1 -1
- package/app/assets/{DNHPk-9r.js → Cw4TnfXm.js} +1 -1
- package/app/assets/{C6712dxU.js → D2dO-cBr.js} +1 -1
- package/app/assets/{BMFLhX-x.js → D4aakMZ1.js} +1 -1
- package/app/assets/{C1gqjEN3.js → D6SRSRpo.js} +1 -1
- package/app/assets/{BSziALTN.js → DBwwgHNb.js} +1 -1
- package/app/assets/{W7D4Svcn.js → DMmbl7oU.js} +1 -1
- package/app/assets/{BMBWoD5w.js → DP7G83e7.js} +1 -1
- package/app/assets/{aIFwnVFr.js → DPKD37gk.js} +1 -1
- package/app/assets/{DTkqO0Em.js → DdGvqbC0.js} +1 -1
- package/app/assets/{kXDKfUfE.js → DjsycSVl.js} +1 -1
- package/app/assets/{D1kyupCL.js → Dl3kZgxg.js} +1 -1
- package/app/assets/{BEH9Jqkv.js → DmDLn1hv.js} +1 -1
- package/app/assets/{BnJGrP6V.js → DpPKm22O.js} +2 -2
- package/app/assets/{BrVnzO7b.js → DpcElnaI.js} +1 -1
- package/app/assets/{B7zF7RU4.js → DtUkSj2L.js} +1 -1
- package/app/assets/{ByKF67UY.js → DyPVTkGX.js} +1 -1
- package/app/assets/{BbOETtQZ.js → Ec3vNInq.js} +1 -1
- package/app/assets/{BQ1Rcyw6.js → TqO-pPrr.js} +1 -1
- package/app/assets/{DpEN2jyA.js → Uf0CXpNG.js} +1 -1
- package/app/assets/{BPmMKRmE.js → X0frSBI-.js} +1 -1
- package/app/assets/{DCHRj2vY.js → Xya13jwA.js} +1 -1
- package/app/assets/{CoZCOAph.js → _lYVFvcB.js} +1 -1
- package/app/assets/{CFUkTo-F.js → aBt7vbXN.js} +1 -1
- package/app/assets/{CRnmOOqq.js → baQnXYR8.js} +1 -1
- package/app/assets/{C77ZEZfM.js → cFpo8ItN.js} +1 -1
- package/app/assets/{DPyLA6Dl.js → mA16m5gB.js} +1 -1
- package/app/assets/{BGvsBpIS.js → mHq6YiMc.js} +1 -1
- package/app/assets/{D9QeXBOk.js → rSe5GrVH.js} +1 -1
- package/app/assets/{BPPUDpI0.js → uCGINy9d.js} +1 -1
- package/app/index.html +12 -12
- package/package.json +1 -1
- package/app/assets/9gOj-Ty3.js +0 -1
- package/app/assets/w46wk7KI.css +0 -2
|
@@ -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"./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"./B_zu4Zim.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,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"./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"./B3qo2BmL.js";import{t as h}from"./CAd2f6EE.js";import{n as g,t as _}from"./D8_hwGjG.js";import{a as v}from"./BghfQrAj.js";import{r as y}from"./Ci1xBOLy.js";import{a as b,m as x}from"./DpPKm22O.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"./B_zu4Zim.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,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,n as i,r as a}from"./Cu_sGzNJ.js";import{a as o,i as s,n as c,o as l,r as ee,t as u}from"./DzRyVlxz.js";import{t as d}from"./
|
|
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,n as i,r as a}from"./Cu_sGzNJ.js";import{a as o,i as s,n as c,o as l,r as ee,t as u}from"./DzRyVlxz.js";import{t as d}from"./CAd2f6EE.js";import{n as f}from"./DU-Eln5x.js";import{n as p,t as m}from"./D8_hwGjG.js";import{a as h}from"./BghfQrAj.js";import{a as g,f as _}from"./DpPKm22O.js";import{Bt as v,Gt as y,Kt as b,Rt as x,Xt as S,_t as C,f as w,h as T,m as E,p as D}from"./B_zu4Zim.js";var O=i(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]),k=e(t(),1);function A(e){let t=e.slice(e.indexOf(`(`)+1,e.lastIndexOf(`)`)),n=[],r=/'((?:[^']|'')*)'/g,i;for(;i=r.exec(t);)n.push(i[1].replaceAll(`''`,`'`));return n}function j(e,t={}){let{oracleDate:n=!1}=t,r=e.type.trim(),i=r.toLowerCase(),a=/\bunsigned\b/.test(i);if(/^enum\(/.test(i))return{kind:`enum`,options:A(r)};if(/^set\(/.test(i))return{kind:`set`,options:A(r)};if(/^(tinyint\(1\)|bool|boolean|bit\(1\)|bit)(?![\w(])/.test(i))return{kind:`boolean`};let o=/^number(?:\((\d+|\*)(?:,\s*(-?\d+))?\))?$/.exec(i);if(o)return o[2]&&Number(o[2])>0?{kind:`decimal`}:o[1]?{kind:`integer`}:{kind:`decimal`};if(/^(tinyint|smallint|mediumint|int|integer|bigint|int2|int4|int8|serial|bigserial|smallserial)\b/.test(i))return{kind:`integer`,unsigned:a};if(/^(decimal|numeric|float|double|real|money|float4|float8|double precision)\b/.test(i))return{kind:`decimal`,unsigned:a};if(/^(datetime2|datetime|timestamp|smalldatetime|datetimeoffset)\b/.test(i))return{kind:`datetime`};if(/^date\b/.test(i))return{kind:n?`datetime`:`date`};if(/^(time|timetz)\b/.test(i))return{kind:`time`};if(/^(json|jsonb)\b/.test(i))return{kind:`json`};if(/^(uuid|uniqueidentifier)\b/.test(i))return{kind:`uuid`};if(/^(blob|tinyblob|mediumblob|longblob|binary|varbinary|bytea|raw|image|bfile)\b/.test(i))return{kind:`binary`};if(/^(text|ntext|tinytext|mediumtext|longtext|clob|nclob|long)\b/.test(i)||/^n?(?:var)?char2?\(max\)/.test(i))return{kind:`text`};let s=/^n?(?:var)?char2?(?:acter)?(?:\s+varying)?\((\d+)(?:\s+(?:char|byte))?\)/.exec(i);return s?{kind:`string`,maxLength:Number(s[1])}:{kind:`string`}}var M=/auto_increment|identity|generated/i;function N(e){return M.test(e.extra)||/^(serial|bigserial|smallserial)\b/i.test(e.type)?{mode:`auto`,text:``}:e.defaultValue===null?e.nullable?{mode:`null`,text:``}:{mode:`value`,text:``}:{mode:`default`,text:``}}function P(e){return e==null?{mode:`keep`,text:``}:{mode:`keep`,text:F(e)}}function F(e){if(e==null)return``;if(typeof e==`object`){if(ArrayBuffer.isView(e))return``;if(e instanceof Date)return e.toISOString();try{return JSON.stringify(e,null,2)}catch{return String(e)}}return String(e)}function I(e,t){let n=t.trim();switch(e.kind){case`integer`:{if(!/^[+-]?\d+$/.test(n))return{error:`integer`};if(e.unsigned&&n.startsWith(`-`))return{error:`unsigned`};let t=Number(n);return{value:Number.isSafeInteger(t)?t:BigInt(n)}}case`decimal`:return n===``||Number.isNaN(Number(n))?{error:`number`}:{value:Number(n)};case`boolean`:return{value:n===`true`||n===`1`};case`json`:try{return{value:JSON.parse(n===``?`null`:n)}}catch{return{error:`json`}}case`set`:return{value:n};case`date`:return n&&!/^\d{4}-\d{2}-\d{2}$/.test(n)?{error:`date`}:{value:n};case`datetime`:return n&&!/^\d{4}-\d{2}-\d{2}([ T]\d{2}:\d{2}(:\d{2}(\.\d+)?)?)?([+-]\d{2}:?\d{2}|Z)?$/.test(n)?{error:`datetime`}:{value:n};case`time`:return n&&!/^-?\d{1,3}:\d{2}(:\d{2}(\.\d+)?)?$/.test(n)?{error:`time`}:{value:n};default:return{value:t}}}var L=a(),R={integer:`result.rowForm.invalid.integer`,unsigned:`result.rowForm.invalid.unsigned`,number:`result.rowForm.invalid.number`,json:`result.rowForm.invalid.json`,date:`result.rowForm.invalid.date`,datetime:`result.rowForm.invalid.datetime`,time:`result.rowForm.invalid.time`};function z(e){return String(e).padStart(2,`0`)}function B(e){let t=new Date,n=`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`,r=`${z(t.getHours())}:${z(t.getMinutes())}:${z(t.getSeconds())}`;return e===`date`?n:e===`time`?r:`${n} ${r}`}function V(e){let t=/^(\d{4})-(\d{2})-(\d{2})/.exec(e.trim());if(!t)return;let n=new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));return Number.isNaN(n.getTime())?void 0:n}function H({spec:e,state:t,disabled:n,onText:i}){let{t:a}=r(),o=`w-full rounded border bg-background px-2 py-1 text-sm font-mono outline-none focus:ring-1 focus:ring-primary disabled:opacity-50`;switch(e.kind){case`boolean`:return(0,L.jsxs)(`select`,{className:o,value:t.text===`true`||t.text===`1`?`true`:`false`,onChange:e=>i(e.target.value),disabled:n,children:[(0,L.jsx)(`option`,{value:`true`,children:`TRUE`}),(0,L.jsx)(`option`,{value:`false`,children:`FALSE`})]});case`enum`:return(0,L.jsxs)(`select`,{className:o,value:t.text,onChange:e=>i(e.target.value),disabled:n,children:[!e.options?.includes(t.text)&&(0,L.jsx)(`option`,{value:t.text,children:t.text||`—`}),e.options?.map(e=>(0,L.jsx)(`option`,{value:e,children:e},e))]});case`set`:{let r=new Set(t.text.split(`,`).map(e=>e.trim()).filter(Boolean));return(0,L.jsx)(`div`,{className:`flex flex-wrap gap-x-3 gap-y-1 rounded border bg-background px-2 py-1.5`,children:e.options?.map(t=>(0,L.jsxs)(`label`,{className:`flex items-center gap-1 text-xs font-mono`,children:[(0,L.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:r.has(t),disabled:n,onChange:n=>{let a=new Set(r);n.target.checked?a.add(t):a.delete(t),i(e.options.filter(e=>a.has(e)).join(`,`))}}),t]},t))})}case`integer`:case`decimal`:return(0,L.jsx)(`input`,{className:`${o} tabular-nums`,inputMode:`decimal`,value:t.text,onChange:e=>i(e.target.value),disabled:n,placeholder:e.kind===`integer`?`0`:`0.00`});case`date`:case`datetime`:{let[r,s]=t.text.trim().split(/[ T]/);return(0,L.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,L.jsx)(`input`,{className:`${o} flex-1`,value:t.text,onChange:e=>i(e.target.value),disabled:n,placeholder:e.kind===`date`?`YYYY-MM-DD`:`YYYY-MM-DD HH:MM:SS`}),(0,L.jsxs)(D,{children:[(0,L.jsx)(T,{asChild:!0,children:(0,L.jsx)(`button`,{type:`button`,className:`rounded border bg-background p-1.5 text-muted-foreground hover:text-foreground disabled:opacity-50`,disabled:n,title:a(`result.rowForm.pickDate`),children:(0,L.jsx)(S,{className:`size-3.5`})})}),(0,L.jsx)(E,{className:`w-auto p-0`,align:`end`,children:(0,L.jsx)(w,{mode:`single`,selected:V(r??``),defaultMonth:V(r??``),onSelect:t=>{if(!t)return;let n=`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`;i(e.kind===`date`?n:`${n} ${s||`00:00:00`}`)}})})]}),(0,L.jsx)(`button`,{type:`button`,className:`rounded border bg-background px-1.5 py-1 text-[10px] text-muted-foreground hover:text-foreground disabled:opacity-50`,disabled:n,onClick:()=>i(B(e.kind)),title:a(`result.rowForm.now`),children:(0,L.jsx)(y,{className:`size-3.5`})})]})}case`time`:return(0,L.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,L.jsx)(`input`,{className:`${o} flex-1`,value:t.text,onChange:e=>i(e.target.value),disabled:n,placeholder:`HH:MM:SS`}),(0,L.jsx)(`button`,{type:`button`,className:`rounded border bg-background px-1.5 py-1 text-muted-foreground hover:text-foreground disabled:opacity-50`,disabled:n,onClick:()=>i(B(`time`)),title:a(`result.rowForm.now`),children:(0,L.jsx)(y,{className:`size-3.5`})})]});case`json`:{let e=!0;try{t.text.trim()&&JSON.parse(t.text)}catch{e=!1}return(0,L.jsxs)(`div`,{className:`space-y-1`,children:[(0,L.jsx)(`textarea`,{className:`${o} min-h-[96px] resize-y text-xs ${e?``:`border-destructive`}`,value:t.text,onChange:e=>i(e.target.value),disabled:n,spellCheck:!1,placeholder:`{}`}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded border bg-background px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground disabled:opacity-50`,disabled:n||!e||!t.text.trim(),onClick:()=>{try{i(JSON.stringify(JSON.parse(t.text),null,2))}catch{}},children:[(0,L.jsx)(O,{className:`size-3`}),a(`result.rowForm.formatJson`)]}),!e&&(0,L.jsx)(`span`,{className:`text-[10px] text-destructive`,children:a(`result.rowForm.invalid.json`)})]})]})}case`text`:return(0,L.jsx)(`textarea`,{className:`${o} min-h-[72px] resize-y`,value:t.text,onChange:e=>i(e.target.value),disabled:n,spellCheck:!1});case`binary`:return(0,L.jsx)(`div`,{className:`rounded border bg-muted/40 px-2 py-1 text-xs italic text-muted-foreground`,children:a(`result.rowForm.binaryUnsupported`)});case`uuid`:return(0,L.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,L.jsx)(`input`,{className:`${o} flex-1`,value:t.text,onChange:e=>i(e.target.value),disabled:n,placeholder:`00000000-0000-0000-0000-000000000000`}),(0,L.jsx)(`button`,{type:`button`,className:`rounded border bg-background px-1.5 py-1 text-muted-foreground hover:text-foreground disabled:opacity-50`,disabled:n,onClick:()=>i(crypto.randomUUID()),title:a(`result.rowForm.generateUuid`),children:(0,L.jsx)(O,{className:`size-3.5`})})]});default:{let r=t.text.length>80||t.text.includes(`
|
|
2
2
|
`);return(0,L.jsxs)(`div`,{className:`space-y-0.5`,children:[r?(0,L.jsx)(`textarea`,{className:`${o} min-h-[56px] resize-y`,value:t.text,onChange:e=>i(e.target.value),disabled:n,spellCheck:!1}):(0,L.jsx)(`input`,{className:o,value:t.text,onChange:e=>i(e.target.value),disabled:n,maxLength:e.maxLength}),e.maxLength&&(0,L.jsxs)(`div`,{className:`text-right text-[10px] tabular-nums ${t.text.length>e.maxLength?`text-destructive`:`text-muted-foreground`}`,children:[t.text.length,`/`,e.maxLength]})]})}}}function U(){let{t:e}=r(),t=m(`row-form`),i=p(e=>e.closeDialog),a=p(e=>e.setFooterMessage),y=C(t?.connectionId??``),S=d(e=>t?e.transactionOpen[t.connectionId]:!1),[w,T]=(0,k.useState)(null),[E,D]=(0,k.useState)(null),[O,A]=(0,k.useState)({}),[M,F]=(0,k.useState)({}),[z,B]=(0,k.useState)(null),[V,U]=(0,k.useState)(!1),W=t?.mode===`edit`;(0,k.useEffect)(()=>{if(!t)return;let e=!1,n=h(t.serverConnectionId);return y.introspect.listColumns(n,t.database,t.table).then(n=>{if(e)return;T(n);let r={};for(let e of n)if(t.mode===`edit`){let n=t.fields.find(t=>t.orgName===e.name);r[e.name]=P(n?t.row?.[n.name]:void 0)}else r[e.name]=N(e);A(r)}).catch(t=>{e||D(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t?.serverConnectionId,t?.database,t?.table,t?.mode]);let G=(0,k.useMemo)(()=>new Map((w??[]).map(e=>[e.name,j(e,{oracleDate:y.id===`oracle`})])),[w,y.id]),K=(0,k.useCallback)((e,t)=>{A(n=>({...n,[e]:{...n[e],mode:t}})),F(t=>{let n={...t};return delete n[e],n})},[]),q=(0,k.useCallback)((e,t)=>{A(n=>({...n,[e]:{mode:`value`,text:t}})),F(t=>{let n={...t};return delete n[e],n})},[]),J=(0,k.useMemo)(()=>({__default:!0}),[]),Y=(0,k.useCallback)(()=>{if(!w)return null;let t=new Map,n={};for(let r of w){let i=O[r.name],a=G.get(r.name);if(!i||i.mode===`auto`||i.mode===`keep`)continue;if(i.mode===`null`){t.set(r.name,null);continue}if(i.mode==="default"){t.set(r.name,J);continue}let o=I(a,i.text);if(`error`in o){n[r.name]=e(R[o.error]??`result.rowForm.invalid.number`);continue}if(a.maxLength&&typeof o.value==`string`&&o.value.length>a.maxLength){n[r.name]=e(`result.rowForm.invalid.length`,{max:a.maxLength});continue}t.set(r.name,o.value)}return F(n),Object.keys(n).length>0?null:{values:t}},[w,O,G,e,J]),X=(0,k.useCallback)(e=>{if(!t)return null;let n=e=>e===J?`DEFAULT`:y.quoteLiteral(e);if(t.mode===`insert`){let r=[...e];return r.length===0?y.getQuery(`INSERT_DEFAULT_VALUES`,t.database,t.table):y.getQuery(`INSERT_TABLE`,t.database,t.table,r.map(([e])=>y.quoteIdentifier(e)).join(`, `),r.map(([,e])=>n(e)).join(`, `))}return!t.where||e.size===0?null:y.getQuery(`UPDATE_TABLE`,t.database,t.table,[...e].map(([e,t])=>`${y.quoteIdentifier(e)} = ${n(t)}`).join(`, `),t.where)},[t,y,J]),Z=(0,k.useMemo)(()=>{if(!w)return``;let e=new Map;for(let t of w){let n=O[t.name];if(!(!n||n.mode===`auto`||n.mode===`keep`)){if(n.mode===`null`)e.set(t.name,null);else if(n.mode==="default")e.set(t.name,J);else{let r=I(G.get(t.name),n.text);e.set(t.name,`error`in r?n.text:r.value)}}}return X(e)??``},[w,O,G,X,J]),Q=e=>{let n={};for(let[r,i]of e){if(i===J)continue;let e=t?.fields.find(e=>e.orgName===r);n[e?.name??r]=typeof i==`bigint`?i.toString():i}return n},te=()=>{let e=Y();!e||!t||(t.onStage?.(t.mode,Q(e.values)),i())},ne=async()=>{let n=Y();if(!n||!t)return;let r=X(n.values);if(!r){B(e(`result.rowForm.nothingToWrite`));return}U(!0),B(null);try{if(f.getState().previewGridCommit&&!await p.getState().requestDestructiveConfirm({title:e(W?`result.rowForm.confirmUpdateTitle`:`result.rowForm.confirmInsertTitle`,{table:`${t.database}.${t.table}`}),statements:[r],confirmLabel:e(W?`result.rowForm.update`:`result.rowForm.insert`)}))return;await g(t.connectionId,r,{database:t.database,skipDestructiveConfirm:!0}),a(e(W?`result.rowForm.updated`:`result.rowForm.inserted`,{table:`${t.database}.${t.table}`})),t.onCommitted?.(t.mode,Q(n.values)),i()}catch(e){if(e instanceof _)return;B(e instanceof Error?e.message:String(e))}finally{U(!1)}};if(!t)return null;let $=(e,t,n,r)=>(0,L.jsx)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 text-[10px] font-medium ${r===t?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted hover:text-foreground`}`,onClick:()=>K(e,t),children:n});return(0,L.jsx)(u,{open:!0,onOpenChange:e=>{e||i()},children:(0,L.jsxs)(c,{className:`flex max-h-[90vh] flex-col sm:max-w-[860px]`,children:[(0,L.jsxs)(o,{children:[(0,L.jsx)(l,{children:e(W?`result.rowForm.editTitle`:`result.rowForm.insertTitle`)}),(0,L.jsxs)(ee,{className:`font-mono text-xs`,children:[t.database,`.`,t.table]})]}),(0,L.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto rounded-md border`,children:[E&&(0,L.jsx)(`div`,{className:`rounded border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:E}),!w&&!E&&(0,L.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-10 text-sm text-muted-foreground`,children:[(0,L.jsx)(x,{className:`size-4 animate-spin`}),e(`result.rowForm.loading`)]}),w&&(0,L.jsxs)(`table`,{className:`w-full border-separate border-spacing-0 text-sm`,children:[(0,L.jsx)(`thead`,{className:`sticky top-0 z-10 bg-background`,children:(0,L.jsxs)(`tr`,{className:`text-left text-[10px] uppercase tracking-wide text-muted-foreground`,children:[(0,L.jsx)(`th`,{className:`w-[38%] border-b px-2 py-1.5 font-medium`,children:e(`result.rowForm.colColumn`)}),(0,L.jsx)(`th`,{className:`border-b px-2 py-1.5 font-medium`,children:e(`result.rowForm.colValue`)})]})}),(0,L.jsx)(`tbody`,{children:w.map(n=>{let r=O[n.name]??{mode:`value`,text:``},i=G.get(n.name),a=r.mode===`auto`,o=M[n.name],s=n.key===`PRI`,c=t.fields.find(e=>e.orgName===n.name),l=!!c&&!!t.row&&t.row[c.name]===null;return(0,L.jsxs)(`tr`,{className:`align-top ${o?`bg-destructive/5`:`hover:bg-muted/30`}`,children:[(0,L.jsxs)(`td`,{className:`border-b border-border/60 px-2 py-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(`span`,{className:`truncate font-mono text-sm font-medium`,title:n.name,children:n.name}),s&&(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-0.5 rounded border border-catppuccin-yellow/50 px-1 text-[9px] font-semibold text-catppuccin-yellow`,children:[(0,L.jsx)(v,{className:`size-2.5`}),`PK`]})]}),(0,L.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-[10px] text-muted-foreground`,children:[(0,L.jsx)(`span`,{className:`rounded bg-muted px-1 py-px font-mono`,children:n.type}),!n.nullable&&(0,L.jsx)(`span`,{children:`NOT NULL`}),n.defaultValue!==null&&(0,L.jsxs)(`span`,{className:`font-mono`,title:e(`result.rowForm.defaultValue`),children:[`= `,n.defaultValue]}),n.extra&&(0,L.jsx)(`span`,{children:n.extra})]}),n.comment&&(0,L.jsx)(`div`,{className:`mt-0.5 text-[10px] text-muted-foreground/80`,children:n.comment})]}),(0,L.jsx)(`td`,{className:`border-b border-border/60 px-2 py-2`,children:(0,L.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r.mode===`keep`?(0,L.jsx)(`div`,{className:`cursor-text truncate rounded border border-dashed bg-muted/30 px-2 py-1 font-mono text-xs text-muted-foreground`,onClick:()=>K(n.name,`value`),title:e(`result.rowForm.clickToChange`),children:l?(0,L.jsx)(`span`,{className:`italic`,children:`NULL`}):r.text||(0,L.jsx)(`span`,{className:`italic`,children:e(`result.rowForm.empty`)})}):r.mode===`value`?(0,L.jsx)(H,{spec:i,state:r,disabled:!1,onText:e=>q(n.name,e)}):(0,L.jsx)(`div`,{className:`rounded border border-dashed bg-muted/30 px-2 py-1 font-mono text-xs italic text-muted-foreground`,children:r.mode===`null`?`NULL`:r.mode==="default"?`DEFAULT (${n.defaultValue??``})`:e(`result.rowForm.autoHint`)}),o&&(0,L.jsxs)(`div`,{className:`mt-1 flex items-center gap-1 text-[11px] text-destructive`,children:[(0,L.jsx)(b,{className:`size-3`}),o]})]}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 rounded border bg-background p-0.5`,children:[W&&$(n.name,`keep`,e(`result.rowForm.mode.keep`),r.mode),(a||!W&&/auto_increment|identity/i.test(n.extra))&&$(n.name,`auto`,e(`result.rowForm.mode.auto`),r.mode),$(n.name,`value`,e(`result.rowForm.mode.value`),r.mode),n.nullable&&$(n.name,`null`,`NULL`,r.mode),n.defaultValue!==null&&$(n.name,`default`,`DEFAULT`,r.mode)]})]})})]},n.name)})})]})]}),w&&(0,L.jsxs)(`div`,{className:`shrink-0 rounded-md border bg-muted/30`,children:[(0,L.jsx)(`div`,{className:`border-b px-3 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:e(`result.rowForm.preview`)}),(0,L.jsx)(`pre`,{className:`max-h-24 overflow-auto whitespace-pre-wrap break-words px-3 py-2 font-mono text-xs`,children:Z||(0,L.jsx)(`span`,{className:`italic text-muted-foreground`,children:e(`result.rowForm.nothingToWrite`)})})]}),z&&(0,L.jsx)(`div`,{className:`shrink-0 rounded border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:z}),(0,L.jsxs)(s,{className:`items-center`,children:[S&&(0,L.jsx)(`span`,{className:`mr-auto text-[11px] text-catppuccin-yellow`,children:e(`result.rowForm.inTransaction`)}),(0,L.jsx)(n,{variant:`outline`,onClick:()=>i(),disabled:V,children:e(`command.close`)}),t.onStage&&(0,L.jsx)(n,{variant:`outline`,onClick:te,disabled:V||!w,title:e(`result.rowForm.stageHint`),children:e(W?`result.rowForm.stageEdit`:`result.rowForm.stageInsert`)}),(0,L.jsxs)(n,{onClick:()=>void ne(),disabled:V||!w,children:[V&&(0,L.jsx)(x,{className:`mr-1 size-3.5 animate-spin`}),e(W?`result.rowForm.update`:`result.rowForm.insert`)]})]})]})})}export{U as RowFormDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./CAd2f6EE.js";import{S as t}from"./BPLdNS4h.js";function n(n){t(n),e(n)}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
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{t as u}from"./
|
|
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{t as u}from"./CAd2f6EE.js";import{n as d,t as f}from"./D8_hwGjG.js";import{a as p}from"./BghfQrAj.js";import{r as m}from"./Ci1xBOLy.js";import{a as h,h as g}from"./DpPKm22O.js";import{K as _,c as v,l as y,q as b}from"./B_zu4Zim.js";var x=e(t(),1),S=i();function C(){let{t:e}=r(),{activeDialog:t,closeDialog:i}=d(),C=f(`copy-database`),w=t===`copy-database`,T=C?.database??``,[E,D]=(0,x.useState)(``),[O,k]=(0,x.useState)(`structure_data`),[A,j]=(0,x.useState)(null),[M,N]=(0,x.useState)(null);function P(e){e||(i(),N(null),j(null),D(``),k(`structure_data`))}async function F(){let t=u.getState().activeConnectionId,n=E.trim();if(!t||!n||!T)return;N(null);let r=m(t),i=u.getState().activeConnections.find(e=>e.id===t);if(i?.serverConnectionId)try{j(e(`database.copy.creating`,{database:n})),await h(t,r.getQuery(`CREATE_DATABASE`,n,`utf8mb4`,`utf8mb4_general_ci`));let a=p(i.serverConnectionId),o=await r.introspect.listTables(a,T);for(let[r,i]of o.entries()){j(e(`database.copy.copying`,{table:i.name,index:r+1,total:o.length}));let a={connectionId:t,database:T,table:i.name},s={connectionId:t,database:n,table:i.name},c=await _(a,s);await b({source:a,target:s,mode:O,onConflict:`abort`,createSql:m(t).ddl.createTable(c)})}await g(t),P(!1)}catch(e){N(e instanceof Error?e.message:String(e))}finally{j(null)}}return(0,S.jsx)(l,{open:w,onOpenChange:P,children:(0,S.jsxs)(s,{className:`sm:max-w-[450px]`,children:[(0,S.jsx)(a,{children:(0,S.jsx)(c,{children:e(`database.copy.title`)})}),(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(v,{children:e(`database.copy.source`)}),(0,S.jsx)(y,{value:T,disabled:!0})]}),(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(v,{htmlFor:`target-db-name`,children:e(`database.copy.target`)}),(0,S.jsx)(y,{id:`target-db-name`,value:E,onChange:e=>D(e.target.value),placeholder:e(`database.copy.targetPlaceholder`)})]}),(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(v,{children:e(`database.copy.options`)}),(0,S.jsxs)(`div`,{className:`space-y-2`,children:[(0,S.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,S.jsx)(`input`,{type:`radio`,name:`copy-option`,value:`structure_data`,checked:O===`structure_data`,onChange:()=>k(`structure_data`)}),e(`database.copy.structureAndData`)]}),(0,S.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,S.jsx)(`input`,{type:`radio`,name:`copy-option`,value:`structure_only`,checked:O===`structure_only`,onChange:()=>k(`structure_only`)}),e(`database.copy.structureOnly`)]})]})]})]}),A&&(0,S.jsx)(`p`,{className:`px-1 text-xs text-muted-foreground`,children:A}),M&&(0,S.jsx)(`p`,{className:`px-1 text-xs text-destructive leading-relaxed`,children:M}),(0,S.jsxs)(o,{children:[(0,S.jsx)(n,{variant:`outline`,onClick:()=>P(!1),children:e(`database.copy.cancel`)}),(0,S.jsx)(n,{onClick:()=>void F(),disabled:!E.trim()||A!==null,children:e(`database.copy.copy`)})]})]})})}export{C as CopyDatabaseDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./hePW80VL.js";import{p as t}from"./CYz610vE.js";import{t as n}from"./CiL8zoYm.js";import{a as r}from"./BDtsGuIR.js";import{i,n as a,r as o,t as s}from"./Cu_sGzNJ.js";import{a as ee,i as te,n as ne,o as re,t as c}from"./DzRyVlxz.js";import{t as l}from"./S7HbowYz.js";import{n as ie}from"./D8_hwGjG.js";import{l as u}from"./BkXrfAoR.js";import{t as d}from"./BRZhVXRC.js";import{$t as ae,C as f,Mt as oe,Qt as p,S as m,T as h,Wt as se,Yt as ce,Zt as le,b as ue,jt as g,w as _,x as v}from"./CExE8dKz.js";var y=a(`list-ordered`,[[`path`,{d:`M11 5h10`,key:`1cz7ny`}],[`path`,{d:`M11 12h10`,key:`1438ji`}],[`path`,{d:`M11 19h10`,key:`11t30w`}],[`path`,{d:`M4 4h1v5`,key:`10yrso`}],[`path`,{d:`M4 9h2`,key:`r1h2o0`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`,key:`xtkcd5`}]]),b=a(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),x=a(`skull`,[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`,key:`3me087`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`,key:`1o5pge`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}]]),de=a(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),S=e(t(),1),C=o(),w=10,fe=[2,5,10,30];function T(){let e=l.getState();return e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId??null}async function pe(){let e=T();if(!e)throw Error(r.t(`command.noActiveConnection`));let t=await u(e,d().getQuery(`SHOW_PROCESS_LIST`));return t.records.map(e=>{let n={};return t.fields.forEach((t,r)=>{n[t.name]=e[r]}),{...n,Id:String(n.Id)}})}function E(e){return/^(sleep|idle)/i.test(e.Command??``)}function me(e){return/lock/i.test(e.State??``)}function he(e){return/PROCESSLIST|pg_stat_activity/i.test(e.Info??``)}function D(e){let t=Number(e.Time);return Number.isFinite(t)?t:0}function O(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`}function k({icon:e,label:t,value:n,tone:r}){return(0,C.jsxs)(`div`,{className:`flex min-w-[120px] flex-1 items-center gap-2.5 rounded-md border bg-muted/30 px-3 py-1.5`,children:[(0,C.jsx)(`div`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md [&_svg]:size-3.5 ${r===`warn`?`bg-catppuccin-yellow/15 text-catppuccin-yellow`:`bg-primary/10 text-primary`}`,children:e}),(0,C.jsxs)(`div`,{className:`min-w-0`,children:[(0,C.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:t}),(0,C.jsx)(`div`,{className:`truncate text-sm font-semibold tabular-nums`,children:n})]})]})}function A(){let{t:e}=i(),{activeDialog:t,closeDialog:r,setFooterMessage:a,requestDestructiveConfirm:o}=ie(),[l,A]=(0,S.useState)([]),[j,M]=(0,S.useState)(!1),[N,P]=(0,S.useState)(5),[F,I]=(0,S.useState)(null),[L,R]=(0,S.useState)(``),[z,ge]=(0,S.useState)(!1),[B,_e]=(0,S.useState)(!0),[V,H]=(0,S.useState)(!1),[U,ve]=(0,S.useState)(null),[W,G]=(0,S.useState)(!1),K=(0,S.useRef)(null),q=t===`process-list`,J=(0,S.useCallback)(()=>Promise.resolve().then(()=>(H(!0),pe())).then(e=>{A(e),ve(new Date)}).catch(t=>a(e(`command.processList.loadError`,{message:t instanceof Error?t.message:String(t)}))).finally(()=>H(!1)),[a,e]);(0,S.useEffect)(()=>{q&&J()},[q,J]),(0,S.useEffect)(()=>(K.current&&=(clearInterval(K.current),null),j&&q&&(K.current=setInterval(()=>{J()},N*1e3)),()=>{K.current&&=(clearInterval(K.current),null)}),[j,N,q,J]);function Y(e){e||(M(!1),I(null),R(``),r())}let X=(0,S.useMemo)(()=>{let e=l.filter(E).length,t=l.filter(e=>!E(e)).reduce((e,t)=>Math.max(e,D(t)),0);return{total:l.length,active:l.length-e,idle:e,longest:t}},[l]),Z=(0,S.useMemo)(()=>{let e=L.trim().toLowerCase();return l.filter(t=>z&&E(t)?!1:!e||[t.Id,t.User,t.Host,t.db,t.Command,t.State,t.Info].some(t=>(t??``).toString().toLowerCase().includes(e))).sort((e,t)=>B?D(t)-D(e):D(e)-D(t))},[l,L,z,B]),Q=l.find(e=>e.Id===F)??null,ye=(0,S.useCallback)(()=>{Q?.Info&&navigator.clipboard.writeText(Q.Info).then(()=>{G(!0),setTimeout(()=>G(!1),1500)})},[Q]);async function $(t){let n=t??F;if(!n){a(e(`command.processList.selectToKill`));return}let r=T();if(!r)return;let i=l.find(e=>e.Id===n),s=d().getQuery(`KILL_QUERY`,String(n));if(await o({title:e(`command.processList.killConfirmTitle`,{id:n}),description:e(`command.processList.killConfirmDescription`,{user:i?.User??`?`,host:i?.Host??`?`}),confirmLabel:e(`command.processList.killProcess`),statements:[s]}))try{await u(r,s),a(e(`command.processList.killed`,{id:n})),F===n&&I(null),J()}catch(t){a(e(`command.processList.killError`,{message:t instanceof Error?t.message:String(t)}))}}return(0,C.jsx)(c,{open:q,onOpenChange:Y,children:(0,C.jsxs)(ne,{className:`flex max-h-[85vh] flex-col sm:max-w-[1000px]`,children:[(0,C.jsx)(ee,{children:(0,C.jsxs)(re,{className:`flex items-center gap-2`,children:[e(`command.processList.title`),U&&(0,C.jsx)(`span`,{className:`text-xs font-normal text-muted-foreground`,children:e(`command.processList.updatedAt`,{time:U.toLocaleTimeString(void 0,{hour12:!1})})})]})}),(0,C.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,C.jsx)(k,{icon:(0,C.jsx)(y,{}),label:e(`command.processList.stats.total`),value:X.total}),(0,C.jsx)(k,{icon:(0,C.jsx)(ae,{}),label:e(`command.processList.stats.active`),value:X.active}),(0,C.jsx)(k,{icon:(0,C.jsx)(b,{}),label:e(`command.processList.stats.idle`),value:X.idle}),(0,C.jsx)(k,{icon:(0,C.jsx)(de,{}),label:e(`command.processList.stats.longest`),value:O(X.longest),tone:X.longest>=w?`warn`:void 0})]}),(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,C.jsxs)(`div`,{className:`relative`,children:[(0,C.jsx)(g,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,C.jsx)(`input`,{className:`h-7 w-56 rounded border bg-background pl-7 pr-6 text-xs placeholder:text-muted-foreground`,placeholder:e(`command.processList.filterPlaceholder`),value:L,onChange:e=>R(e.target.value)}),L&&(0,C.jsx)(`button`,{type:`button`,className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>R(``),children:(0,C.jsx)(s,{className:`size-3`})})]}),(0,C.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 text-xs`,children:[(0,C.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:z,onChange:e=>ge(e.target.checked)}),e(`command.processList.hideIdle`)]}),(0,C.jsx)(`div`,{className:`flex-1`}),(0,C.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 text-xs`,children:[(0,C.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:j,onChange:e=>M(e.target.checked)}),e(`command.processList.autoRefresh`)]}),(0,C.jsx)(`select`,{className:`h-7 rounded border bg-background px-1.5 text-xs disabled:opacity-50`,value:N,onChange:e=>P(Number(e.target.value)),disabled:!j,children:fe.map(e=>(0,C.jsxs)(`option`,{value:e,children:[e,`s`]},e))}),(0,C.jsxs)(n,{variant:`outline`,size:`sm`,className:`h-7`,onClick:()=>{J()},disabled:V,children:[(0,C.jsx)(oe,{className:`mr-1 size-3.5 ${V?`animate-spin`:``}`}),e(`command.processList.refresh`)]})]}),(0,C.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto rounded-md border`,children:(0,C.jsxs)(ue,{className:`text-xs`,children:[(0,C.jsx)(_,{className:`sticky top-0 z-10 bg-background`,children:(0,C.jsxs)(h,{children:[(0,C.jsx)(f,{className:`w-[70px]`,children:e(`command.processList.columns.id`)}),(0,C.jsx)(f,{className:`w-[100px]`,children:e(`command.processList.columns.user`)}),(0,C.jsx)(f,{className:`w-[130px]`,children:e(`command.processList.columns.host`)}),(0,C.jsx)(f,{className:`w-[100px]`,children:e(`command.processList.columns.db`)}),(0,C.jsx)(f,{className:`w-[90px]`,children:e(`command.processList.columns.command`)}),(0,C.jsx)(f,{className:`w-[80px] cursor-pointer select-none`,onClick:()=>_e(e=>!e),children:(0,C.jsxs)(`span`,{className:`flex items-center gap-1`,children:[e(`command.processList.columns.time`),B?(0,C.jsx)(p,{className:`size-3 text-primary`}):(0,C.jsx)(le,{className:`size-3 text-primary`})]})}),(0,C.jsx)(f,{className:`w-[130px]`,children:e(`command.processList.columns.state`)}),(0,C.jsx)(f,{children:e(`command.processList.columns.info`)}),(0,C.jsx)(f,{className:`w-[50px]`})]})}),(0,C.jsx)(v,{children:Z.length===0?(0,C.jsx)(h,{children:(0,C.jsx)(m,{colSpan:9,className:`py-8 text-center text-muted-foreground`,children:l.length===0?e(`command.processList.empty`):e(`command.processList.noMatch`)})}):Z.map(t=>{let n=E(t),r=D(t),i=!n&&r>=w,a=me(t),o=he(t);return(0,C.jsxs)(h,{"data-state":F===t.Id?`selected`:void 0,className:`cursor-pointer ${n?`text-muted-foreground`:``} ${a?`bg-destructive/5`:i?`bg-catppuccin-yellow/5`:``}`,onClick:()=>I(t.Id),children:[(0,C.jsx)(m,{className:`font-mono tabular-nums`,children:(0,C.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.Id,o&&(0,C.jsx)(`span`,{className:`rounded bg-primary/10 px-1 text-[9px] font-semibold text-primary`,title:e(`command.processList.selfHint`),children:e(`command.processList.self`)})]})}),(0,C.jsx)(m,{children:t.User}),(0,C.jsx)(m,{className:`font-mono`,children:t.Host}),(0,C.jsx)(m,{className:`font-mono`,children:t.db??``}),(0,C.jsx)(m,{children:(0,C.jsx)(`span`,{className:`rounded px-1.5 py-px text-[10px] font-medium ${n?`bg-muted`:`bg-green-500/10 text-green-600 dark:text-green-400`}`,children:t.Command})}),(0,C.jsx)(m,{className:`tabular-nums ${i?`font-semibold text-catppuccin-yellow`:``}`,children:O(r)}),(0,C.jsx)(m,{className:a?`font-medium text-destructive`:``,children:t.State}),(0,C.jsx)(m,{className:`max-w-[260px] truncate font-mono`,title:t.Info??``,children:t.Info??``}),(0,C.jsx)(m,{className:`text-right`,children:(0,C.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,title:e(`command.processList.kill`),onClick:e=>{e.stopPropagation(),$(t.Id)},children:(0,C.jsx)(x,{className:`size-3.5`})})})]},t.Id)})})]})}),Q&&(0,C.jsxs)(`div`,{className:`shrink-0 rounded-md border`,children:[(0,C.jsxs)(`div`,{className:`flex items-center gap-2 border-b bg-muted/30 px-3 py-1`,children:[(0,C.jsx)(`span`,{className:`text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:e(`command.processList.statementOf`,{id:Q.Id})}),(0,C.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[Q.User,`@`,Q.Host,Q.db?` · ${Q.db}`:``]}),(0,C.jsx)(`div`,{className:`flex-1`}),(0,C.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-40`,onClick:ye,disabled:!Q.Info,children:[W?(0,C.jsx)(ce,{className:`size-3`}):(0,C.jsx)(se,{className:`size-3`}),e(W?`command.processList.copied`:`command.processList.copy`)]})]}),(0,C.jsx)(`pre`,{className:`max-h-32 overflow-auto whitespace-pre-wrap break-words px-3 py-2 font-mono text-xs`,children:Q.Info||(0,C.jsx)(`span`,{className:`italic text-muted-foreground`,children:e(`command.processList.noStatement`)})})]}),(0,C.jsxs)(te,{children:[(0,C.jsx)(n,{variant:`destructive`,onClick:()=>{$()},disabled:!F,children:e(`command.processList.killProcess`)}),(0,C.jsx)(n,{variant:`outline`,onClick:()=>Y(!1),children:e(`command.close`)})]})]})})}export{A as ProcessListDialog};
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{p as t}from"./CYz610vE.js";import{t as n}from"./CiL8zoYm.js";import{a as r}from"./C9jzAIEJ.js";import{i,n as a,r as o,t as s}from"./Cu_sGzNJ.js";import{a as ee,i as te,n as ne,o as re,t as c}from"./DzRyVlxz.js";import{t as l}from"./CAd2f6EE.js";import{n as ie}from"./D8_hwGjG.js";import{l as u}from"./BghfQrAj.js";import{t as d}from"./Ci1xBOLy.js";import{$t as ae,C as f,Mt as oe,Qt as p,S as m,T as h,Wt as se,Yt as ce,Zt as le,b as ue,jt as g,w as _,x as v}from"./B_zu4Zim.js";var y=a(`list-ordered`,[[`path`,{d:`M11 5h10`,key:`1cz7ny`}],[`path`,{d:`M11 12h10`,key:`1438ji`}],[`path`,{d:`M11 19h10`,key:`11t30w`}],[`path`,{d:`M4 4h1v5`,key:`10yrso`}],[`path`,{d:`M4 9h2`,key:`r1h2o0`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`,key:`xtkcd5`}]]),b=a(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),x=a(`skull`,[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`,key:`3me087`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`,key:`1o5pge`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}]]),de=a(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),S=e(t(),1),C=o(),w=10,fe=[2,5,10,30];function T(){let e=l.getState();return e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId??null}async function pe(){let e=T();if(!e)throw Error(r.t(`command.noActiveConnection`));let t=await u(e,d().getQuery(`SHOW_PROCESS_LIST`));return t.records.map(e=>{let n={};return t.fields.forEach((t,r)=>{n[t.name]=e[r]}),{...n,Id:String(n.Id)}})}function E(e){return/^(sleep|idle)/i.test(e.Command??``)}function me(e){return/lock/i.test(e.State??``)}function he(e){return/PROCESSLIST|pg_stat_activity/i.test(e.Info??``)}function D(e){let t=Number(e.Time);return Number.isFinite(t)?t:0}function O(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`}function k({icon:e,label:t,value:n,tone:r}){return(0,C.jsxs)(`div`,{className:`flex min-w-[120px] flex-1 items-center gap-2.5 rounded-md border bg-muted/30 px-3 py-1.5`,children:[(0,C.jsx)(`div`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md [&_svg]:size-3.5 ${r===`warn`?`bg-catppuccin-yellow/15 text-catppuccin-yellow`:`bg-primary/10 text-primary`}`,children:e}),(0,C.jsxs)(`div`,{className:`min-w-0`,children:[(0,C.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:t}),(0,C.jsx)(`div`,{className:`truncate text-sm font-semibold tabular-nums`,children:n})]})]})}function A(){let{t:e}=i(),{activeDialog:t,closeDialog:r,setFooterMessage:a,requestDestructiveConfirm:o}=ie(),[l,A]=(0,S.useState)([]),[j,M]=(0,S.useState)(!1),[N,P]=(0,S.useState)(5),[F,I]=(0,S.useState)(null),[L,R]=(0,S.useState)(``),[z,ge]=(0,S.useState)(!1),[B,_e]=(0,S.useState)(!0),[V,H]=(0,S.useState)(!1),[U,ve]=(0,S.useState)(null),[W,G]=(0,S.useState)(!1),K=(0,S.useRef)(null),q=t===`process-list`,J=(0,S.useCallback)(()=>Promise.resolve().then(()=>(H(!0),pe())).then(e=>{A(e),ve(new Date)}).catch(t=>a(e(`command.processList.loadError`,{message:t instanceof Error?t.message:String(t)}))).finally(()=>H(!1)),[a,e]);(0,S.useEffect)(()=>{q&&J()},[q,J]),(0,S.useEffect)(()=>(K.current&&=(clearInterval(K.current),null),j&&q&&(K.current=setInterval(()=>{J()},N*1e3)),()=>{K.current&&=(clearInterval(K.current),null)}),[j,N,q,J]);function Y(e){e||(M(!1),I(null),R(``),r())}let X=(0,S.useMemo)(()=>{let e=l.filter(E).length,t=l.filter(e=>!E(e)).reduce((e,t)=>Math.max(e,D(t)),0);return{total:l.length,active:l.length-e,idle:e,longest:t}},[l]),Z=(0,S.useMemo)(()=>{let e=L.trim().toLowerCase();return l.filter(t=>z&&E(t)?!1:!e||[t.Id,t.User,t.Host,t.db,t.Command,t.State,t.Info].some(t=>(t??``).toString().toLowerCase().includes(e))).sort((e,t)=>B?D(t)-D(e):D(e)-D(t))},[l,L,z,B]),Q=l.find(e=>e.Id===F)??null,ye=(0,S.useCallback)(()=>{Q?.Info&&navigator.clipboard.writeText(Q.Info).then(()=>{G(!0),setTimeout(()=>G(!1),1500)})},[Q]);async function $(t){let n=t??F;if(!n){a(e(`command.processList.selectToKill`));return}let r=T();if(!r)return;let i=l.find(e=>e.Id===n),s=d().getQuery(`KILL_QUERY`,String(n));if(await o({title:e(`command.processList.killConfirmTitle`,{id:n}),description:e(`command.processList.killConfirmDescription`,{user:i?.User??`?`,host:i?.Host??`?`}),confirmLabel:e(`command.processList.killProcess`),statements:[s]}))try{await u(r,s),a(e(`command.processList.killed`,{id:n})),F===n&&I(null),J()}catch(t){a(e(`command.processList.killError`,{message:t instanceof Error?t.message:String(t)}))}}return(0,C.jsx)(c,{open:q,onOpenChange:Y,children:(0,C.jsxs)(ne,{className:`flex max-h-[85vh] flex-col sm:max-w-[1000px]`,children:[(0,C.jsx)(ee,{children:(0,C.jsxs)(re,{className:`flex items-center gap-2`,children:[e(`command.processList.title`),U&&(0,C.jsx)(`span`,{className:`text-xs font-normal text-muted-foreground`,children:e(`command.processList.updatedAt`,{time:U.toLocaleTimeString(void 0,{hour12:!1})})})]})}),(0,C.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,C.jsx)(k,{icon:(0,C.jsx)(y,{}),label:e(`command.processList.stats.total`),value:X.total}),(0,C.jsx)(k,{icon:(0,C.jsx)(ae,{}),label:e(`command.processList.stats.active`),value:X.active}),(0,C.jsx)(k,{icon:(0,C.jsx)(b,{}),label:e(`command.processList.stats.idle`),value:X.idle}),(0,C.jsx)(k,{icon:(0,C.jsx)(de,{}),label:e(`command.processList.stats.longest`),value:O(X.longest),tone:X.longest>=w?`warn`:void 0})]}),(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,C.jsxs)(`div`,{className:`relative`,children:[(0,C.jsx)(g,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,C.jsx)(`input`,{className:`h-7 w-56 rounded border bg-background pl-7 pr-6 text-xs placeholder:text-muted-foreground`,placeholder:e(`command.processList.filterPlaceholder`),value:L,onChange:e=>R(e.target.value)}),L&&(0,C.jsx)(`button`,{type:`button`,className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>R(``),children:(0,C.jsx)(s,{className:`size-3`})})]}),(0,C.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 text-xs`,children:[(0,C.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:z,onChange:e=>ge(e.target.checked)}),e(`command.processList.hideIdle`)]}),(0,C.jsx)(`div`,{className:`flex-1`}),(0,C.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 text-xs`,children:[(0,C.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:j,onChange:e=>M(e.target.checked)}),e(`command.processList.autoRefresh`)]}),(0,C.jsx)(`select`,{className:`h-7 rounded border bg-background px-1.5 text-xs disabled:opacity-50`,value:N,onChange:e=>P(Number(e.target.value)),disabled:!j,children:fe.map(e=>(0,C.jsxs)(`option`,{value:e,children:[e,`s`]},e))}),(0,C.jsxs)(n,{variant:`outline`,size:`sm`,className:`h-7`,onClick:()=>{J()},disabled:V,children:[(0,C.jsx)(oe,{className:`mr-1 size-3.5 ${V?`animate-spin`:``}`}),e(`command.processList.refresh`)]})]}),(0,C.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto rounded-md border`,children:(0,C.jsxs)(ue,{className:`text-xs`,children:[(0,C.jsx)(_,{className:`sticky top-0 z-10 bg-background`,children:(0,C.jsxs)(h,{children:[(0,C.jsx)(f,{className:`w-[70px]`,children:e(`command.processList.columns.id`)}),(0,C.jsx)(f,{className:`w-[100px]`,children:e(`command.processList.columns.user`)}),(0,C.jsx)(f,{className:`w-[130px]`,children:e(`command.processList.columns.host`)}),(0,C.jsx)(f,{className:`w-[100px]`,children:e(`command.processList.columns.db`)}),(0,C.jsx)(f,{className:`w-[90px]`,children:e(`command.processList.columns.command`)}),(0,C.jsx)(f,{className:`w-[80px] cursor-pointer select-none`,onClick:()=>_e(e=>!e),children:(0,C.jsxs)(`span`,{className:`flex items-center gap-1`,children:[e(`command.processList.columns.time`),B?(0,C.jsx)(p,{className:`size-3 text-primary`}):(0,C.jsx)(le,{className:`size-3 text-primary`})]})}),(0,C.jsx)(f,{className:`w-[130px]`,children:e(`command.processList.columns.state`)}),(0,C.jsx)(f,{children:e(`command.processList.columns.info`)}),(0,C.jsx)(f,{className:`w-[50px]`})]})}),(0,C.jsx)(v,{children:Z.length===0?(0,C.jsx)(h,{children:(0,C.jsx)(m,{colSpan:9,className:`py-8 text-center text-muted-foreground`,children:l.length===0?e(`command.processList.empty`):e(`command.processList.noMatch`)})}):Z.map(t=>{let n=E(t),r=D(t),i=!n&&r>=w,a=me(t),o=he(t);return(0,C.jsxs)(h,{"data-state":F===t.Id?`selected`:void 0,className:`cursor-pointer ${n?`text-muted-foreground`:``} ${a?`bg-destructive/5`:i?`bg-catppuccin-yellow/5`:``}`,onClick:()=>I(t.Id),children:[(0,C.jsx)(m,{className:`font-mono tabular-nums`,children:(0,C.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.Id,o&&(0,C.jsx)(`span`,{className:`rounded bg-primary/10 px-1 text-[9px] font-semibold text-primary`,title:e(`command.processList.selfHint`),children:e(`command.processList.self`)})]})}),(0,C.jsx)(m,{children:t.User}),(0,C.jsx)(m,{className:`font-mono`,children:t.Host}),(0,C.jsx)(m,{className:`font-mono`,children:t.db??``}),(0,C.jsx)(m,{children:(0,C.jsx)(`span`,{className:`rounded px-1.5 py-px text-[10px] font-medium ${n?`bg-muted`:`bg-green-500/10 text-green-600 dark:text-green-400`}`,children:t.Command})}),(0,C.jsx)(m,{className:`tabular-nums ${i?`font-semibold text-catppuccin-yellow`:``}`,children:O(r)}),(0,C.jsx)(m,{className:a?`font-medium text-destructive`:``,children:t.State}),(0,C.jsx)(m,{className:`max-w-[260px] truncate font-mono`,title:t.Info??``,children:t.Info??``}),(0,C.jsx)(m,{className:`text-right`,children:(0,C.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,title:e(`command.processList.kill`),onClick:e=>{e.stopPropagation(),$(t.Id)},children:(0,C.jsx)(x,{className:`size-3.5`})})})]},t.Id)})})]})}),Q&&(0,C.jsxs)(`div`,{className:`shrink-0 rounded-md border`,children:[(0,C.jsxs)(`div`,{className:`flex items-center gap-2 border-b bg-muted/30 px-3 py-1`,children:[(0,C.jsx)(`span`,{className:`text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:e(`command.processList.statementOf`,{id:Q.Id})}),(0,C.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[Q.User,`@`,Q.Host,Q.db?` · ${Q.db}`:``]}),(0,C.jsx)(`div`,{className:`flex-1`}),(0,C.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-40`,onClick:ye,disabled:!Q.Info,children:[W?(0,C.jsx)(ce,{className:`size-3`}):(0,C.jsx)(se,{className:`size-3`}),e(W?`command.processList.copied`:`command.processList.copy`)]})]}),(0,C.jsx)(`pre`,{className:`max-h-32 overflow-auto whitespace-pre-wrap break-words px-3 py-2 font-mono text-xs`,children:Q.Info||(0,C.jsx)(`span`,{className:`italic text-muted-foreground`,children:e(`command.processList.noStatement`)})})]}),(0,C.jsxs)(te,{children:[(0,C.jsx)(n,{variant:`destructive`,onClick:()=>{$()},disabled:!F,children:e(`command.processList.killProcess`)}),(0,C.jsx)(n,{variant:`outline`,onClick:()=>Y(!1),children:e(`command.close`)})]})]})})}export{A as ProcessListDialog};
|
|
@@ -1 +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"./
|
|
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"./CAd2f6EE.js";import{ft as a,mt as o}from"./B_zu4Zim.js";import{r as s}from"./DtUkSj2L.js";import{t as c}from"./CMFMZu0I.js";import{t as l}from"./BYvM8E39.js";import{t as u}from"./TqO-pPrr.js";import{t as d}from"./_zaonxnw.js";var f=e(t(),1);function p(e){let t=e.indexOf(`:`);return t===-1?`(no prefix)`:e.slice(0,t+1)}function m(e){return e<0?`none`:e<36e5?`lt1h`:e<864e5?`lt1d`:e<6048e5?`lt1w`:`ge1w`}function h(){let e=()=>({count:0,bytes:0});return{analyzed:0,totalBytes:0,byType:{},byPrefix:{},ttl:{none:e(),lt1h:e(),lt1d:e(),lt1w:e(),ge1w:e()},top:[],missingSizes:0}}function g(e,t,n){let r=e[t]??={count:0,bytes:0};r.count+=1,r.bytes+=n}function _(e,t){let n={...e,byType:{...e.byType},byPrefix:{...e.byPrefix},ttl:{...e.ttl},top:[...e.top]};for(let e of Object.keys(n.byType))n.byType[e]={...n.byType[e]};for(let e of Object.keys(n.byPrefix))n.byPrefix[e]={...n.byPrefix[e]};for(let e of Object.keys(n.ttl))n.ttl[e]={...n.ttl[e]};for(let e of t){if(e.ttlMs===-2||e.type===`none`)continue;let t=e.bytes??0;e.bytes===null&&(n.missingSizes+=1),n.analyzed+=1,n.totalBytes+=t,g(n.byType,e.type,t),g(n.byPrefix,p(e.key),t);let r=n.ttl[m(e.ttlMs)];r.count+=1,r.bytes+=t,e.bytes!==null&&(n.top.length<50||t>n.top[n.top.length-1].bytes)&&(n.top.push({key:e.key,type:e.type,bytes:t}),n.top.sort((e,t)=>t.bytes-e.bytes),n.top.length>50&&(n.top.length=50))}return n}function v(e){return Object.entries(e).sort((e,t)=>t[1].bytes-e[1].bytes||t[1].count-e[1].count)}var y=r(),b=300,x=[1e4,1e5,1e6];function S({title:e,rows:t,onRow:n}){return(0,y.jsxs)(`section`,{className:`min-w-0`,children:[(0,y.jsx)(`h3`,{className:`mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),(0,y.jsx)(`table`,{className:`w-full border-collapse text-xs`,children:(0,y.jsx)(`tbody`,{children:t.map(([e,t,r,i])=>(0,y.jsxs)(`tr`,{className:`border-b border-border/50 ${n?`cursor-pointer hover:bg-muted/50`:``}`,onClick:n?()=>n(e):void 0,children:[(0,y.jsx)(`td`,{className:`max-w-0 truncate py-1 pr-2 font-mono`,title:e,children:e}),(0,y.jsx)(`td`,{className:`w-20 py-1 text-right tabular-nums text-muted-foreground`,children:t}),(0,y.jsx)(`td`,{className:`w-24 py-1 text-right tabular-nums`,children:r}),(0,y.jsx)(`td`,{className:`w-14 py-1 text-right tabular-nums text-muted-foreground`,children:i??``})]},e))})})]})}function C({connectionId:e,tabId:t,input:r}){let{t:p}=n(),m=c(e,t,``),[g,C]=(0,f.useState)(r.trim().split(/\s+/)[0]||`db0`),[w,T]=(0,f.useState)(x[1]),[E,D]=(0,f.useState)(null),[O,k]=(0,f.useState)(null),[A,j]=(0,f.useState)(!1),[M,N]=(0,f.useState)(null),P=(0,f.useRef)(!1),[F,I]=(0,f.useState)(0),L=async()=>{P.current=!1,j(!0),N(null);let e=h();D(e);try{let t=Number(await m.read(`DBSIZE`,g));k({scanned:0,total:Number.isFinite(t)?t:null});let n=`0`,r=0;do{let a=await m.read(`SCAN ${n} COUNT ${b}`,g);n=String(a[0]);let o=a[1].slice(0,Math.max(0,w-r));if(o.length>0){let t=await m.readBatch(o.flatMap(e=>{let t=i(e);return[`MEMORY USAGE ${t}`,`TYPE ${t}`,`PTTL ${t}`]}),g),n=o.map((e,n)=>{let[r,i,a]=t.slice(n*3,n*3+3);return{key:e,type:typeof i==`string`?i:`unknown`,bytes:r instanceof Error||r==null?null:Number(r),ttlMs:a instanceof Error?-1:Number(a)}});e=_(e,n),D(e)}r+=o.length,k({scanned:r,total:Number.isFinite(t)?t:null})}while(n!==`0`&&r<w&&!P.current)}catch(e){N(d(e))}finally{j(!1),I(e=>e+1)}},R=e=>E&&E.totalBytes>0?`${(e/E.totalBytes*100).toFixed(1)}%`:``,z={none:p(`tools.redis.ttlNone`),lt1h:`< 1h`,lt1d:`< 1d`,lt1w:`< 1w`,ge1w:`≥ 1w`},B=O?.total?Math.min(100,Math.round(O.scanned/O.total*100)):null;return(0,y.jsx)(u,{title:p(`tools.redis.memory`),onRefresh:async()=>{A||await L()},error:M,onDismissError:()=>N(null),actions:(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(l,{access:m,value:g,onChange:C,disabled:A,version:F}),(0,y.jsx)(`select`,{value:w,disabled:A,onChange:e=>T(Number(e.target.value)),className:`h-7 rounded border bg-background px-1 text-xs`,children:x.map(e=>(0,y.jsx)(`option`,{value:e,children:p(`tools.redis.upTo`,{count:e.toLocaleString()})},e))}),A?(0,y.jsx)(`button`,{type:`button`,onClick:()=>{P.current=!0},className:`flex h-7 items-center rounded border bg-background px-2 text-muted-foreground hover:text-foreground`,children:p(`tools.stop`)}):(0,y.jsx)(`button`,{type:`button`,onClick:()=>void L(),className:`flex h-7 items-center rounded border border-primary/30 bg-primary/10 px-2 text-primary hover:bg-primary/20`,children:p(`tools.redis.analyze`)})]}),children:(0,y.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:p(`tools.redis.memoryNote`)}),O&&(0,y.jsxs)(`div`,{className:`space-y-1`,children:[(0,y.jsx)(`div`,{className:`h-1.5 w-full max-w-xl overflow-hidden rounded bg-muted`,children:(0,y.jsx)(`div`,{className:`h-full bg-primary transition-all`,style:{width:`${B??(A?30:100)}%`}})}),(0,y.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[p(`tools.redis.scanned`,{scanned:O.scanned.toLocaleString(),total:O.total?.toLocaleString()??`?`}),!A&&O.total!==null&&O.scanned<O.total&&` · ${p(`tools.redis.partial`)}`]})]}),E&&E.analyzed===0&&!A&&(0,y.jsx)(`p`,{className:`rounded border border-dashed p-6 text-center text-sm text-muted-foreground`,children:p(`tools.redis.noKeys`,{database:g})}),E&&E.analyzed>0&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`flex flex-wrap gap-6 text-sm`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:p(`tools.redis.keysAnalyzed`)}),(0,y.jsx)(`div`,{className:`font-semibold tabular-nums`,children:E.analyzed.toLocaleString()})]}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:p(`tools.redis.totalMemory`)}),(0,y.jsx)(`div`,{className:`font-semibold`,children:s(E.totalBytes)})]}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:p(`tools.redis.average`)}),(0,y.jsx)(`div`,{className:`font-semibold`,children:s(Math.round(E.totalBytes/E.analyzed))})]})]}),E.missingSizes>0&&(0,y.jsx)(`p`,{className:`text-xs text-catppuccin-yellow`,children:p(`tools.redis.missingSizes`,{count:E.missingSizes})}),(0,y.jsxs)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(320px,1fr))] gap-6`,children:[(0,y.jsx)(S,{title:p(`tools.redis.byType`),rows:v(E.byType).map(([e,t])=>[e,t.count.toLocaleString(),s(t.bytes),R(t.bytes)])}),(0,y.jsx)(S,{title:p(`tools.redis.byTtl`),rows:Object.keys(z).map(e=>[z[e],E.ttl[e].count.toLocaleString(),s(E.ttl[e].bytes),R(E.ttl[e].bytes)])}),(0,y.jsx)(S,{title:p(`tools.redis.byPrefix`),rows:v(E.byPrefix).slice(0,100).map(([e,t])=>[e,t.count.toLocaleString(),s(t.bytes),R(t.bytes)]),onRow:m.readOnly?void 0:t=>{t.endsWith(`:`)&&o(e,`redis-delete`,p(`tools.redis.delete`),`${g} ${t}*`)}}),(0,y.jsx)(S,{title:p(`tools.redis.largest`),rows:E.top.map(e=>[e.key,e.type,s(e.bytes)]),onRow:t=>a(e,{database:g,name:t})})]}),!m.readOnly&&(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:p(`tools.redis.prefixHint`)})]})]})})}export{C as MemoryAnalysis};
|
|
@@ -1 +1 @@
|
|
|
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 ee,o as te,t as ne}from"./DzRyVlxz.js";import{a as s,i as c,n as l,r as u,t as d}from"./
|
|
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 ee,o as te,t as ne}from"./DzRyVlxz.js";import{a as s,i as c,n as l,r as u,t as d}from"./B3qo2BmL.js";import{t as re}from"./CAd2f6EE.js";import{n as f,t as ie}from"./D8_hwGjG.js";import{a as ae}from"./BghfQrAj.js";import{r as p}from"./Ci1xBOLy.js";import{f as m}from"./DpPKm22O.js";import{F as oe,K as se,c as h,l as g,q as ce}from"./B_zu4Zim.js";var _=e(t(),1),v=i(),y=e=>e instanceof Error?e.message:String(e),b=e=>e.hostName||e.host||e.file||e.id,le=`w-full rounded border bg-background px-2 py-1 text-xs font-mono outline-none focus:ring-1 focus:ring-primary disabled:opacity-50 min-h-[160px] resize-y`;function x(){let{t:e}=r(),t=f(e=>e.activeDialog),i=f(e=>e.closeDialog),x=f(e=>e.showMessage),S=ie(`copy-table`),C=re(e=>e.activeConnections),w=t===`copy-table`,T=S?.connectionId??``,E=String(S?.metadata?.database??``),D=S?.nodeText??``,O=C.find(e=>e.id===T),ue=C.filter(e=>e.serverConnectionId),[k,de]=(0,_.useState)(T),[A,j]=(0,_.useState)([]),[M,N]=(0,_.useState)(``),[P,F]=(0,_.useState)(D),[I,L]=(0,_.useState)(`structure_data`),[R,z]=(0,_.useState)(`abort`),[B,V]=(0,_.useState)(``),[H,U]=(0,_.useState)(null),[W,G]=(0,_.useState)(null),[K,q]=(0,_.useState)(null),[J,Y]=(0,_.useState)(!1),X=(0,_.useRef)(null),Z=C.find(e=>e.id===k),Q=Z?p(k):null,fe=!!O&&!!Z&&p(T).id===Q?.id;(0,_.useEffect)(()=>{if(!w||!Z?.serverConnectionId)return;let e=!1,t=p(k),n=ae(Z.serverConnectionId);return(async()=>{j([]);try{let r=await t.introspect.listDatabases(n);if(e)return;j(r);let i=k===T,a=i||r.includes(E)?E:r[0]??``;N(a),F(e=>i&&a===E&&e===D?`${D}_copy`:e)}catch(t){e||q(y(t))}})(),()=>{e=!0}},[w,k]),(0,_.useEffect)(()=>{if(!w||!Z||!M||!P.trim()||!O)return;let e=!1;return(async()=>{U(null);try{let t=await se({connectionId:T,database:E,table:D},{connectionId:k,database:M,table:P.trim()});e||V(p(k).ddl.createTable(t))}catch(t){e||U(y(t))}})(),()=>{e=!0}},[w,k,M,P]);function $(e){if(!e){if(J){X.current?.abort();return}i()}}async function pe(){if(!M||!P.trim()||!B.trim())return;Y(!0),q(null),G({phase:`create`,copied:0,total:null});let t=new AbortController;X.current=t;try{let n=await ce({source:{connectionId:T,database:E,table:D},target:{connectionId:k,database:M,table:P.trim()},mode:I,onConflict:R,createSql:B},G,t.signal);i(),await x({title:e(`table.copy.doneTitle`),description:I===`structure_data`?e(`table.copy.doneRows`,{count:n.rows,table:P.trim()}):e(`table.copy.doneStructure`,{table:P.trim()}),tone:`success`})}catch(e){e instanceof m||q(y(e)),G(null)}finally{Y(!1),X.current=null}}let me=W?.phase===`copy`&&W.total?Math.min(100,Math.round(W.copied/W.total*100)):null,he=W?W.phase===`create`?e(`table.copy.progressCreate`):W.phase===`count`?e(`table.copy.progressCount`):W.phase===`copy`?e(`table.copy.progressRows`,{copied:W.copied,total:W.total??`?`}):e(`table.copy.progressDone`):``;return(0,v.jsx)(ne,{open:w,onOpenChange:$,children:(0,v.jsxs)(ee,{className:`sm:max-w-[640px]`,children:[(0,v.jsx)(a,{children:(0,v.jsx)(te,{children:e(`table.copy.title`)})}),(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{children:e(`table.copy.source`)}),(0,v.jsx)(g,{value:O?`${b(O)} / ${E} / ${D}`:``,disabled:!0})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{htmlFor:`copy-target-conn`,children:e(`table.copy.targetConnection`)}),(0,v.jsxs)(d,{value:k,onValueChange:de,disabled:J,children:[(0,v.jsx)(c,{id:`copy-target-conn`,className:`w-full`,children:(0,v.jsx)(s,{})}),(0,v.jsx)(l,{children:ue.map(t=>(0,v.jsxs)(u,{value:t.id,children:[b(t),t.readOnly?` (${e(`table.copy.readOnly`)})`:``]},t.id))})]})]}),(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{htmlFor:`copy-target-db`,children:e(`table.copy.targetDatabase`)}),(0,v.jsxs)(d,{value:M,onValueChange:N,disabled:J||A.length===0,children:[(0,v.jsx)(c,{id:`copy-target-db`,className:`w-full`,children:(0,v.jsx)(s,{placeholder:e(`table.copy.loading`)})}),(0,v.jsx)(l,{children:A.map(e=>(0,v.jsx)(u,{value:e,children:e},e))})]})]})]}),(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{htmlFor:`copy-target-table`,children:e(`table.copy.targetTable`)}),(0,v.jsx)(g,{id:`copy-target-table`,value:P,onChange:e=>F(e.target.value),disabled:J,spellCheck:!1})]}),(0,v.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{children:e(`table.copy.what`)}),(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,v.jsx)(`input`,{type:`radio`,name:`copy-mode`,checked:I===`structure_data`,onChange:()=>L(`structure_data`),disabled:J}),e(`table.copy.structureAndData`)]}),(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,v.jsx)(`input`,{type:`radio`,name:`copy-mode`,checked:I===`structure_only`,onChange:()=>L(`structure_only`),disabled:J}),e(`table.copy.structureOnly`)]})]})]}),(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{children:e(`table.copy.ifExists`)}),(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,v.jsx)(`input`,{type:`radio`,name:`copy-conflict`,checked:R===`abort`,onChange:()=>z(`abort`),disabled:J}),e(`table.copy.abort`)]}),(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer text-destructive`,children:[(0,v.jsx)(`input`,{type:`radio`,name:`copy-conflict`,checked:R===`drop`,onChange:()=>z(`drop`),disabled:J}),e(`table.copy.dropAndRecreate`)]})]})]})]}),(0,v.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,v.jsx)(h,{htmlFor:`copy-ddl`,children:e(`table.copy.preview`)}),!fe&&Q&&(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`table.copy.crossEngineHint`,{engine:Q.label})}),(0,v.jsx)(`textarea`,{id:`copy-ddl`,className:le,value:B,onChange:e=>V(e.target.value),disabled:J,spellCheck:!1}),H&&(0,v.jsx)(`p`,{className:`text-xs text-destructive`,children:H})]}),W&&(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(oe,{value:me??(W.phase===`done`?100:0)}),(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:he})]}),K&&(0,v.jsx)(`p`,{className:`text-sm text-destructive whitespace-pre-wrap`,children:K})]}),(0,v.jsxs)(o,{children:[(0,v.jsx)(n,{variant:`outline`,onClick:()=>$(!1),children:e(J?`table.copy.stop`:`table.copy.cancel`)}),(0,v.jsx)(n,{onClick:()=>{pe()},disabled:J||!M||!P.trim()||!B.trim()||!!H,children:e(`table.copy.copy`)})]})]})})}export{x as CopyTableDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./Cu_sGzNJ.js";import{H as t}from"./
|
|
1
|
+
import{r as e}from"./Cu_sGzNJ.js";import{H as t}from"./B_zu4Zim.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./
|
|
1
|
+
import{a as e}from"./C9jzAIEJ.js";import{t}from"./Nro86Y63.js";import{t as n}from"./Bit0Kfog.js";var r=`http://127.0.0.1:8888`,i=n(`tunnelAgent`,()=>({url:null,token:null}));function a(e){i.url=e.url?.replace(/\/+$/,``)||null,i.token=e.token?.trim()||null}var o=new Set([`127.0.0.1`,`localhost`,`[::1]`,`::1`]);function s(e){try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&o.has(t.hostname)}catch{return!1}}function c(e){try{return typeof window<`u`&&new URL(e).origin===window.location.origin}catch{return!1}}function l(e){return s(e)||c(e)}function u(){return i.url!==null&&i.url!==`/api`&&!l(i.url)}function d(){return i.url??r}function f(){let t=d();return t===`/api`?e.t(`services.agent.devProxyUrl`,{url:`http://localhost:8888`}):t}async function p(){let t=f(),n;try{let e={};i.token&&(e.Authorization=`Bearer ${i.token}`),n=await(await fetch(`${d()}/health`,{cache:`no-store`,headers:e})).json()}catch(e){return{state:`offline`,url:t,message:e instanceof Error?e.message:String(e)}}if(n.name!==`planche`||typeof n.version!=`string`||!/^[\w.+-]{1,32}$/.test(n.version))return{state:`offline`,url:t,message:e.t(`services.agent.notPlanche`)};let r=n.install===`standalone`?`standalone`:`npx`;return n.protocolVersion===2?n.authorized===!1||i.token===null&&n.authorized===void 0?{state:`unauthorized`,url:t,version:n.version,install:r}:{state:`online`,url:t,version:n.version,activeConnections:n.activeConnections??0,install:r,...n.gateway?{gateway:n.gateway}:{}}:{state:`outdated`,url:t,version:n.version,protocolVersion:n.protocolVersion??0,install:r}}async function m(){let t=await fetch(`${d()}/profiles`,{cache:`no-store`,headers:M()}),n=await t.json().catch(()=>null);if(!t.ok||!n||n.success!==!0)throw new N(n?.message??e.t(`services.agent.httpError`,{status:t.status,statusText:t.statusText}),t.status);return n}async function h(){return E(`/ai/config`,{method:`GET`})}async function g(e){return E(`/ai/config`,{method:`PUT`,body:JSON.stringify(e)})}async function _(){return E(`/ai/config`,{method:`DELETE`})}async function v(){try{return(await(await fetch(`${d()}/health`,{cache:`no-store`,headers:M()})).json()).ai?.tools===!0}catch{return!1}}async function y(e){await E(`/bridge/tools`,{method:`POST`,body:JSON.stringify({tools:e})})}async function b(e,t,n){await E(`/bridge/result`,{method:`POST`,body:JSON.stringify({id:e,content:t,isError:n})})}async function x(t,n){let r=new AbortController,i=await fetch(`${d()}/bridge/events`,{headers:M(),signal:r.signal,cache:`no-store`});if(!i.ok||!i.body)throw new N(e.t(`services.agent.httpError`,{status:i.status,statusText:i.statusText}),i.status);return(async()=>{let e=i.body.getReader(),r=new TextDecoder,a=``;try{for(;;){let{done:n,value:i}=await e.read();if(n)break;a+=r.decode(i,{stream:!0});let o=a.indexOf(`
|
|
2
2
|
|
|
3
3
|
`);for(;o!==-1;){let e=a.slice(0,o);a=a.slice(o+2);for(let n of e.split(`
|
|
4
4
|
`))n.startsWith(`data: `)&&t(n.slice(6));o=a.indexOf(`
|