diff --git a/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js b/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js new file mode 100644 index 000000000..a04b1b49e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{a as r,o as i}from"./useValueAsRef.js";import{a,n as o,u as s}from"./dist.js";import{o as c,r as l}from"./button.js";import{b as u,r as d,s as f,t as p,x as m,y as h}from"./createBaseUIEventDetails.js";import{A as g,C as _,E as v,G as y,P as b,S as x,T as S,W as C,_ as w,b as T,c as E,h as D,j as O,m as k,n as A,p as j,r as M,t as N,v as P,x as F,y as I}from"./useScrollLock.js";var L=e(n(),1),R=L.createContext(void 0);function z(e){let t=L.useContext(R);if(!e&&t===void 0)throw Error(s(27));return t}var B=L.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...s}=e,c=z(),l=c.useState(`open`),u=c.useState(`nested`),d=c.useState(`mounted`),f={open:l,transitionStatus:c.useState(`transitionStatus`)};return o(`div`,e,{state:f,ref:[c.context.backdropRef,t],stateAttributesMapping:y,props:[{role:`presentation`,hidden:!d,style:{userSelect:`none`,WebkitUserSelect:`none`}},s],enabled:a||!u})}),V=L.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:s=!0,...c}=e,u=z(),f=u.useState(`open`),{getButtonProps:m,buttonRef:h}=l({disabled:a,native:s}),g={disabled:a};function _(e){f&&u.setOpen(!1,p(d,e.nativeEvent))}return o(`button`,e,{state:g,ref:[t,h],props:[{onClick:_},c,m]})}),H=L.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...s}=e,c=z(),l=m(a);return c.useSyncedValueWithCleanup(`descriptionElementId`,l),o(`p`,e,{ref:t,props:[{id:l},s]})});function U(){return new S({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new j,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function W(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:U(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:a,inactiveTriggerProps:a,popupProps:a}}function G(e,t,n=!1){return new S({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0})}var K=e=>e.triggerIdProp??e.activeTriggerId,q=e=>e.openProp??e.open,J=e=>(e.popupElement?.id??e.floatingId)||void 0;function Y(e,t){return t!==void 0&&q(e)&&K(e)===t}function X(e,t){return Y(e,t)?!0:t!==void 0&&q(e)&&K(e)==null&&e.triggerCount===1}var Z={open:q,mounted:e=>e.mounted,transitionStatus:e=>e.transitionStatus,floatingRootContext:e=>e.floatingRootContext,triggerCount:e=>e.triggerCount,preventUnmountingOnClose:e=>e.preventUnmountingOnClose,payload:e=>e.payload,activeTriggerId:K,activeTriggerElement:e=>e.mounted?e.activeTriggerElement:null,popupId:J,isTriggerActive:(e,t)=>t!==void 0&&K(e)===t,isOpenedByTrigger:(e,t)=>Y(e,t),isMountedByTrigger:(e,t)=>t!==void 0&&K(e)===t&&e.mounted,triggerProps:(e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps,triggerPopupId:(e,t)=>X(e,t)?J(e):void 0,popupProps:e=>e.popupProps,popupElement:e=>e.popupElement,positionerElement:e=>e.positionerElement},Q=L.createContext(void 0);function ee(){let e=L.useContext(Q);if(e===void 0)throw Error(s(26));return e}var te={...C,...r,nestedDialogOpen(e){return e?{"data-nested-dialog-open":``}:null}},$=t(),ne=L.forwardRef(function(e,t){let{render:n,className:r,style:a,finalFocus:s,initialFocus:c,...l}=e,u=z(),d=u.useState(`descriptionElementId`),f=u.useState(`disablePointerDismissal`),p=u.useState(`floatingRootContext`),m=u.useState(`popupProps`),h=u.useState(`modal`),g=u.useState(`mounted`),_=u.useState(`nested`),v=u.useState(`nestedOpenDialogCount`),y=u.useState(`open`),b=u.useState(`openMethod`),x=u.useState(`titleElementId`),S=u.useState(`transitionStatus`),C=u.useState(`role`),T=p.useState(`floatingId`);ee(),i({open:y,ref:u.context.popupRef,onComplete(){y&&u.context.onOpenChangeComplete?.(!0)}});let D=c===void 0?w(u.context.popupRef):c,A=v>0,j=u.useStateSetter(`popupElement`),M=o(`div`,e,{state:{open:y,nested:_,transitionStatus:S,nestedDialogOpen:A},props:[m,{id:T,"aria-labelledby":x,"aria-describedby":d,role:C,...k,hidden:!g,onKeyDown(e){E.has(e.key)&&e.stopPropagation()},style:{"--nested-dialogs":v}},l],ref:[t,u.context.popupRef,j],stateAttributesMapping:te});return(0,$.jsx)(O,{context:p,openInteractionType:b,disabled:!g,closeOnFocusOut:!f,initialFocus:D,returnFocus:s,modal:h!==!1,restoreFocus:`popup`,children:M})}),re=L.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,i=z(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,$.jsx)(Q.Provider,{value:n,children:(0,$.jsxs)(b,{ref:t,...r,children:[a&&o===!0&&(0,$.jsx)(A,{ref:i.context.internalBackdropRef,inert:M(!s)}),e.children]})}):null});function ie({store:e,parentContext:t,isDrawer:n}){let r=e.useState(`open`),i=e.useState(`disablePointerDismissal`),a=e.useState(`modal`),o=e.useState(`popupElement`),s=e.useState(`floatingRootContext`),[l,d]=L.useState(0),[f,p]=L.useState(0),m=l===0,_=g(s,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?`intentional`:{mouse:a===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(t){if(!e.context.outsidePressEnabledRef.current||`button`in t&&t.button!==0)return!1;if(`touches`in t){if(t.type===`touchend`){if(t.changedTouches.length!==1||t.touches.length!==0)return!1}else if(t.touches.length!==1)return!1}let n=u(t);if(m&&!i){if(a){let t=e.context.internalBackdropRef.current,r=e.context.backdropRef.current;return t||r?t===n||r===n||h(n,o)&&!n?.hasAttribute(`data-base-ui-portal`):!0}return!0}return!1},escapeKey:m});return N(r&&a===!0,o),e.useContextCallback(`onNestedDialogOpen`,(e,t)=>{d(e),p(t)}),c(()=>(t?.onNestedDialogOpen&&(r?t.onNestedDialogOpen(l+1,f+ +!!n):t.onNestedDialogOpen(0,0)),()=>{t?.onNestedDialogOpen&&r&&t.onNestedDialogOpen(0,0)}),[n,r,l,f,t]),F(e,{activeTriggerProps:_.reference,inactiveTriggerProps:_.trigger,popupProps:_.floating,nestedOpenDialogCount:l,nestedOpenDrawerCount:f}),null}var ae={...Z,modal:e=>e.modal,nested:e=>e.nested,nestedOpenDialogCount:e=>e.nestedOpenDialogCount,nestedOpenDrawerCount:e=>e.nestedOpenDrawerCount,disablePointerDismissal:e=>e.disablePointerDismissal,openMethod:e=>e.openMethod,descriptionElementId:e=>e.descriptionElementId,titleElementId:e=>e.titleElementId,viewportElement:e=>e.viewportElement,role:e=>e.role},oe=class extends v{constructor(e,t,n){let r=new j,i=se(e,r,t,n);super(i,ce(r),ae)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let n={open:e};P(n,e,t.trigger),this.update(n)}};function se(e,t,n,r=!1){let i={...W(),modal:!0,disablePointerDismissal:!1,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:`dialog`,...e};return i.floatingRootContext=G(t,n,r),i}function ce(e){return{popupRef:L.createRef(),backdropRef:L.createRef(),internalBackdropRef:L.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:e,onOpenChange:void 0,onOpenChangeComplete:void 0}}function le(e,t){let{children:n,open:r,defaultOpen:i=!1,onOpenChange:a,onOpenChangeComplete:o,disablePointerDismissal:s=!1,modal:c=!0,actionsRef:l,handle:u,triggerId:d,defaultTriggerId:m=null}=t,h=e===`drawer`,g=e===`alert-dialog`,v=g?!0:c,y=g||s,b=g?`alertdialog`:`dialog`,S=z(!0),C={modal:v,disablePointerDismissal:y,nested:S!=null,role:b},w=x((e,t)=>new oe({open:i,openProp:r,activeTriggerId:m,triggerIdProp:d,...C},e,t),!0);w.useControlledProp(`openProp`,r),w.useControlledProp(`triggerIdProp`,d),w.useSyncedValues(C),w.useContextCallback(`onOpenChange`,a),w.useContextCallback(`onOpenChangeComplete`,o);let E=w.useState(`open`),O=w.useState(`mounted`),k=w.useState(`payload`);_(w,E),I(w);let{forceUnmount:A}=T(E,w);L.useImperativeHandle(l,()=>({unmount:A,close:()=>w.setOpen(!1,p(f))}),[A,w]);let j=E||O;return(0,$.jsxs)(R.Provider,{value:w,children:[u&&(0,$.jsx)(D,{handle:u,store:w}),j&&(0,$.jsx)(ie,{store:w,parentContext:S?.context,isDrawer:h}),typeof n==`function`?n({payload:k}):n]})}var ue=L.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...s}=e,c=z(),l=m(a);return c.useSyncedValueWithCleanup(`titleElementId`,l),o(`h2`,e,{ref:t,props:[{id:l},s]})});export{W as a,H as c,ne as i,V as l,le as n,G as o,re as r,Z as s,ue as t,B as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/DirectionContext.js b/spinifex/services/spinifexui/frontend/dist/assets/DirectionContext.js new file mode 100644 index 000000000..7418c6fa1 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/DirectionContext.js @@ -0,0 +1 @@ +import{a as e,r as t}from"./compiler-runtime.js";var n=e(t(),1),r=n.createContext(void 0);function i(){return n.useContext(r)?.direction??`ltr`}export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_.js b/spinifex/services/spinifexui/frontend/dist/assets/_.js index d88bf53b1..0e0e15ee8 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/upload-button.js","assets/download.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/awsClient.js","assets/index.browser.js","assets/s3.js","assets/useMutation.js","assets/error-banner.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/s32.js","assets/queryOptions.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Jt as n,Xt as r,rt as i}from"./cluster-config.js";import{t as a}from"./s32.js";var o=e(`/_auth/s3/ls/$bucket/$`)({loader:async({context:e,params:t})=>{let n=r(t._splat??``);await e.queryClient.ensureQueryData(a(t.bucket,n))},head:({params:e})=>({meta:[{title:`${n(e._splat??``,`${e.bucket}/`)} | S3 | Mulga`}]}),component:t(()=>i(()=>import(`./_2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/upload-button.js","assets/download.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/awsClient.js","assets/index.browser.js","assets/s3.js","assets/useMutation.js","assets/mutation.js","assets/error-banner.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/s32.js","assets/queryOptions.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{Jt as n,Xt as r,rt as i}from"./cluster-config.js";import{t as a}from"./s32.js";var o=e(`/_auth/s3/ls/$bucket/$`)({loader:async({context:e,params:t})=>{let n=r(t._splat??``);await e.queryClient.ensureQueryData(a(t.bucket,n))},head:({params:e})=>({meta:[{title:`${n(e._splat??``,`${e.bucket}/`)} | S3 | Mulga`}]}),component:t(()=>i(()=>import(`./_2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_2.js b/spinifex/services/spinifexui/frontend/dist/assets/_2.js index 2b2f15b8d..2a0e9e790 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{Jt as i,Xt as a,Zt as o,nn as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{n as l,r as u,t as d}from"./upload-button.js";import{r as f}from"./s3.js";import{t as p}from"./s32.js";import{t as m}from"./error-banner.js";import{t as h}from"./_.js";var g=t(),_=e();function v(){let e=(0,g.c)(26),{bucket:t,_splat:v}=h.useParams(),y=a(v??``),{data:b}=n(p(t,y)),x=f(),S;e[0]===b.Contents?S=e[1]:(S=b.Contents??[],e[0]=b.Contents,e[1]=S);let C=S,w;e[2]===b.CommonPrefixes?w=e[3]:(w=b.CommonPrefixes??[],e[2]=b.CommonPrefixes,e[3]=w);let T=w,E=y.split(`/`).filter(Boolean),D=[{name:t,path:`/s3/ls/${t}`},...E.map((e,n)=>{let r=`${E.slice(0,n+1).join(`/`)}/`;return{name:e,path:`/s3/ls/${t}/${r}`}})],O=`${E.slice(0,-1).join(`/`)}/`,k;e[4]!==t||e[5]!==O||e[6]!==E.length?(k=E.length>1?(0,_.jsx)(c,{params:{bucket:t,_splat:O},to:`/s3/ls/$bucket/$`,children:`Back`}):(0,_.jsx)(c,{params:{bucket:t},to:`/s3/ls/$bucket`,children:`Back`}),e[4]=t,e[5]=O,e[6]=E.length,e[7]=k):k=e[7];let A;e[8]!==t||e[9]!==y||e[10]!==x.isPending||e[11]!==x.mutateAsync?(A=(0,_.jsx)(d,{bucket:t,isPending:x.isPending,onUpload:x.mutateAsync,prefix:y}),e[8]=t,e[9]=y,e[10]=x.isPending,e[11]=x.mutateAsync,e[12]=A):A=e[12];let j;e[13]===x.error?j=e[14]:(j=x.error&&(0,_.jsx)(m,{error:x.error,msg:`Failed to upload object`}),e[13]=x.error,e[14]=j);let M;e[15]!==t||e[16]!==T||e[17]!==y?(M=T.length>0&&(0,_.jsxs)(`div`,{className:`mb-6`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,_.jsx)(`div`,{className:`space-y-2`,children:T.map(e=>{if(!e.Prefix)return null;let n=s(o(e.Prefix,y)),r=i(e.Prefix,y);return(0,_.jsx)(u,{bucketName:t,folderName:n,fullPrefix:r},e.Prefix)})})]}),e[15]=t,e[16]=T,e[17]=y,e[18]=M):M=e[18];let N;e[19]!==t||e[20]!==C||e[21]!==y?(N=C.length>0&&(0,_.jsxs)(`div`,{className:`space-y-2`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),C.map(e=>{if(!e.Key)return null;let n=o(e.Key,y),r=i(e.Key,y);return(0,_.jsx)(l,{bucketName:t,displayName:n,fullKey:r,object:e},e.Key)})]}),e[19]=t,e[20]=C,e[21]=y,e[22]=N):N=e[22];let P;return e[23]!==T.length||e[24]!==C.length?(P=C.length===0&&T.length===0&&(0,_.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this folder.`}),e[23]=T.length,e[24]=C.length,e[25]=P):P=e[25],(0,_.jsxs)(_.Fragment,{children:[k,(0,_.jsx)(`div`,{className:`mb-6`,children:(0,_.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,_.jsx)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:D.map((e,t)=>(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t>0&&(0,_.jsx)(`span`,{children:`/`}),t===D.length-1?(0,_.jsx)(`span`,{className:`text-foreground`,children:e.name}):(0,_.jsx)(r,{className:`hover:text-foreground`,to:e.path,children:e.name})]},e.path))}),A]})}),j,M,N,P]})}export{v as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{Jt as i,Xt as a,Zt as o,nn as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{n as l,r as u,t as d}from"./upload-button.js";import{r as f}from"./s3.js";import{t as p}from"./s32.js";import{t as m}from"./_.js";import{t as h}from"./error-banner.js";var g=t(),_=e();function v(){let e=(0,g.c)(26),{bucket:t,_splat:v}=m.useParams(),y=a(v??``),{data:b}=n(p(t,y)),x=f(),S;e[0]===b.Contents?S=e[1]:(S=b.Contents??[],e[0]=b.Contents,e[1]=S);let C=S,w;e[2]===b.CommonPrefixes?w=e[3]:(w=b.CommonPrefixes??[],e[2]=b.CommonPrefixes,e[3]=w);let T=w,E=y.split(`/`).filter(Boolean),D=[{name:t,path:`/s3/ls/${t}`},...E.map((e,n)=>{let r=`${E.slice(0,n+1).join(`/`)}/`;return{name:e,path:`/s3/ls/${t}/${r}`}})],O=`${E.slice(0,-1).join(`/`)}/`,k;e[4]!==t||e[5]!==O||e[6]!==E.length?(k=E.length>1?(0,_.jsx)(c,{params:{bucket:t,_splat:O},to:`/s3/ls/$bucket/$`,children:`Back`}):(0,_.jsx)(c,{params:{bucket:t},to:`/s3/ls/$bucket`,children:`Back`}),e[4]=t,e[5]=O,e[6]=E.length,e[7]=k):k=e[7];let A;e[8]!==t||e[9]!==y||e[10]!==x.isPending||e[11]!==x.mutateAsync?(A=(0,_.jsx)(d,{bucket:t,isPending:x.isPending,onUpload:x.mutateAsync,prefix:y}),e[8]=t,e[9]=y,e[10]=x.isPending,e[11]=x.mutateAsync,e[12]=A):A=e[12];let j;e[13]===x.error?j=e[14]:(j=x.error&&(0,_.jsx)(h,{error:x.error,msg:`Failed to upload object`}),e[13]=x.error,e[14]=j);let M;e[15]!==t||e[16]!==T||e[17]!==y?(M=T.length>0&&(0,_.jsxs)(`div`,{className:`mb-6`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,_.jsx)(`div`,{className:`space-y-2`,children:T.map(e=>{if(!e.Prefix)return null;let n=s(o(e.Prefix,y)),r=i(e.Prefix,y);return(0,_.jsx)(u,{bucketName:t,folderName:n,fullPrefix:r},e.Prefix)})})]}),e[15]=t,e[16]=T,e[17]=y,e[18]=M):M=e[18];let N;e[19]!==t||e[20]!==C||e[21]!==y?(N=C.length>0&&(0,_.jsxs)(`div`,{className:`space-y-2`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),C.map(e=>{if(!e.Key)return null;let n=o(e.Key,y),r=i(e.Key,y);return(0,_.jsx)(l,{bucketName:t,displayName:n,fullKey:r,object:e},e.Key)})]}),e[19]=t,e[20]=C,e[21]=y,e[22]=N):N=e[22];let P;return e[23]!==T.length||e[24]!==C.length?(P=C.length===0&&T.length===0&&(0,_.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this folder.`}),e[23]=T.length,e[24]=C.length,e[25]=P):P=e[25],(0,_.jsxs)(_.Fragment,{children:[k,(0,_.jsx)(`div`,{className:`mb-6`,children:(0,_.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,_.jsx)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:D.map((e,t)=>(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t>0&&(0,_.jsx)(`span`,{children:`/`}),t===D.length-1?(0,_.jsx)(`span`,{className:`text-foreground`,children:e.name}):(0,_.jsx)(r,{className:`hover:text-foreground`,to:e.path,children:e.name})]},e.path))}),A]})}),j,M,N,P]})}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js b/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js index 55a219f41..291a20119 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_bucket2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/upload-button.js","assets/download.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/awsClient.js","assets/index.browser.js","assets/s3.js","assets/useMutation.js","assets/error-banner.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/s32.js","assets/queryOptions.js","assets/page-heading.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./s32.js";var i=e(`/_auth/s3/ls/$bucket/`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.bucket))},head:({params:e})=>({meta:[{title:`${e.bucket} | S3 | Mulga`}]}),component:t(()=>n(()=>import(`./_bucket2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_bucket2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/upload-button.js","assets/download.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/awsClient.js","assets/index.browser.js","assets/s3.js","assets/useMutation.js","assets/mutation.js","assets/error-banner.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/s32.js","assets/queryOptions.js","assets/page-heading.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./s32.js";var i=e(`/_auth/s3/ls/$bucket/`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.bucket))},head:({params:e})=>({meta:[{title:`${e.bucket} | S3 | Mulga`}]}),component:t(()=>n(()=>import(`./_bucket2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js b/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js index 27e756b18..efd1670a6 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{nn as r}from"./cluster-config.js";import{t as i}from"./back-link.js";import{n as a,r as o,t as s}from"./upload-button.js";import{r as c}from"./s3.js";import{t as l}from"./s32.js";import{t as u}from"./error-banner.js";import{t as d}from"./page-heading.js";import{t as f}from"./_bucket.js";var p=t(),m=e();function h(){let e=(0,p.c)(31),{bucket:t}=f.useParams(),h;e[0]===t?h=e[1]:(h=l(t),e[0]=t,e[1]=h);let{data:g}=n(h),_=c(),v;e[2]===g.Contents?v=e[3]:(v=g.Contents??[],e[2]=g.Contents,e[3]=v);let y=v,b;e[4]===g.CommonPrefixes?b=e[5]:(b=g.CommonPrefixes??[],e[4]=g.CommonPrefixes,e[5]=b);let x=b,S;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,m.jsx)(i,{to:`/s3/ls`,children:`Back to buckets`}),e[6]=S):S=e[6];let C;e[7]!==t||e[8]!==_.isPending||e[9]!==_.mutateAsync?(C=(0,m.jsx)(s,{bucket:t,isPending:_.isPending,onUpload:_.mutateAsync}),e[7]=t,e[8]=_.isPending,e[9]=_.mutateAsync,e[10]=C):C=e[10];let w;e[11]!==t||e[12]!==C?(w=(0,m.jsx)(d,{actions:C,title:t}),e[11]=t,e[12]=C,e[13]=w):w=e[13];let T;e[14]===_.error?T=e[15]:(T=_.error&&(0,m.jsx)(u,{error:_.error,msg:`Failed to upload object`}),e[14]=_.error,e[15]=T);let E;e[16]!==t||e[17]!==x?(E=x.length>0&&(0,m.jsxs)(`div`,{className:`mb-6`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,m.jsx)(`div`,{className:`space-y-2`,children:x.map(e=>{if(!e.Prefix)return null;let n=r(e.Prefix);return(0,m.jsx)(o,{bucketName:t,folderName:n,fullPrefix:e.Prefix},e.Prefix)})})]}),e[16]=t,e[17]=x,e[18]=E):E=e[18];let D;e[19]!==t||e[20]!==y?(D=y.length>0&&(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),y.map(e=>e.Key?(0,m.jsx)(a,{bucketName:t,displayName:e.Key,fullKey:e.Key,object:e},e.Key):null)]}),e[19]=t,e[20]=y,e[21]=D):D=e[21];let O;e[22]!==x.length||e[23]!==y.length?(O=y.length===0&&x.length===0&&(0,m.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this bucket.`}),e[22]=x.length,e[23]=y.length,e[24]=O):O=e[24];let k;return e[25]!==w||e[26]!==T||e[27]!==E||e[28]!==D||e[29]!==O?(k=(0,m.jsxs)(m.Fragment,{children:[S,w,T,E,D,O]}),e[25]=w,e[26]=T,e[27]=E,e[28]=D,e[29]=O,e[30]=k):k=e[30],k}export{h as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{nn as r}from"./cluster-config.js";import{t as i}from"./back-link.js";import{n as a,r as o,t as s}from"./upload-button.js";import{r as c}from"./s3.js";import{t as l}from"./s32.js";import{t as u}from"./_bucket.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";var p=t(),m=e();function h(){let e=(0,p.c)(31),{bucket:t}=u.useParams(),h;e[0]===t?h=e[1]:(h=l(t),e[0]=t,e[1]=h);let{data:g}=n(h),_=c(),v;e[2]===g.Contents?v=e[3]:(v=g.Contents??[],e[2]=g.Contents,e[3]=v);let y=v,b;e[4]===g.CommonPrefixes?b=e[5]:(b=g.CommonPrefixes??[],e[4]=g.CommonPrefixes,e[5]=b);let x=b,S;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,m.jsx)(i,{to:`/s3/ls`,children:`Back to buckets`}),e[6]=S):S=e[6];let C;e[7]!==t||e[8]!==_.isPending||e[9]!==_.mutateAsync?(C=(0,m.jsx)(s,{bucket:t,isPending:_.isPending,onUpload:_.mutateAsync}),e[7]=t,e[8]=_.isPending,e[9]=_.mutateAsync,e[10]=C):C=e[10];let w;e[11]!==t||e[12]!==C?(w=(0,m.jsx)(f,{actions:C,title:t}),e[11]=t,e[12]=C,e[13]=w):w=e[13];let T;e[14]===_.error?T=e[15]:(T=_.error&&(0,m.jsx)(d,{error:_.error,msg:`Failed to upload object`}),e[14]=_.error,e[15]=T);let E;e[16]!==t||e[17]!==x?(E=x.length>0&&(0,m.jsxs)(`div`,{className:`mb-6`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,m.jsx)(`div`,{className:`space-y-2`,children:x.map(e=>{if(!e.Prefix)return null;let n=r(e.Prefix);return(0,m.jsx)(o,{bucketName:t,folderName:n,fullPrefix:e.Prefix},e.Prefix)})})]}),e[16]=t,e[17]=x,e[18]=E):E=e[18];let D;e[19]!==t||e[20]!==y?(D=y.length>0&&(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),y.map(e=>e.Key?(0,m.jsx)(a,{bucketName:t,displayName:e.Key,fullKey:e.Key,object:e},e.Key):null)]}),e[19]=t,e[20]=y,e[21]=D):D=e[21];let O;e[22]!==x.length||e[23]!==y.length?(O=y.length===0&&x.length===0&&(0,m.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this bucket.`}),e[22]=x.length,e[23]=y.length,e[24]=O):O=e[24];let k;return e[25]!==w||e[26]!==T||e[27]!==E||e[28]!==D||e[29]!==O?(k=(0,m.jsxs)(m.Fragment,{children:[S,w,T,E,D,O]}),e[25]=w,e[26]=T,e[27]=E,e[28]=D,e[29]=O,e[30]=k):k=e[30],k}export{h as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js index d686a574c..d069a61b7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName4.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/triangle-alert.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/eks.js","assets/useMutation.js","assets/commandBuilder.js","assets/subnet-calculator.js","assets/json.js","assets/eks2.js","assets/iam2.js","assets/commandBuilder3.js","assets/zod.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/select.js","assets/useCompositeListItem.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{s as i,t as a,u as o}from"./eks2.js";var s=r(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),c=e(`/_auth/eks/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.clusterName)),e.queryClient.ensureQueryData(o(t.clusterName)),e.queryClient.ensureQueryData(a(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | EKS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName4.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55])),`component`)});export{s as n,c as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName4.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/triangle-alert.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/eks.js","assets/useMutation.js","assets/mutation.js","assets/commandBuilder.js","assets/json.js","assets/subnet-calculator.js","assets/eks2.js","assets/iam2.js","assets/commandBuilder3.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/gpu-instance-type-select.js","assets/select.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{s as i,t as a,u as o}from"./eks2.js";var s=r(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),c=e(`/_auth/eks/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.clusterName)),e.queryClient.ensureQueryData(o(t.clusterName)),e.queryClient.ensureQueryData(a(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | EKS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName4.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61])),`component`)});export{s as n,c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js index 476806e75..0cd82b93d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName3.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/signed-fetch.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/useCompositeListItem.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,s as i,t as a}from"./ecs.js";var o=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a(t.clusterName)),e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName3.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName3.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/mutation.js","assets/signed-fetch.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/gpu-instance-type-select.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/tabs.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,s as i,t as a}from"./ecs.js";var o=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a(t.clusterName)),e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName3.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js index f933d177e..89c2572eb 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{t as d}from"./input.js";import{a as f,t as p}from"./field.js";import{a as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x}from"./alert-dialog.js";import{O as S,c as C,p as w,w as T}from"./ec2.js";import{i as E,r as D,s as O,t as ee}from"./ecs.js";import{i as k,l as A,o as j,r as M,u as N}from"./ecs2.js";import{t as te}from"./error-banner.js";import{t as P}from"./gpu-instance-type-select.js";import{t as F}from"./page-heading.js";import{t as I}from"./_clusterName2.js";import{t as L}from"./delete-confirmation-dialog.js";import{n as R,t as z}from"./detail-row.js";import{t as B}from"./state-badge.js";import{i as V,n as ne,r as H,t as re}from"./tabs.js";var U=r(),W=e(n(),1),G=t(),K=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function q({clusterName:e,open:t,onOpenChange:n}){let r=j(),{data:a}=i(S),{data:o}=i(T),{data:s}=i(w),{data:c}=i(C),l=a?.Subnets??[],u=o?.SecurityGroups??[],E=s?.KeyPairs??[],D=c?.InstanceTypes??[],[O,ee]=(0,W.useState)(`t3.small`),[k,A]=(0,W.useState)(1),[M,N]=(0,W.useState)(``),[F,I]=(0,W.useState)(``),[L,R]=(0,W.useState)(``);function z(e){e||(ee(`t3.small`),A(1),N(``),I(``),R(``),r.reset()),n(e)}async function B(){try{await r.mutateAsync({Cluster:e,InstanceType:O||void 0,Count:k,SubnetID:M,SecurityGroupID:F,KeyName:L||void 0}),z(!1)}catch{}}let V=r.isPending||M===``||F===``;return(0,G.jsx)(x,{onOpenChange:z,open:t,children:(0,G.jsxs)(h,{className:`max-h-[85vh] overflow-y-auto`,children:[(0,G.jsxs)(b,{children:[(0,G.jsx)(g,{children:`Provision EC2 capacity`}),(0,G.jsxs)(m,{children:[`Launch container instances into cluster “`,e,`”. They register automatically once booted.`]})]}),(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-instance-type`,children:`Instance type`})}),(0,G.jsx)(P,{id:`provision-instance-type`,instanceTypes:D,onValueChange:ee,value:O})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-count`,children:`Count`})}),(0,G.jsx)(d,{id:`provision-count`,max:10,min:1,onChange:e=>A(Number(e.target.value)),type:`number`,value:k})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-subnet`,children:`Subnet`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-subnet`,onChange:e=>N(e.target.value),value:M,children:[(0,G.jsx)(`option`,{value:``,children:`Select a subnet`}),l.map(e=>(0,G.jsxs)(`option`,{value:e.SubnetId??``,children:[e.SubnetId,` (`,e.CidrBlock,e.AvailabilityZone?`, ${e.AvailabilityZone}`:``,`)`]},e.SubnetId))]})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-sg`,children:`Security group`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-sg`,onChange:e=>I(e.target.value),value:F,children:[(0,G.jsx)(`option`,{value:``,children:`Select a security group`}),u.map(e=>(0,G.jsxs)(`option`,{value:e.GroupId??``,children:[e.GroupId,` (`,e.GroupName,`)`]},e.GroupId))]})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-key`,children:`Key pair`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-key`,onChange:e=>R(e.target.value),value:L,children:[(0,G.jsx)(`option`,{value:``,children:`None`}),E.map(e=>(0,G.jsx)(`option`,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId))]})]})]}),r.error&&(0,G.jsx)(te,{error:r.error instanceof Error?r.error:void 0,msg:`Failed to provision capacity.`}),(0,G.jsxs)(v,{children:[(0,G.jsx)(y,{children:`Cancel`}),(0,G.jsx)(_,{disabled:V,onClick:e=>{e.preventDefault(),B()},children:r.isPending?`Provisioning…`:`Provision`})]})]})})}var J={drain:`Drain`,activate:`Activate`,deregister:`Deregister`},Y={drain:`Draining force-stops the service-owned tasks on this instance so it can be retired.`,activate:`This returns the instance to ACTIVE so the scheduler can place tasks on it again.`,deregister:`This force-removes the container instance record. Any tasks it still holds are stopped.`};function ie(e){let t=(0,U.c)(28),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=D(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=N(),s=k(),[c,l]=(0,W.useState)(null),[d,f]=(0,W.useState)(!1),p;t[2]!==n||t[3]!==s||t[4]!==c||t[5]!==o?(p=function(){if(!c)return;let e=()=>l(null);if(c.action===`deregister`){s.mutate({cluster:n,containerInstance:c.arn},{onSuccess:e});return}o.mutate({cluster:n,containerInstance:c.arn,status:c.action===`drain`?`DRAINING`:`ACTIVE`},{onSuccess:e})},t[2]=n,t[3]=s,t[4]=c,t[5]=o,t[6]=p):p=t[6];let m=p,h=o.isError||s.isError,g=o.error??s.error,_=o.isPending||s.isPending,v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(u,{onClick:()=>f(!0),size:`sm`,children:`Provision EC2 capacity`})}),t[7]=v):v=t[7];let y;t[8]!==g||t[9]!==h?(y=h&&(0,G.jsx)(te,{error:g instanceof Error?g:void 0,msg:`Container instance action failed.`}),t[8]=g,t[9]=h,t[10]=y):y=t[10];let b;t[11]===i?b=t[12]:(b=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No container instances found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`EC2 Instance`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=e.containerInstanceArn??``,n=e.status===`DRAINING`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.ec2InstanceId}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(u,{"aria-label":n?`Activate container instance`:`Drain container instance`,onClick:()=>l({arn:t,action:n?`activate`:`drain`}),size:`sm`,variant:`outline`,children:n?`Activate`:`Drain`}),(0,G.jsx)(u,{onClick:()=>l({arn:t,action:`deregister`}),size:`sm`,variant:`destructive`,children:`Deregister`})]})})]},t)})})]})}),t[11]=i,t[12]=b);let x;t[13]!==n||t[14]!==d?(x=(0,G.jsx)(q,{clusterName:n,onOpenChange:f,open:d}),t[13]=n,t[14]=d,t[15]=x):x=t[15];let S=c?J[c.action]:`Confirm`,C=c?Y[c.action]:``,w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&l(null),t[16]=w):w=t[16];let T=c!==null,E;t[17]!==m||t[18]!==_||t[19]!==T||t[20]!==S||t[21]!==C?(E=(0,G.jsx)(L,{confirmLabel:S,description:C,isPending:_,onConfirm:m,onOpenChange:w,open:T,title:`Container instance`}),t[17]=m,t[18]=_,t[19]=T,t[20]=S,t[21]=C,t[22]=E):E=t[22];let O;return t[23]!==E||t[24]!==y||t[25]!==b||t[26]!==x?(O=(0,G.jsxs)(G.Fragment,{children:[v,y,b,x,E]}),t[23]=E,t[24]=y,t[25]=b,t[26]=x,t[27]=O):O=t[27],O}function X(e){return e?.split(`/`).at(-1)??``}function ae(e){let t=(0,U.c)(13),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=E(n),t[0]=n,t[1]=r);let{data:i}=a(r),s;t[2]===n?s=t[3]:(s={cluster:n},t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,G.jsx)(u,{size:`sm`,children:`Create service`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:s,to:`/ecs/create-service`,children:c})}),t[5]=s,t[6]=l);let d;t[7]!==n||t[8]!==i?(d=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No services found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task Definition`})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,serviceName:e.serviceName??``},to:`/ecs/list-clusters/$clusterName/services/$serviceName`,children:e.serviceName})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:X(e.taskDefinition)})]},e.serviceArn??e.serviceName))})]})}),t[7]=n,t[8]=i,t[9]=d):d=t[9];let f;return t[10]!==l||t[11]!==d?(f=(0,G.jsxs)(G.Fragment,{children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12],f}function Z(e){return e?.split(`/`).at(-1)??``}function oe(e){let t=(0,U.c)(27),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=O(n),t[0]=n,t[1]=r);let{data:i}=a(r),s=A(),[c,l]=(0,W.useState)(null),d;t[2]!==n||t[3]!==c||t[4]!==s?(d=function(){c&&s.mutate({cluster:n,task:c},{onSuccess:()=>l(null)})},t[2]=n,t[3]=c,t[4]=s,t[5]=d):d=t[5];let f=d,p;t[6]===n?p=t[7]:(p={cluster:n},t[6]=n,t[7]=p);let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,G.jsx)(u,{size:`sm`,children:`Run task`}),t[8]=m):m=t[8];let h;t[9]===p?h=t[10]:(h=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:p,to:`/ecs/run-task`,children:m})}),t[9]=p,t[10]=h);let g;t[11]!==s.error||t[12]!==s.isError?(g=s.isError&&(0,G.jsx)(te,{error:s.error instanceof Error?s.error:void 0,msg:`Failed to stop task.`}),t[11]=s.error,t[12]=s.isError,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==i?(_=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tasks found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Last Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Group`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=Z(e.taskArn),r=e.lastStatus!==`STOPPED`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,taskId:t},to:`/ecs/list-clusters/$clusterName/tasks/$taskId`,children:t})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.lastStatus})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredStatus}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.group}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,G.jsx)(u,{onClick:()=>l(e.taskArn??t),size:`sm`,variant:`destructive`,children:`Stop`})})]},t)})})]})}),t[14]=n,t[15]=i,t[16]=_):_=t[16];let v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>!e&&l(null),t[17]=v):v=t[17];let y=c!==null,b;t[18]!==f||t[19]!==s.isPending||t[20]!==y?(b=(0,G.jsx)(L,{confirmLabel:`Stop task`,description:`This stops the task and releases its ENI and reserved capacity.`,isPending:s.isPending,onConfirm:f,onOpenChange:v,open:y,pendingLabel:`Stopping…`,title:`Stop task`}),t[18]=f,t[19]=s.isPending,t[20]=y,t[21]=b):b=t[21];let x;return t[22]!==b||t[23]!==h||t[24]!==g||t[25]!==_?(x=(0,G.jsxs)(G.Fragment,{children:[h,g,_,b]}),t[22]=b,t[23]=h,t[24]=g,t[25]=_,t[26]=x):x=t[26],x}function Q(e){let t=(0,U.c)(70),{clusterName:n}=e,r=s(),[i,o]=(0,W.useState)(!1),d;t[0]===n?d=t[1]:(d=ee(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=M(),m;t[2]!==n||t[3]!==p||t[4]!==r?(m=function(){p.mutate(n,{onSuccess:()=>{r({to:`/ecs/list-clusters`})}})},t[2]=n,t[3]=p,t[4]=r,t[5]=m):m=t[5];let h=m;if(!f){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[6]=e):e=t[6];let r;t[7]===n?r=t[8]:(r=(0,G.jsx)(F,{subtitle:`Cluster Details`,title:n}),t[7]=n,t[8]=r);let i;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Cluster not found.`}),t[9]=i):i=t[9];let a;return t[10]===r?a=t[11]:(a=(0,G.jsxs)(G.Fragment,{children:[e,r,i]}),t[10]=r,t[11]=a),a}let g;t[12]===f.tags?g=t[13]:(g=f.tags??[],t[12]=f.tags,t[13]=g);let _=g,v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>o(!0),t[15]=y):y=t[15];let b;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,G.jsxs)(u,{onClick:y,size:`sm`,variant:`destructive`,children:[(0,G.jsx)(l,{className:`size-4`}),`Delete`]}),t[16]=b):b=t[16];let x;t[17]===f.status?x=t[18]:(x=(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b,(0,G.jsx)(B,{state:f.status})]}),t[17]=f.status,t[18]=x);let S;t[19]!==n||t[20]!==x?(S=(0,G.jsx)(F,{actions:x,subtitle:`Cluster Details`,title:n}),t[19]=n,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==p.error||t[23]!==p.isError?(C=p.isError&&(0,G.jsx)(te,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[22]=p.error,t[23]=p.isError,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,G.jsx)(R.Header,{children:`Overview`}),t[25]=w):w=t[25];let T;t[26]===f.clusterArn?T=t[27]:(T=(0,G.jsx)(z,{label:`ARN`,value:f.clusterArn}),t[26]=f.clusterArn,t[27]=T);let E;t[28]===f.status?E=t[29]:(E=(0,G.jsx)(z,{label:`Status`,value:f.status}),t[28]=f.status,t[29]=E);let D=String(f.activeServicesCount??0),O;t[30]===D?O=t[31]:(O=(0,G.jsx)(z,{label:`Active services`,value:D}),t[30]=D,t[31]=O);let k=String(f.runningTasksCount??0),A;t[32]===k?A=t[33]:(A=(0,G.jsx)(z,{label:`Running tasks`,value:k}),t[32]=k,t[33]=A);let j=String(f.pendingTasksCount??0),N;t[34]===j?N=t[35]:(N=(0,G.jsx)(z,{label:`Pending tasks`,value:j}),t[34]=j,t[35]=N);let P=String(f.registeredContainerInstancesCount??0),I;t[36]===P?I=t[37]:(I=(0,G.jsx)(z,{label:`Registered instances`,value:P}),t[36]=P,t[37]=I);let K;t[38]!==T||t[39]!==E||t[40]!==O||t[41]!==A||t[42]!==N||t[43]!==I?(K=(0,G.jsxs)(R,{children:[w,(0,G.jsxs)(R.Content,{children:[T,E,O,A,N,I]})]}),t[38]=T,t[39]=E,t[40]=O,t[41]=A,t[42]=N,t[43]=I,t[44]=K):K=t[44];let q;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,G.jsxs)(ne,{children:[(0,G.jsx)(V,{value:`services`,children:`Services`}),(0,G.jsx)(V,{value:`tasks`,children:`Tasks`}),(0,G.jsx)(V,{value:`infrastructure`,children:`Infrastructure`}),(0,G.jsx)(V,{value:`tags`,children:`Tags`})]}),t[45]=q):q=t[45];let J;t[46]===n?J=t[47]:(J=(0,G.jsx)(H,{value:`services`,children:(0,G.jsx)(ae,{clusterName:n})}),t[46]=n,t[47]=J);let Y;t[48]===n?Y=t[49]:(Y=(0,G.jsx)(H,{value:`tasks`,children:(0,G.jsx)(oe,{clusterName:n})}),t[48]=n,t[49]=Y);let X;t[50]===n?X=t[51]:(X=(0,G.jsx)(H,{value:`infrastructure`,children:(0,G.jsx)(ie,{clusterName:n})}),t[50]=n,t[51]=X);let Z;t[52]===_?Z=t[53]:(Z=(0,G.jsx)(H,{value:`tags`,children:_.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tags.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Key`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`})]})}),(0,G.jsx)(`tbody`,{children:_.map(se)})]})})}),t[52]=_,t[53]=Z);let Q;t[54]!==J||t[55]!==Y||t[56]!==X||t[57]!==Z?(Q=(0,G.jsxs)(re,{className:`mt-6`,defaultValue:`services`,children:[q,J,Y,X,Z]}),t[54]=J,t[55]=Y,t[56]=X,t[57]=Z,t[58]=Q):Q=t[58];let ce=`This permanently deletes cluster "${n}" and force-stops every task it holds. This cannot be undone.`,$;t[59]!==p.isPending||t[60]!==h||t[61]!==i||t[62]!==ce?($=(0,G.jsx)(L,{description:ce,isPending:p.isPending,onConfirm:h,onOpenChange:o,open:i,title:`Delete cluster`}),t[59]=p.isPending,t[60]=h,t[61]=i,t[62]=ce,t[63]=$):$=t[63];let le;return t[64]!==K||t[65]!==Q||t[66]!==$||t[67]!==S||t[68]!==C?(le=(0,G.jsxs)(G.Fragment,{children:[v,S,C,K,Q,$]}),t[64]=K,t[65]=Q,t[66]=$,t[67]=S,t[68]=C,t[69]=le):le=t[69],le}function se(e){return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.key}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.value})]},e.key)}function ce(){let e=(0,U.c)(2),{clusterName:t}=I.useParams(),n;return e[0]===t?n=e[1]:(n=(0,G.jsx)(Q,{clusterName:t}),e[0]=t,e[1]=n),n}export{ce as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{t as d}from"./input.js";import{O as f,c as p,p as m,w as h}from"./ec2.js";import{i as g,r as _,s as v,t as y}from"./ecs.js";import{i as b,l as x,o as S,r as C,u as w}from"./ecs2.js";import{t as T}from"./_clusterName2.js";import{t as ee}from"./error-banner.js";import{t as E}from"./page-heading.js";import{a as D,t as O}from"./field.js";import{a as k,i as A,l as j,n as te,o as M,r as N,s as P,t as F}from"./alert-dialog.js";import{t as I}from"./delete-confirmation-dialog.js";import{n as L,t as R}from"./detail-row.js";import{t as z}from"./state-badge.js";import{t as B}from"./gpu-instance-type-select.js";import{i as V,n as ne,r as H,t as re}from"./tabs.js";var U=r(),W=e(n(),1),G=t(),K=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function q({clusterName:e,open:t,onOpenChange:n}){let r=S(),{data:a}=i(f),{data:o}=i(h),{data:s}=i(m),{data:c}=i(p),l=a?.Subnets??[],u=o?.SecurityGroups??[],g=s?.KeyPairs??[],_=c?.InstanceTypes??[],[v,y]=(0,W.useState)(`t3.small`),[b,x]=(0,W.useState)(1),[C,w]=(0,W.useState)(``),[T,E]=(0,W.useState)(``),[I,L]=(0,W.useState)(``);function R(e){e||(y(`t3.small`),x(1),w(``),E(``),L(``),r.reset()),n(e)}async function z(){try{await r.mutateAsync({Cluster:e,InstanceType:v||void 0,Count:b,SubnetID:C,SecurityGroupID:T,KeyName:I||void 0}),R(!1)}catch{}}let V=r.isPending||C===``||T===``;return(0,G.jsx)(F,{onOpenChange:R,open:t,children:(0,G.jsxs)(A,{className:`max-h-[85vh] overflow-y-auto`,children:[(0,G.jsxs)(P,{children:[(0,G.jsx)(j,{children:`Provision EC2 capacity`}),(0,G.jsxs)(k,{children:[`Launch container instances into cluster “`,e,`”. They register automatically once booted.`]})]}),(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(O,{children:[(0,G.jsx)(D,{children:(0,G.jsx)(`label`,{htmlFor:`provision-instance-type`,children:`Instance type`})}),(0,G.jsx)(B,{id:`provision-instance-type`,instanceTypes:_,onValueChange:y,value:v})]}),(0,G.jsxs)(O,{children:[(0,G.jsx)(D,{children:(0,G.jsx)(`label`,{htmlFor:`provision-count`,children:`Count`})}),(0,G.jsx)(d,{id:`provision-count`,max:10,min:1,onChange:e=>x(Number(e.target.value)),type:`number`,value:b})]}),(0,G.jsxs)(O,{children:[(0,G.jsx)(D,{children:(0,G.jsx)(`label`,{htmlFor:`provision-subnet`,children:`Subnet`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-subnet`,onChange:e=>w(e.target.value),value:C,children:[(0,G.jsx)(`option`,{value:``,children:`Select a subnet`}),l.map(e=>(0,G.jsxs)(`option`,{value:e.SubnetId??``,children:[e.SubnetId,` (`,e.CidrBlock,e.AvailabilityZone?`, ${e.AvailabilityZone}`:``,`)`]},e.SubnetId))]})]}),(0,G.jsxs)(O,{children:[(0,G.jsx)(D,{children:(0,G.jsx)(`label`,{htmlFor:`provision-sg`,children:`Security group`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-sg`,onChange:e=>E(e.target.value),value:T,children:[(0,G.jsx)(`option`,{value:``,children:`Select a security group`}),u.map(e=>(0,G.jsxs)(`option`,{value:e.GroupId??``,children:[e.GroupId,` (`,e.GroupName,`)`]},e.GroupId))]})]}),(0,G.jsxs)(O,{children:[(0,G.jsx)(D,{children:(0,G.jsx)(`label`,{htmlFor:`provision-key`,children:`Key pair`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-key`,onChange:e=>L(e.target.value),value:I,children:[(0,G.jsx)(`option`,{value:``,children:`None`}),g.map(e=>(0,G.jsx)(`option`,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId))]})]})]}),r.error&&(0,G.jsx)(ee,{error:r.error instanceof Error?r.error:void 0,msg:`Failed to provision capacity.`}),(0,G.jsxs)(M,{children:[(0,G.jsx)(N,{children:`Cancel`}),(0,G.jsx)(te,{disabled:V,onClick:e=>{e.preventDefault(),z()},children:r.isPending?`Provisioning…`:`Provision`})]})]})})}var J={drain:`Drain`,activate:`Activate`,deregister:`Deregister`},Y={drain:`Draining force-stops the service-owned tasks on this instance so it can be retired.`,activate:`This returns the instance to ACTIVE so the scheduler can place tasks on it again.`,deregister:`This force-removes the container instance record. Any tasks it still holds are stopped.`};function ie(e){let t=(0,U.c)(28),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=_(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=w(),s=b(),[c,l]=(0,W.useState)(null),[d,f]=(0,W.useState)(!1),p;t[2]!==n||t[3]!==s||t[4]!==c||t[5]!==o?(p=function(){if(!c)return;let e=()=>l(null);if(c.action===`deregister`){s.mutate({cluster:n,containerInstance:c.arn},{onSuccess:e});return}o.mutate({cluster:n,containerInstance:c.arn,status:c.action===`drain`?`DRAINING`:`ACTIVE`},{onSuccess:e})},t[2]=n,t[3]=s,t[4]=c,t[5]=o,t[6]=p):p=t[6];let m=p,h=o.isError||s.isError,g=o.error??s.error,v=o.isPending||s.isPending,y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(u,{onClick:()=>f(!0),size:`sm`,children:`Provision EC2 capacity`})}),t[7]=y):y=t[7];let x;t[8]!==g||t[9]!==h?(x=h&&(0,G.jsx)(ee,{error:g instanceof Error?g:void 0,msg:`Container instance action failed.`}),t[8]=g,t[9]=h,t[10]=x):x=t[10];let S;t[11]===i?S=t[12]:(S=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No container instances found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`EC2 Instance`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=e.containerInstanceArn??``,n=e.status===`DRAINING`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.ec2InstanceId}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(z,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(u,{"aria-label":n?`Activate container instance`:`Drain container instance`,onClick:()=>l({arn:t,action:n?`activate`:`drain`}),size:`sm`,variant:`outline`,children:n?`Activate`:`Drain`}),(0,G.jsx)(u,{onClick:()=>l({arn:t,action:`deregister`}),size:`sm`,variant:`destructive`,children:`Deregister`})]})})]},t)})})]})}),t[11]=i,t[12]=S);let C;t[13]!==n||t[14]!==d?(C=(0,G.jsx)(q,{clusterName:n,onOpenChange:f,open:d}),t[13]=n,t[14]=d,t[15]=C):C=t[15];let T=c?J[c.action]:`Confirm`,E=c?Y[c.action]:``,D;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>!e&&l(null),t[16]=D):D=t[16];let O=c!==null,k;t[17]!==m||t[18]!==v||t[19]!==O||t[20]!==T||t[21]!==E?(k=(0,G.jsx)(I,{confirmLabel:T,description:E,isPending:v,onConfirm:m,onOpenChange:D,open:O,title:`Container instance`}),t[17]=m,t[18]=v,t[19]=O,t[20]=T,t[21]=E,t[22]=k):k=t[22];let A;return t[23]!==k||t[24]!==x||t[25]!==S||t[26]!==C?(A=(0,G.jsxs)(G.Fragment,{children:[y,x,S,C,k]}),t[23]=k,t[24]=x,t[25]=S,t[26]=C,t[27]=A):A=t[27],A}function X(e){return e?.split(`/`).at(-1)??``}function ae(e){let t=(0,U.c)(13),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=g(n),t[0]=n,t[1]=r);let{data:i}=a(r),s;t[2]===n?s=t[3]:(s={cluster:n},t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,G.jsx)(u,{size:`sm`,children:`Create service`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:s,to:`/ecs/create-service`,children:c})}),t[5]=s,t[6]=l);let d;t[7]!==n||t[8]!==i?(d=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No services found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task Definition`})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,serviceName:e.serviceName??``},to:`/ecs/list-clusters/$clusterName/services/$serviceName`,children:e.serviceName})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(z,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:X(e.taskDefinition)})]},e.serviceArn??e.serviceName))})]})}),t[7]=n,t[8]=i,t[9]=d):d=t[9];let f;return t[10]!==l||t[11]!==d?(f=(0,G.jsxs)(G.Fragment,{children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12],f}function Z(e){return e?.split(`/`).at(-1)??``}function oe(e){let t=(0,U.c)(27),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let{data:i}=a(r),s=x(),[c,l]=(0,W.useState)(null),d;t[2]!==n||t[3]!==c||t[4]!==s?(d=function(){c&&s.mutate({cluster:n,task:c},{onSuccess:()=>l(null)})},t[2]=n,t[3]=c,t[4]=s,t[5]=d):d=t[5];let f=d,p;t[6]===n?p=t[7]:(p={cluster:n},t[6]=n,t[7]=p);let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,G.jsx)(u,{size:`sm`,children:`Run task`}),t[8]=m):m=t[8];let h;t[9]===p?h=t[10]:(h=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:p,to:`/ecs/run-task`,children:m})}),t[9]=p,t[10]=h);let g;t[11]!==s.error||t[12]!==s.isError?(g=s.isError&&(0,G.jsx)(ee,{error:s.error instanceof Error?s.error:void 0,msg:`Failed to stop task.`}),t[11]=s.error,t[12]=s.isError,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==i?(_=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tasks found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Last Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Group`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=Z(e.taskArn),r=e.lastStatus!==`STOPPED`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,taskId:t},to:`/ecs/list-clusters/$clusterName/tasks/$taskId`,children:t})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(z,{state:e.lastStatus})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredStatus}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.group}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,G.jsx)(u,{onClick:()=>l(e.taskArn??t),size:`sm`,variant:`destructive`,children:`Stop`})})]},t)})})]})}),t[14]=n,t[15]=i,t[16]=_):_=t[16];let y;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>!e&&l(null),t[17]=y):y=t[17];let b=c!==null,S;t[18]!==f||t[19]!==s.isPending||t[20]!==b?(S=(0,G.jsx)(I,{confirmLabel:`Stop task`,description:`This stops the task and releases its ENI and reserved capacity.`,isPending:s.isPending,onConfirm:f,onOpenChange:y,open:b,pendingLabel:`Stopping…`,title:`Stop task`}),t[18]=f,t[19]=s.isPending,t[20]=b,t[21]=S):S=t[21];let C;return t[22]!==S||t[23]!==h||t[24]!==g||t[25]!==_?(C=(0,G.jsxs)(G.Fragment,{children:[h,g,_,S]}),t[22]=S,t[23]=h,t[24]=g,t[25]=_,t[26]=C):C=t[26],C}function Q(e){let t=(0,U.c)(70),{clusterName:n}=e,r=s(),[i,o]=(0,W.useState)(!1),d;t[0]===n?d=t[1]:(d=y(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=C(),m;t[2]!==n||t[3]!==p||t[4]!==r?(m=function(){p.mutate(n,{onSuccess:()=>{r({to:`/ecs/list-clusters`})}})},t[2]=n,t[3]=p,t[4]=r,t[5]=m):m=t[5];let h=m;if(!f){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[6]=e):e=t[6];let r;t[7]===n?r=t[8]:(r=(0,G.jsx)(E,{subtitle:`Cluster Details`,title:n}),t[7]=n,t[8]=r);let i;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Cluster not found.`}),t[9]=i):i=t[9];let a;return t[10]===r?a=t[11]:(a=(0,G.jsxs)(G.Fragment,{children:[e,r,i]}),t[10]=r,t[11]=a),a}let g;t[12]===f.tags?g=t[13]:(g=f.tags??[],t[12]=f.tags,t[13]=g);let _=g,v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[14]=v):v=t[14];let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>o(!0),t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,G.jsxs)(u,{onClick:b,size:`sm`,variant:`destructive`,children:[(0,G.jsx)(l,{className:`size-4`}),`Delete`]}),t[16]=x):x=t[16];let S;t[17]===f.status?S=t[18]:(S=(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[x,(0,G.jsx)(z,{state:f.status})]}),t[17]=f.status,t[18]=S);let w;t[19]!==n||t[20]!==S?(w=(0,G.jsx)(E,{actions:S,subtitle:`Cluster Details`,title:n}),t[19]=n,t[20]=S,t[21]=w):w=t[21];let T;t[22]!==p.error||t[23]!==p.isError?(T=p.isError&&(0,G.jsx)(ee,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[22]=p.error,t[23]=p.isError,t[24]=T):T=t[24];let D;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,G.jsx)(L.Header,{children:`Overview`}),t[25]=D):D=t[25];let O;t[26]===f.clusterArn?O=t[27]:(O=(0,G.jsx)(R,{label:`ARN`,value:f.clusterArn}),t[26]=f.clusterArn,t[27]=O);let k;t[28]===f.status?k=t[29]:(k=(0,G.jsx)(R,{label:`Status`,value:f.status}),t[28]=f.status,t[29]=k);let A=String(f.activeServicesCount??0),j;t[30]===A?j=t[31]:(j=(0,G.jsx)(R,{label:`Active services`,value:A}),t[30]=A,t[31]=j);let te=String(f.runningTasksCount??0),M;t[32]===te?M=t[33]:(M=(0,G.jsx)(R,{label:`Running tasks`,value:te}),t[32]=te,t[33]=M);let N=String(f.pendingTasksCount??0),P;t[34]===N?P=t[35]:(P=(0,G.jsx)(R,{label:`Pending tasks`,value:N}),t[34]=N,t[35]=P);let F=String(f.registeredContainerInstancesCount??0),B;t[36]===F?B=t[37]:(B=(0,G.jsx)(R,{label:`Registered instances`,value:F}),t[36]=F,t[37]=B);let K;t[38]!==O||t[39]!==k||t[40]!==j||t[41]!==M||t[42]!==P||t[43]!==B?(K=(0,G.jsxs)(L,{children:[D,(0,G.jsxs)(L.Content,{children:[O,k,j,M,P,B]})]}),t[38]=O,t[39]=k,t[40]=j,t[41]=M,t[42]=P,t[43]=B,t[44]=K):K=t[44];let q;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,G.jsxs)(ne,{children:[(0,G.jsx)(V,{value:`services`,children:`Services`}),(0,G.jsx)(V,{value:`tasks`,children:`Tasks`}),(0,G.jsx)(V,{value:`infrastructure`,children:`Infrastructure`}),(0,G.jsx)(V,{value:`tags`,children:`Tags`})]}),t[45]=q):q=t[45];let J;t[46]===n?J=t[47]:(J=(0,G.jsx)(H,{value:`services`,children:(0,G.jsx)(ae,{clusterName:n})}),t[46]=n,t[47]=J);let Y;t[48]===n?Y=t[49]:(Y=(0,G.jsx)(H,{value:`tasks`,children:(0,G.jsx)(oe,{clusterName:n})}),t[48]=n,t[49]=Y);let X;t[50]===n?X=t[51]:(X=(0,G.jsx)(H,{value:`infrastructure`,children:(0,G.jsx)(ie,{clusterName:n})}),t[50]=n,t[51]=X);let Z;t[52]===_?Z=t[53]:(Z=(0,G.jsx)(H,{value:`tags`,children:_.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tags.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Key`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`})]})}),(0,G.jsx)(`tbody`,{children:_.map(se)})]})})}),t[52]=_,t[53]=Z);let Q;t[54]!==J||t[55]!==Y||t[56]!==X||t[57]!==Z?(Q=(0,G.jsxs)(re,{className:`mt-6`,defaultValue:`services`,children:[q,J,Y,X,Z]}),t[54]=J,t[55]=Y,t[56]=X,t[57]=Z,t[58]=Q):Q=t[58];let ce=`This permanently deletes cluster "${n}" and force-stops every task it holds. This cannot be undone.`,$;t[59]!==p.isPending||t[60]!==h||t[61]!==i||t[62]!==ce?($=(0,G.jsx)(I,{description:ce,isPending:p.isPending,onConfirm:h,onOpenChange:o,open:i,title:`Delete cluster`}),t[59]=p.isPending,t[60]=h,t[61]=i,t[62]=ce,t[63]=$):$=t[63];let le;return t[64]!==K||t[65]!==Q||t[66]!==$||t[67]!==w||t[68]!==T?(le=(0,G.jsxs)(G.Fragment,{children:[v,w,T,K,Q,$]}),t[64]=K,t[65]=Q,t[66]=$,t[67]=w,t[68]=T,t[69]=le):le=t[69],le}function se(e){return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.key}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.value})]},e.key)}function ce(){let e=(0,U.c)(2),{clusterName:t}=T.useParams(),n;return e[0]===t?n=e[1]:(n=(0,G.jsx)(Q,{clusterName:t}),e[0]=t,e[1]=n),n}export{ce as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js index 9af39a532..2ed571de8 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c,t as l}from"./cluster-config.js";import{t as u}from"./back-link.js";import{t as d}from"./circle-arrow-up.js";import{n as f,t as p}from"./_clusterName.js";import{t as m}from"./cli-command-panel.js";import{t as h}from"./trash-2.js";import{t as g}from"./triangle-alert.js";import{t as _}from"./button.js";import{t as v}from"./input.js";import{a as y,n as b,r as x,t as S}from"./field.js";import{i as C,l as w,n as T,o as E,r as D,s as O,t as k}from"./alert-dialog.js";import{O as A,c as j}from"./ec2.js";import{C as M,S as N,T as P,_ as F,b as I,c as L,f as R,h as z,i as B,l as V,m as H,n as U,p as W,r as ee,s as G,u as K,v as q,w as te,x as J,y as ne}from"./eks.js";import{a as Y,i as re,l as ie,n as ae,o as oe,r as se,s as ce,t as le,u as ue}from"./eks2.js";import{y as de}from"./iam2.js";import{a as fe,i as pe,n as me,t as he}from"./zod.js";import{t as ge}from"./error-banner.js";import{n as _e,t as ve}from"./gpu-instance-type-select.js";import{t as ye}from"./page-heading.js";import{t as be}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as xe}from"./badge.js";import{i as Se,n as Ce,r as we,t as Te}from"./tabs.js";import{t as Ee}from"./json-editor.js";var De=r(),Q=e(n(),1),$=t();function Oe(e){return e?.split(`/`).pop()??e??``}function ke(e){let t=(0,De.c)(55),{clusterName:n,principalArn:r,onDelete:a}=e,o;t[0]!==n||t[1]!==r?(o=ae(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let{data:s}=i(o),c;t[3]!==n||t[4]!==r?(c=oe(n,r),t[3]=n,t[4]=r,t[5]=c):c=t[5];let{data:l}=i(c),u=W(),d=N(),[f,p]=(0,Q.useState)(U[0].arn),m=s?.accessEntry,g;t[6]===l?.associatedAccessPolicies?g=t[7]:(g=l?.associatedAccessPolicies??[],t[6]=l?.associatedAccessPolicies,t[7]=g);let v=g,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{className:`truncate font-mono text-xs`,children:r}),t[8]=r,t[9]=y);let b;t[10]!==a||t[11]!==r?(b=()=>a(r),t[10]=a,t[11]=r,t[12]=b):b=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(h,{className:`size-4`}),t[13]=x):x=t[13];let S;t[14]===b?S=t[15]:(S=(0,$.jsx)(_,{onClick:b,size:`icon`,variant:`ghost`,children:x}),t[14]=b,t[15]=S);let C;t[16]!==y||t[17]!==S?(C=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[y,S]})}),t[16]=y,t[17]=S,t[18]=C):C=t[18];let w=m?.type,T;t[19]===w?T=t[20]:(T=(0,$.jsx)(Z,{label:`Type`,value:w}),t[19]=w,t[20]=T);let E;t[21]===m?E=t[22]:(E=m?.kubernetesGroups?.length?m.kubernetesGroups.join(`, `):`—`,t[21]=m,t[22]=E);let D;t[23]===E?D=t[24]:(D=(0,$.jsx)(Z,{label:`Kubernetes groups`,value:E}),t[23]=E,t[24]=D);let O;t[25]!==v||t[26]!==n||t[27]!==d||t[28]!==r?(O=v.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:v.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:Oe(e.policyArn)}),(0,$.jsx)(_,{onClick:()=>d.mutate({clusterName:n,principalArn:r,policyArn:e.policyArn??``}),size:`sm`,variant:`ghost`,children:`Remove`})]},e.policyArn))}):`—`,t[25]=v,t[26]=n,t[27]=d,t[28]=r,t[29]=O):O=t[29];let k;t[30]===O?k=t[31]:(k=(0,$.jsx)(Z,{label:`Access policies`,value:O}),t[30]=O,t[31]=k);let A;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(e.target.value),t[32]=A):A=t[32];let j;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(j=U.map(Ae),t[33]=j):j=t[33];let M;t[34]===f?M=t[35]:(M=(0,$.jsx)(`select`,{"aria-label":`Access policy`,className:`h-7 flex-1 rounded-md border border-input bg-input/20 px-2 text-sm`,onChange:A,value:f,children:j}),t[34]=f,t[35]=M);let P;t[36]!==u||t[37]!==n||t[38]!==f||t[39]!==r?(P=()=>u.mutate({clusterName:n,principalArn:r,policyArn:f,accessScopeType:`cluster`}),t[36]=u,t[37]=n,t[38]=f,t[39]=r,t[40]=P):P=t[40];let F;t[41]!==u.isPending||t[42]!==P?(F=(0,$.jsx)(_,{disabled:u.isPending,onClick:P,size:`sm`,children:`Associate`}),t[41]=u.isPending,t[42]=P,t[43]=F):F=t[43];let I;t[44]!==M||t[45]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pt-2`,children:[M,F]}),t[44]=M,t[45]=F,t[46]=I):I=t[46];let L;t[47]!==T||t[48]!==D||t[49]!==k||t[50]!==I?(L=(0,$.jsxs)(X.Content,{children:[T,D,k,I]}),t[47]=T,t[48]=D,t[49]=k,t[50]=I,t[51]=L):L=t[51];let R;return t[52]!==L||t[53]!==C?(R=(0,$.jsxs)(X,{children:[C,L]}),t[52]=L,t[53]=C,t[54]=R):R=t[54],R}function Ae(e){return(0,$.jsx)(`option`,{value:e.arn,children:e.name},e.arn)}function je(e){let t=(0,De.c)(41),{clusterName:n,open:r,onOpenChange:i}=e,a=H(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:he(V),defaultValues:{principalArn:``,kubernetesGroups:``}},t[0]=o):o=t[0];let{formState:s,handleSubmit:c,register:l,reset:u}=pe(o),{errors:d}=s,f;t[1]!==n||t[2]!==a||t[3]!==i||t[4]!==u?(f=async e=>{await a.mutateAsync({clusterName:n,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups.split(`,`).map(Me).filter(Boolean)}),u(),i(!1)},t[1]=n,t[2]=a,t[3]=i,t[4]=u,t[5]=f):f=t[5];let p=f,m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(O,{children:(0,$.jsx)(w,{children:`Add access entry`})}),t[6]=m):m=t[6];let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ae-principal`,children:`IAM principal ARN`})}),t[7]=h):h=t[7];let g=!!d.principalArn,_;t[8]===l?_=t[9]:(_=l(`principalArn`),t[8]=l,t[9]=_);let b;t[10]!==g||t[11]!==_?(b=(0,$.jsx)(v,{"aria-invalid":g,id:`ae-principal`,placeholder:`arn:aws:iam::000000000000:role/my-role`,..._}),t[10]=g,t[11]=_,t[12]=b):b=t[12];let A;t[13]===d.principalArn?A=t[14]:(A=(0,$.jsx)(x,{errors:[d.principalArn]}),t[13]=d.principalArn,t[14]=A);let j;t[15]!==b||t[16]!==A?(j=(0,$.jsxs)(S,{children:[h,b,A]}),t[15]=b,t[16]=A,t[17]=j):j=t[17];let M;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ae-groups`,children:`Kubernetes groups`})}),t[18]=M):M=t[18];let N;t[19]===l?N=t[20]:(N=l(`kubernetesGroups`),t[19]=l,t[20]=N);let P;t[21]===N?P=t[22]:(P=(0,$.jsxs)(S,{children:[M,(0,$.jsx)(v,{id:`ae-groups`,placeholder:`system:masters`,...N})]}),t[21]=N,t[22]=P);let F;t[23]!==j||t[24]!==P?(F=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-access-entry-form`,children:[j,P]}),t[23]=j,t[24]=P,t[25]=F):F=t[25];let I;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(D,{children:`Cancel`}),t[26]=I):I=t[26];let L;t[27]!==c||t[28]!==p?(L=e=>{e.preventDefault(),c(p)()},t[27]=c,t[28]=p,t[29]=L):L=t[29];let R=a.isPending?`Creating…`:`Create`,z;t[30]!==a.isPending||t[31]!==L||t[32]!==R?(z=(0,$.jsxs)(E,{children:[I,(0,$.jsx)(T,{disabled:a.isPending,onClick:L,children:R})]}),t[30]=a.isPending,t[31]=L,t[32]=R,t[33]=z):z=t[33];let B;t[34]!==F||t[35]!==z?(B=(0,$.jsxs)(C,{children:[m,F,z]}),t[34]=F,t[35]=z,t[36]=B):B=t[36];let U;return t[37]!==i||t[38]!==r||t[39]!==B?(U=(0,$.jsx)(k,{onOpenChange:i,open:r,children:B}),t[37]=i,t[38]=r,t[39]=B,t[40]=U):U=t[40],U}function Me(e){return e.trim()}function Ne(e){let t=(0,De.c)(25),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=le(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=q(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),d;t[2]===i.accessEntries?d=t[3]:(d=i.accessEntries??[],t[2]=i.accessEntries,t[3]=d);let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(_,{onClick:()=>c(!0),size:`sm`,children:`Add access entry`})}),t[4]=p):p=t[4];let m;t[5]!==n||t[6]!==f?(m=f.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:f.map(e=>(0,$.jsx)(ke,{clusterName:n,onDelete:u,principalArn:e},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No access entries.`}),t[5]=n,t[6]=f,t[7]=m):m=t[7];let h;t[8]!==n||t[9]!==s?(h=(0,$.jsx)(je,{clusterName:n,onOpenChange:c,open:s}),t[8]=n,t[9]=s,t[10]=h):h=t[10];let g=`Delete access entry for "${l??``}"?`,v;t[11]!==n||t[12]!==o||t[13]!==l?(v=()=>{l&&o.mutate({clusterName:n,principalArn:l},{onSuccess:()=>u(void 0)})},t[11]=n,t[12]=o,t[13]=l,t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>!e&&u(void 0),t[15]=y):y=t[15];let b=l!==void 0,x;t[16]!==o.isPending||t[17]!==g||t[18]!==v||t[19]!==b?(x=(0,$.jsx)(be,{description:g,isPending:o.isPending,onConfirm:v,onOpenChange:y,open:b,title:`Delete access entry`}),t[16]=o.isPending,t[17]=g,t[18]=v,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==m||t[23]!==h?(S=(0,$.jsxs)($.Fragment,{children:[p,m,h,x]}),t[21]=x,t[22]=m,t[23]=h,t[24]=S):S=t[24],S}var Pe=new Set([`CREATING`,`UPDATING`,`DELETING`]),Fe=5e3,Ie=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function Le(e){let t=(0,De.c)(97),{clusterName:n,catalog:r,installed:i,open:a,onOpenChange:o}=e,s=z(),c;t[0]===i?c=t[1]:(c=new Set(i),t[0]=i,t[1]=c);let l=c,u;t[2]===l?u=t[3]:(u=e=>!l.has(e.addonName??``),t[2]=l,t[3]=u);let d=r.filter(u),f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f={resolver:he(K),defaultValues:{addonName:``,addonVersion:``,serviceAccountRoleArn:``,configurationValues:``}},t[4]=f):f=t[4];let{control:p,formState:m,handleSubmit:h,register:g,reset:_,setValue:b}=pe(f),{errors:A}=m,j;t[5]===p?j=t[6]:(j={control:p,name:`addonName`},t[5]=p,t[6]=j);let M=fe(j),N;t[7]===p?N=t[8]:(N={control:p,name:`addonVersion`},t[7]=p,t[8]=N);let P=fe(N),F;t[9]===M?F=t[10]:(F=e=>e.addonName===M,t[9]=M,t[10]=F);let I=r.find(F)?.addonVersions??[],L;t[11]===P?L=t[12]:(L=e=>e.addonVersion===P,t[11]=P,t[12]=L);let R=I.find(L)?.requiresIamPermissions??!1,B;t[13]!==r||t[14]!==b?(B=e=>{let t=r.find(t=>t.addonName===e)?.addonVersions?.[0]?.addonVersion??``;b(`addonName`,e,{shouldValidate:!0}),b(`addonVersion`,t,{shouldValidate:!0})},t[13]=r,t[14]=b,t[15]=B):B=t[15];let V=B,H;t[16]!==n||t[17]!==s||t[18]!==o||t[19]!==_?(H=async e=>{await s.mutateAsync({clusterName:n,addonName:e.addonName,addonVersion:e.addonVersion||void 0,serviceAccountRoleArn:e.serviceAccountRoleArn.trim()||void 0,configurationValues:e.configurationValues.trim()||void 0}),_(),o(!1)},t[16]=n,t[17]=s,t[18]=o,t[19]=_,t[20]=H):H=t[20];let U=H,W=k,ee=C,G;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(O,{children:(0,$.jsx)(w,{children:`Add add-on`})}),t[21]=G):G=t[21];let q;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-name`,children:`Add-on`})}),t[22]=q):q=t[22];let te=!!A.addonName,J;t[23]===V?J=t[24]:(J=e=>V(e.target.value),t[23]=V,t[24]=J);let ne;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(`option`,{value:``,children:`Select add-on`}),t[25]=ne):ne=t[25];let Y=d.map(ze),re;t[26]!==M||t[27]!==te||t[28]!==J||t[29]!==Y?(re=(0,$.jsxs)(`select`,{"aria-invalid":te,className:Ie,id:`addon-name`,onChange:J,value:M,children:[ne,Y]}),t[26]=M,t[27]=te,t[28]=J,t[29]=Y,t[30]=re):re=t[30];let ie;t[31]===A.addonName?ie=t[32]:(ie=(0,$.jsx)(x,{errors:[A.addonName]}),t[31]=A.addonName,t[32]=ie);let ae;t[33]!==re||t[34]!==ie?(ae=(0,$.jsxs)(S,{children:[q,re,ie]}),t[33]=re,t[34]=ie,t[35]=ae):ae=t[35];let oe=S,se;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-version`,children:`Version`})}),t[36]=se):se=t[36];let ce=!!A.addonVersion,le=Ie,ue=I.length===0,de;t[37]===b?de=t[38]:(de=e=>b(`addonVersion`,e.target.value,{shouldValidate:!0}),t[37]=b,t[38]=de);let ge=I.map(Re),_e;t[39]!==P||t[40]!==ce||t[41]!==le||t[42]!==ue||t[43]!==de||t[44]!==ge?(_e=(0,$.jsx)(`select`,{"aria-invalid":ce,className:le,disabled:ue,id:`addon-version`,onChange:de,value:P,children:ge}),t[39]=P,t[40]=ce,t[41]=le,t[42]=ue,t[43]=de,t[44]=ge,t[45]=_e):_e=t[45];let ve;t[46]===A.addonVersion?ve=t[47]:(ve=(0,$.jsx)(x,{errors:[A.addonVersion]}),t[46]=A.addonVersion,t[47]=ve);let ye;t[48]!==oe||t[49]!==se||t[50]!==_e||t[51]!==ve?(ye=(0,$.jsxs)(oe,{children:[se,_e,ve]}),t[48]=oe,t[49]=se,t[50]=_e,t[51]=ve,t[52]=ye):ye=t[52];let be;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-role`,children:`Service account IAM role ARN`})}),t[53]=be):be=t[53];let X;t[54]===g?X=t[55]:(X=g(`serviceAccountRoleArn`),t[54]=g,t[55]=X);let Z;t[56]===X?Z=t[57]:(Z=(0,$.jsx)(v,{id:`addon-role`,placeholder:`arn:aws:iam::…:role/…`,...X}),t[56]=X,t[57]=Z);let xe;t[58]===R?xe=t[59]:(xe=R&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This add-on needs IAM permissions — provide an IRSA role ARN.`}),t[58]=R,t[59]=xe);let Se;t[60]!==Z||t[61]!==xe?(Se=(0,$.jsxs)(S,{children:[be,Z,xe]}),t[60]=Z,t[61]=xe,t[62]=Se):Se=t[62];let Ce;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-config`,children:`Configuration values (JSON)`})}),t[63]=Ce):Ce=t[63];let we;t[64]===A.configurationValues?we=t[65]:(we=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,$.jsx)(Ee,{error:!!A.configurationValues,id:`addon-config`,onBlur:n,onChange:r,placeholder:`{"replicaCount": 2}`,ref:i,rows:4,value:a})},t[64]=A.configurationValues,t[65]=we);let Te;t[66]!==p||t[67]!==we?(Te=(0,$.jsx)(me,{control:p,name:`configurationValues`,render:we}),t[66]=p,t[67]=we,t[68]=Te):Te=t[68];let Q;t[69]===A.configurationValues?Q=t[70]:(Q=(0,$.jsx)(x,{errors:[A.configurationValues]}),t[69]=A.configurationValues,t[70]=Q);let Oe;t[71]!==Te||t[72]!==Q?(Oe=(0,$.jsxs)(S,{children:[Ce,Te,Q]}),t[71]=Te,t[72]=Q,t[73]=Oe):Oe=t[73];let ke;t[74]!==ae||t[75]!==ye||t[76]!==Se||t[77]!==Oe?(ke=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-addon-form`,children:[ae,ye,Se,Oe]}),t[74]=ae,t[75]=ye,t[76]=Se,t[77]=Oe,t[78]=ke):ke=t[78];let Ae;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(D,{children:`Cancel`}),t[79]=Ae):Ae=t[79];let je;t[80]!==h||t[81]!==U?(je=e=>{e.preventDefault(),h(U)()},t[80]=h,t[81]=U,t[82]=je):je=t[82];let Me=s.isPending?`Adding…`:`Add`,Ne;t[83]!==s.isPending||t[84]!==je||t[85]!==Me?(Ne=(0,$.jsxs)(E,{children:[Ae,(0,$.jsx)(T,{disabled:s.isPending,onClick:je,children:Me})]}),t[83]=s.isPending,t[84]=je,t[85]=Me,t[86]=Ne):Ne=t[86];let Pe;t[87]!==ee||t[88]!==G||t[89]!==ke||t[90]!==Ne?(Pe=(0,$.jsxs)(ee,{className:`max-h-[85vh] overflow-y-auto`,children:[G,ke,Ne]}),t[87]=ee,t[88]=G,t[89]=ke,t[90]=Ne,t[91]=Pe):Pe=t[91];let Fe;return t[92]!==W||t[93]!==o||t[94]!==a||t[95]!==Pe?(Fe=(0,$.jsx)(W,{onOpenChange:o,open:a,children:Pe}),t[92]=W,t[93]=o,t[94]=a,t[95]=Pe,t[96]=Fe):Fe=t[96],Fe}function Re(e,t){return(0,$.jsxs)(`option`,{value:e.addonVersion??``,children:[e.addonVersion,t===0?` (latest)`:``]},e.addonVersion)}function ze(e){return(0,$.jsx)(`option`,{value:e.addonName??``,children:e.addonName},e.addonName)}function Be(e){let t=(0,De.c)(48),{clusterName:n,addonName:r,current:i,versions:a,open:o,onOpenChange:s}=e,c=te(),[l,u]=(0,Q.useState)(i.addonVersion??``),[d,f]=(0,Q.useState)(i.serviceAccountRoleArn??``),[p,m]=(0,Q.useState)(i.configurationValues??``),[h,g]=(0,Q.useState)(),[_,b]=(0,Q.useState)(o);o!==_&&(b(o),o&&(u(i.addonVersion??``),f(i.serviceAccountRoleArn??``),m(i.configurationValues??``),g(void 0)));let x;t[0]!==r||t[1]!==n||t[2]!==p||t[3]!==s||t[4]!==d||t[5]!==c||t[6]!==l?(x=()=>{let e=G.safeParse(p);if(!e.success){g(e.error.issues[0]?.message??`Configuration must be valid JSON`);return}g(void 0),c.mutate({clusterName:n,addonName:r,addonVersion:l||void 0,serviceAccountRoleArn:d.trim()||void 0,configurationValues:p.trim()||void 0},{onSuccess:()=>s(!1)})},t[0]=r,t[1]=n,t[2]=p,t[3]=s,t[4]=d,t[5]=c,t[6]=l,t[7]=x):x=t[7];let A=x,j;t[8]===r?j=t[9]:(j=(0,$.jsx)(O,{children:(0,$.jsxs)(w,{children:[`Update `,r]})}),t[8]=r,t[9]=j);let M;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-version`,children:`Version`})}),t[10]=M):M=t[10];let N=a.length===0,P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>u(e.target.value),t[11]=P):P=t[11];let F;t[12]===a?F=t[13]:(F=a.map(Ve),t[12]=a,t[13]=F);let I;t[14]!==N||t[15]!==F||t[16]!==l?(I=(0,$.jsxs)(S,{children:[M,(0,$.jsx)(`select`,{className:Ie,disabled:N,id:`update-addon-version`,onChange:P,value:l,children:F})]}),t[14]=N,t[15]=F,t[16]=l,t[17]=I):I=t[17];let L;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-role`,children:`Service account IAM role ARN`})}),t[18]=L):L=t[18];let R;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>f(e.target.value),t[19]=R):R=t[19];let z;t[20]===d?z=t[21]:(z=(0,$.jsxs)(S,{children:[L,(0,$.jsx)(v,{id:`update-addon-role`,onChange:R,placeholder:`arn:aws:iam::…:role/…`,value:d})]}),t[20]=d,t[21]=z);let B;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-config`,children:`Configuration values (JSON)`})}),t[22]=B):B=t[22];let V=!!h,H;t[23]!==p||t[24]!==V?(H=(0,$.jsxs)(S,{children:[B,(0,$.jsx)(Ee,{error:V,id:`update-addon-config`,onChange:m,rows:4,value:p})]}),t[23]=p,t[24]=V,t[25]=H):H=t[25];let U;t[26]!==z||t[27]!==H||t[28]!==I?(U=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[I,z,H]}),t[26]=z,t[27]=H,t[28]=I,t[29]=U):U=t[29];let W;t[30]===h?W=t[31]:(W=h&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:h}),t[30]=h,t[31]=W);let ee;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(D,{children:`Cancel`}),t[32]=ee):ee=t[32];let K;t[33]===A?K=t[34]:(K=e=>{e.preventDefault(),A()},t[33]=A,t[34]=K);let q=c.isPending?`Updating…`:`Update`,J;t[35]!==K||t[36]!==q||t[37]!==c.isPending?(J=(0,$.jsxs)(E,{children:[ee,(0,$.jsx)(T,{disabled:c.isPending,onClick:K,children:q})]}),t[35]=K,t[36]=q,t[37]=c.isPending,t[38]=J):J=t[38];let ne;t[39]!==U||t[40]!==W||t[41]!==J||t[42]!==j?(ne=(0,$.jsxs)(C,{className:`max-h-[85vh] overflow-y-auto`,children:[j,U,W,J]}),t[39]=U,t[40]=W,t[41]=J,t[42]=j,t[43]=ne):ne=t[43];let Y;return t[44]!==s||t[45]!==o||t[46]!==ne?(Y=(0,$.jsx)(k,{onOpenChange:s,open:o,children:ne}),t[44]=s,t[45]=o,t[46]=ne,t[47]=Y):Y=t[47],Y}function Ve(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function He(e){let t=(0,De.c)(53),{clusterName:n,addonName:r,catalog:a,onDelete:o}=e,s;t[0]!==r||t[1]!==n?(s=se(n,r),t[0]=r,t[1]=n,t[2]=s):s=t[2];let c;t[3]===s?c=t[4]:(c={...s,refetchInterval:We},t[3]=s,t[4]=c);let{data:l}=i(c),[u,f]=(0,Q.useState)(!1),p=l?.addon,m=p?.health?.issues?.[0]?.message,g;t[5]!==r||t[6]!==a?(g=a.find(e=>e.addonName===r)?.addonVersions?.map(Ue).filter(Boolean)??[],t[5]=r,t[6]=a,t[7]=g):g=t[7];let v=g,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{children:r}),t[8]=r,t[9]=y);let b=p?.status,x;t[10]===b?x=t[11]:(x=L(b),t[10]=b,t[11]=x);let S=p?.status??`UNKNOWN`,C;t[12]!==x||t[13]!==S?(C=(0,$.jsx)(xe,{variant:x,children:S}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>f(!0),t[15]=w):w=t[15];let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(_,{"aria-label":`Update add-on`,onClick:w,size:`icon`,variant:`ghost`,children:(0,$.jsx)(d,{className:`size-4`})}),t[16]=T):T=t[16];let E;t[17]!==r||t[18]!==o?(E=()=>o(r),t[17]=r,t[18]=o,t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(h,{className:`size-4`}),t[20]=D):D=t[20];let O;t[21]===E?O=t[22]:(O=(0,$.jsx)(_,{"aria-label":`Remove add-on`,onClick:E,size:`icon`,variant:`ghost`,children:D}),t[21]=E,t[22]=O);let k;t[23]!==O||t[24]!==C?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[C,T,O]}),t[23]=O,t[24]=C,t[25]=k):k=t[25];let A;t[26]!==k||t[27]!==y?(A=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[y,k]})}),t[26]=k,t[27]=y,t[28]=A):A=t[28];let j=p?.addonVersion,M;t[29]===j?M=t[30]:(M=(0,$.jsx)(Z,{label:`Version`,value:j}),t[29]=j,t[30]=M);let N=p?.serviceAccountRoleArn,P;t[31]===N?P=t[32]:(P=(0,$.jsx)(Z,{label:`IRSA role`,value:N}),t[31]=N,t[32]=P);let F;t[33]===m?F=t[34]:(F=m&&(0,$.jsx)(Z,{label:`Issue`,value:(0,$.jsx)(`span`,{className:`text-destructive`,children:m})}),t[33]=m,t[34]=F);let I;t[35]!==M||t[36]!==P||t[37]!==F?(I=(0,$.jsxs)(X.Content,{children:[M,P,F]}),t[35]=M,t[36]=P,t[37]=F,t[38]=I):I=t[38];let R=p?.addonVersion,z=p?.serviceAccountRoleArn,B=p?.configurationValues,V;t[39]!==R||t[40]!==z||t[41]!==B?(V={addonVersion:R,serviceAccountRoleArn:z,configurationValues:B},t[39]=R,t[40]=z,t[41]=B,t[42]=V):V=t[42];let H;t[43]!==r||t[44]!==n||t[45]!==u||t[46]!==V||t[47]!==v?(H=(0,$.jsx)(Be,{addonName:r,clusterName:n,current:V,onOpenChange:f,open:u,versions:v}),t[43]=r,t[44]=n,t[45]=u,t[46]=V,t[47]=v,t[48]=H):H=t[48];let U;return t[49]!==A||t[50]!==I||t[51]!==H?(U=(0,$.jsxs)(X,{children:[A,I,H]}),t[49]=A,t[50]=I,t[51]=H,t[52]=U):U=t[52],U}function Ue(e){return e.addonVersion??``}function We(e){return Pe.has(e.state.data?.addon?.status??``)?Fe:!1}function Ge(e){let t=(0,De.c)(31),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=Y(n),t[0]=n,t[1]=r);let{data:o}=a(r),{data:s}=i(re),c=ne(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===o.addons?p=t[3]:(p=o.addons??[],t[2]=o.addons,t[3]=p);let m=p,h;t[4]===s?.addons?h=t[5]:(h=s?.addons??[],t[4]=s?.addons,t[5]=h);let g=h,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add-on manifests are staged; activation completes when the cluster reports the workload ready.`}),t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[v,(0,$.jsx)(_,{onClick:()=>u(!0),size:`sm`,children:`Add add-on`})]}),t[7]=y):y=t[7];let b;t[8]!==m||t[9]!==g||t[10]!==n?(b=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(He,{addonName:e,catalog:g,clusterName:n,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No add-ons installed.`}),t[8]=m,t[9]=g,t[10]=n,t[11]=b):b=t[11];let x;t[12]!==m||t[13]!==g||t[14]!==n||t[15]!==l?(x=(0,$.jsx)(Le,{catalog:g,clusterName:n,installed:m,onOpenChange:u,open:l}),t[12]=m,t[13]=g,t[14]=n,t[15]=l,t[16]=x):x=t[16];let S=`Remove add-on "${d??``}" from the cluster?`,C;t[17]!==n||t[18]!==c||t[19]!==d?(C=()=>{d&&c.mutate({clusterName:n,addonName:d},{onSuccess:()=>f(void 0)})},t[17]=n,t[18]=c,t[19]=d,t[20]=C):C=t[20];let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&f(void 0),t[21]=w):w=t[21];let T=d!==void 0,E;t[22]!==c.isPending||t[23]!==T||t[24]!==S||t[25]!==C?(E=(0,$.jsx)(be,{confirmLabel:`Remove`,description:S,isPending:c.isPending,onConfirm:C,onOpenChange:w,open:T,pendingLabel:`Removing…`,title:`Remove add-on`}),t[22]=c.isPending,t[23]=T,t[24]=S,t[25]=C,t[26]=E):E=t[26];let D;return t[27]!==E||t[28]!==b||t[29]!==x?(D=(0,$.jsxs)($.Fragment,{children:[y,b,x,E]}),t[27]=E,t[28]=b,t[29]=x,t[30]=D):D=t[30],D}function Ke(e){let t=(0,De.c)(6),{to:n,id:r}=e,i;t[0]===r?i=t[1]:(i={id:r},t[0]=r,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,$.jsx)(o,{className:`font-mono text-primary underline-offset-2 hover:underline`,params:i,to:n,children:r}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function qe(e){let t=(0,De.c)(45),{cluster:n}=e,r=n?.resourcesVpcConfig,i;t[0]===r?.subnetIds?i=t[1]:(i=r?.subnetIds??[],t[0]=r?.subnetIds,t[1]=i);let a=i,o;t[2]===r?.securityGroupIds?o=t[3]:(o=r?.securityGroupIds??[],t[2]=r?.securityGroupIds,t[3]=o);let s=o,c;t[4]===r?.publicAccessCidrs?c=t[5]:(c=r?.publicAccessCidrs??[],t[4]=r?.publicAccessCidrs,t[5]=c);let l=c,u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(X.Header,{children:`VPC`}),t[6]=u):u=t[6];let d;t[7]===r?d=t[8]:(d=r?.vpcId?(0,$.jsx)(Ke,{id:r.vpcId,to:`/ec2/describe-vpcs/$id`}):void 0,t[7]=r,t[8]=d);let f;t[9]===d?f=t[10]:(f=(0,$.jsx)(Z,{label:`VPC`,value:d}),t[9]=d,t[10]=f);let p=n?.endpoint,m;t[11]===p?m=t[12]:(m=(0,$.jsx)(Z,{label:`API server endpoint`,value:p}),t[11]=p,t[12]=m);let h=r?.endpointPublicAccess?`Enabled`:`Disabled`,g;t[13]===h?g=t[14]:(g=(0,$.jsx)(Z,{label:`Public access`,value:h}),t[13]=h,t[14]=g);let _=r?.endpointPrivateAccess?`Enabled`:`Disabled`,v;t[15]===_?v=t[16]:(v=(0,$.jsx)(Z,{label:`Private access`,value:_}),t[15]=_,t[16]=v);let y;t[17]!==l||t[18]!==r?.endpointPublicAccess?(y=r?.endpointPublicAccess&&(0,$.jsx)(Z,{label:`Public access CIDRs`,value:l.length>0?(0,$.jsx)(`div`,{className:`space-y-1 font-mono text-xs`,children:l.map(Xe)}):`Any (0.0.0.0/0)`}),t[17]=l,t[18]=r?.endpointPublicAccess,t[19]=y):y=t[19];let b;t[20]!==g||t[21]!==v||t[22]!==y||t[23]!==f||t[24]!==m?(b=(0,$.jsxs)(X,{children:[u,(0,$.jsxs)(X.Content,{children:[f,m,g,v,y]})]}),t[20]=g,t[21]=v,t[22]=y,t[23]=f,t[24]=m,t[25]=b):b=t[25];let x;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(X.Header,{children:`Subnets`}),t[26]=x):x=t[26];let S;t[27]===a?S=t[28]:(S=(0,$.jsxs)(X,{children:[x,(0,$.jsx)(X.Content,{children:a.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:a.map(Ye)}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No subnets.`})})]}),t[27]=a,t[28]=S);let C;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(X.Header,{children:`Security groups`}),t[29]=C):C=t[29];let w;t[30]===r?w=t[31]:(w=r?.clusterSecurityGroupId?(0,$.jsx)(Ke,{id:r.clusterSecurityGroupId,to:`/ec2/describe-security-groups/$id`}):void 0,t[30]=r,t[31]=w);let T;t[32]===w?T=t[33]:(T=(0,$.jsx)(Z,{label:`Cluster security group`,value:w}),t[32]=w,t[33]=T);let E;t[34]===s?E=t[35]:(E=s.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:s.map(Je)}):`—`,t[34]=s,t[35]=E);let D;t[36]===E?D=t[37]:(D=(0,$.jsx)(Z,{label:`Additional security groups`,value:E}),t[36]=E,t[37]=D);let O;t[38]!==T||t[39]!==D?(O=(0,$.jsxs)(X,{children:[C,(0,$.jsxs)(X.Content,{children:[T,D]})]}),t[38]=T,t[39]=D,t[40]=O):O=t[40];let k;return t[41]!==b||t[42]!==S||t[43]!==O?(k=(0,$.jsxs)($.Fragment,{children:[b,S,O]}),t[41]=b,t[42]=S,t[43]=O,t[44]=k):k=t[44],k}function Je(e){return(0,$.jsx)(Ke,{id:e,to:`/ec2/describe-security-groups/$id`},e)}function Ye(e){return(0,$.jsx)(Ke,{id:e,to:`/ec2/describe-subnets/$id`},e)}function Xe(e){return(0,$.jsx)(`div`,{children:e},e)}function Ze(e){return!!e&&(e.endsWith(`_GPU`)||e.endsWith(`_NVIDIA`))}function Qe(e,t){let n=t.find(t=>t.InstanceType===e);return!!n&&_e(n)}function $e(e){let t=(0,De.c)(44),{clusterName:n,nodegroupName:r,current:i,open:a,onOpenChange:o}=e,s=M(),[c,l]=(0,Q.useState)(i.minSize??0),[u,d]=(0,Q.useState)(i.desiredSize??0),[f,p]=(0,Q.useState)(i.maxSize??0),[m,h]=(0,Q.useState)(),[g,_]=(0,Q.useState)(a);a!==g&&(_(a),a&&(l(i.minSize??0),d(i.desiredSize??0),p(i.maxSize??0),h(void 0)));let b;t[0]!==n||t[1]!==u||t[2]!==f||t[3]!==c||t[4]!==r||t[5]!==o||t[6]!==s?(b=()=>{if(!(c<=u&&u<=f)){h(`Sizes must satisfy min ≤ desired ≤ max`);return}s.mutate({clusterName:n,nodegroupName:r,minSize:c,desiredSize:u,maxSize:f},{onSuccess:()=>o(!1)})},t[0]=n,t[1]=u,t[2]=f,t[3]=c,t[4]=r,t[5]=o,t[6]=s,t[7]=b):b=t[7];let x=b,A;t[8]===r?A=t[9]:(A=(0,$.jsx)(O,{children:(0,$.jsxs)(w,{children:[`Scale `,r]})}),t[8]=r,t[9]=A);let j;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`scale-min`,children:`Min`})}),t[10]=j):j=t[10];let N;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>l(Number(e.target.value)),t[11]=N):N=t[11];let P;t[12]===c?P=t[13]:(P=(0,$.jsxs)(S,{children:[j,(0,$.jsx)(v,{id:`scale-min`,onChange:N,type:`number`,value:c})]}),t[12]=c,t[13]=P);let F;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`scale-desired`,children:`Desired`})}),t[14]=F):F=t[14];let I;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>d(Number(e.target.value)),t[15]=I):I=t[15];let L;t[16]===u?L=t[17]:(L=(0,$.jsxs)(S,{children:[F,(0,$.jsx)(v,{id:`scale-desired`,onChange:I,type:`number`,value:u})]}),t[16]=u,t[17]=L);let R;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`scale-max`,children:`Max`})}),t[18]=R):R=t[18];let z;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>p(Number(e.target.value)),t[19]=z):z=t[19];let B;t[20]===f?B=t[21]:(B=(0,$.jsxs)(S,{children:[R,(0,$.jsx)(v,{id:`scale-max`,onChange:z,type:`number`,value:f})]}),t[20]=f,t[21]=B);let V;t[22]!==B||t[23]!==P||t[24]!==L?(V=(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[P,L,B]}),t[22]=B,t[23]=P,t[24]=L,t[25]=V):V=t[25];let H;t[26]===m?H=t[27]:(H=m&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:m}),t[26]=m,t[27]=H);let U;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(D,{children:`Cancel`}),t[28]=U):U=t[28];let W;t[29]===x?W=t[30]:(W=e=>{e.preventDefault(),x()},t[29]=x,t[30]=W);let ee=s.isPending?`Scaling…`:`Scale`,G;t[31]!==s.isPending||t[32]!==W||t[33]!==ee?(G=(0,$.jsxs)(E,{children:[U,(0,$.jsx)(T,{disabled:s.isPending,onClick:W,children:ee})]}),t[31]=s.isPending,t[32]=W,t[33]=ee,t[34]=G):G=t[34];let K;t[35]!==V||t[36]!==H||t[37]!==G||t[38]!==A?(K=(0,$.jsxs)(C,{children:[A,V,H,G]}),t[35]=V,t[36]=H,t[37]=G,t[38]=A,t[39]=K):K=t[39];let q;return t[40]!==o||t[41]!==a||t[42]!==K?(q=(0,$.jsx)(k,{onOpenChange:o,open:a,children:K}),t[40]=o,t[41]=a,t[42]=K,t[43]=q):q=t[43],q}function et(e){let t=(0,De.c)(71),{clusterName:n,clusterVersion:r,nodegroupName:a,onDelete:o}=e,s;t[0]!==n||t[1]!==a?(s=ie(n,a),t[0]=n,t[1]=a,t[2]=s):s=t[2];let{data:c}=i(s),l=P(),u=c?.nodegroup,p=u?.scalingConfig,[m,g]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=!!r&&!!u?.version&&u.version!==r,x=u?.amiType,S;t[3]===x?S=t[4]:(S=Ze(x),t[3]=x,t[4]=S);let C=S,w;t[5]===a?w=t[6]:(w=(0,$.jsx)(`span`,{children:a}),t[5]=a,t[6]=w);let T;t[7]===C?T=t[8]:(T=C&&(0,$.jsx)(xe,{variant:`secondary`,children:`GPU`}),t[7]=C,t[8]=T);let E;t[9]!==w||t[10]!==T?(E=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[w,T]}),t[9]=w,t[10]=T,t[11]=E):E=t[11];let D;t[12]===b?D=t[13]:(D=b&&(0,$.jsx)(_,{"aria-label":`Update node group version`,onClick:()=>y(!0),size:`icon`,variant:`ghost`,children:(0,$.jsx)(d,{className:`size-4`})}),t[12]=b,t[13]=D);let O;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>g(!0),t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(_,{"aria-label":`Scale node group`,onClick:O,size:`icon`,variant:`ghost`,children:(0,$.jsx)(f,{className:`size-4`})}),t[15]=k):k=t[15];let A;t[16]!==a||t[17]!==o?(A=()=>o(a),t[16]=a,t[17]=o,t[18]=A):A=t[18];let j;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(h,{className:`size-4`}),t[19]=j):j=t[19];let M;t[20]===A?M=t[21]:(M=(0,$.jsx)(_,{"aria-label":`Delete node group`,onClick:A,size:`icon`,variant:`ghost`,children:j}),t[20]=A,t[21]=M);let N;t[22]!==M||t[23]!==D?(N=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[D,k,M]}),t[22]=M,t[23]=D,t[24]=N):N=t[24];let F;t[25]!==N||t[26]!==E?(F=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[E,N]})}),t[25]=N,t[26]=E,t[27]=F):F=t[27];let I=u?.status,L;t[28]===I?L=t[29]:(L=(0,$.jsx)(Z,{label:`Status`,value:I}),t[28]=I,t[29]=L);let R=b?`${u?.version} (cluster on ${r})`:u?.version,z;t[30]===R?z=t[31]:(z=(0,$.jsx)(Z,{label:`Kubernetes version`,value:R}),t[30]=R,t[31]=z);let B;t[32]===u?.instanceTypes?B=t[33]:(B=u?.instanceTypes?.join(`, `),t[32]=u?.instanceTypes,t[33]=B);let V;t[34]===B?V=t[35]:(V=(0,$.jsx)(Z,{label:`Instance types`,value:B}),t[34]=B,t[35]=V);let H=u?.amiType,U;t[36]===H?U=t[37]:(U=(0,$.jsx)(Z,{label:`AMI type`,value:H}),t[36]=H,t[37]=U);let W=u?.capacityType,ee;t[38]===W?ee=t[39]:(ee=(0,$.jsx)(Z,{label:`Capacity type`,value:W}),t[38]=W,t[39]=ee);let G=p?`${p.minSize} / ${p.desiredSize} / ${p.maxSize}`:void 0,K;t[40]===G?K=t[41]:(K=(0,$.jsx)(Z,{label:`Scaling (min / desired / max)`,value:G}),t[40]=G,t[41]=K);let q;t[42]!==L||t[43]!==z||t[44]!==V||t[45]!==U||t[46]!==ee||t[47]!==K?(q=(0,$.jsxs)(X.Content,{children:[L,z,V,U,ee,K]}),t[42]=L,t[43]=z,t[44]=V,t[45]=U,t[46]=ee,t[47]=K,t[48]=q):q=t[48];let te;t[49]===p?te=t[50]:(te=p??{},t[49]=p,t[50]=te);let J;t[51]!==n||t[52]!==a||t[53]!==m||t[54]!==te?(J=(0,$.jsx)($e,{clusterName:n,current:te,nodegroupName:a,onOpenChange:g,open:m}),t[51]=n,t[52]=a,t[53]=m,t[54]=te,t[55]=J):J=t[55];let ne=`Update node group "${a}" from ${u?.version} to ${r}? Nodes are replaced in a rolling update.`,Y;t[56]!==n||t[57]!==r||t[58]!==a||t[59]!==l?(Y=()=>l.mutate({clusterName:n,nodegroupName:a,version:r},{onSuccess:()=>y(!1)}),t[56]=n,t[57]=r,t[58]=a,t[59]=l,t[60]=Y):Y=t[60];let re;t[61]!==v||t[62]!==ne||t[63]!==Y||t[64]!==l.isPending?(re=(0,$.jsx)(be,{confirmLabel:`Update`,description:ne,isPending:l.isPending,onConfirm:Y,onOpenChange:y,open:v,title:`Update node group version`}),t[61]=v,t[62]=ne,t[63]=Y,t[64]=l.isPending,t[65]=re):re=t[65];let ae;return t[66]!==F||t[67]!==q||t[68]!==J||t[69]!==re?(ae=(0,$.jsxs)(X,{children:[F,q,J,re]}),t[66]=F,t[67]=q,t[68]=J,t[69]=re,t[70]=ae):ae=t[70],ae}function tt(e){let t=(0,De.c)(143),{clusterName:n,vpcId:r,open:a,onOpenChange:o}=e,{data:s}=i(de),{data:c}=i(A),{data:l}=i(j),u=F(),d;t[0]===s?.Roles?d=t[1]:(d=s?.Roles??[],t[0]=s?.Roles,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=e=>e.VpcId===r,t[2]=r,t[3]=p);let m=(c?.Subnets??[]).filter(p),h;t[4]===l?.InstanceTypes?h=t[5]:(h=l?.InstanceTypes??[],t[4]=l?.InstanceTypes,t[5]=h);let g=h,_;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=he(R),t[6]=_):_=t[6];let M;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(M={resolver:_,defaultValues:{nodegroupName:``,nodeRole:``,subnetIds:[],instanceTypes:`t3.medium`,amiType:`AL2_x86_64`,capacityType:`ON_DEMAND`,diskSize:20,minSize:1,desiredSize:2,maxSize:3}},t[7]=M):M=t[7];let{control:N,formState:P,handleSubmit:I,register:L,reset:z,setValue:V}=pe(M),{errors:H}=P,U;t[8]===N?U=t[9]:(U={control:N,name:`subnetIds`},t[8]=N,t[9]=U);let W=fe(U),G;t[10]===W?G=t[11]:(G=new Set(W),t[10]=W,t[11]=G);let K=G,q;t[12]===N?q=t[13]:(q={control:N,name:`instanceTypes`},t[12]=N,t[13]=q);let te=fe(q),J;t[14]!==g||t[15]!==te?(J=Qe(te,g),t[14]=g,t[15]=te,t[16]=J):J=t[16];let ne=J,Y;t[17]!==W||t[18]!==V?(Y=e=>{let t=W.includes(e)?W.filter(t=>t!==e):[...W,e];V(`subnetIds`,t,{shouldValidate:!0})},t[17]=W,t[18]=V,t[19]=Y):Y=t[19];let re=Y,ie;t[20]!==n||t[21]!==u||t[22]!==o||t[23]!==z?(ie=async e=>{await u.mutateAsync({clusterName:n,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnetIds:e.subnetIds,instanceTypes:e.instanceTypes.split(`,`).map(at).filter(Boolean),amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,minSize:e.minSize,desiredSize:e.desiredSize,maxSize:e.maxSize}),z(),o(!1)},t[20]=n,t[21]=u,t[22]=o,t[23]=z,t[24]=ie):ie=t[24];let ae=ie,oe=k,se=C,ce;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(O,{children:(0,$.jsx)(w,{children:`Add node group`})}),t[25]=ce):ce=t[25];let le;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-name`,children:`Name`})}),t[26]=le):le=t[26];let ue=!!H.nodegroupName,ge;t[27]===L?ge=t[28]:(ge=L(`nodegroupName`),t[27]=L,t[28]=ge);let _e;t[29]!==ue||t[30]!==ge?(_e=(0,$.jsx)(v,{"aria-invalid":ue,id:`ng-name`,placeholder:`my-nodegroup`,...ge}),t[29]=ue,t[30]=ge,t[31]=_e):_e=t[31];let ye;t[32]===H.nodegroupName?ye=t[33]:(ye=(0,$.jsx)(x,{errors:[H.nodegroupName]}),t[32]=H.nodegroupName,t[33]=ye);let be;t[34]!==_e||t[35]!==ye?(be=(0,$.jsxs)(S,{children:[le,_e,ye]}),t[34]=_e,t[35]=ye,t[36]=be):be=t[36];let X;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-role`,children:`Node IAM role`})}),t[37]=X):X=t[37];let Z=!!H.nodeRole,xe;t[38]===L?xe=t[39]:(xe=L(`nodeRole`),t[38]=L,t[39]=xe);let Se;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(`option`,{value:``,children:`Select role`}),t[40]=Se):Se=t[40];let Ce;t[41]===f?Ce=t[42]:(Ce=f.map(it),t[41]=f,t[42]=Ce);let we;t[43]!==Z||t[44]!==xe||t[45]!==Ce?(we=(0,$.jsxs)(`select`,{"aria-invalid":Z,className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-role`,...xe,children:[Se,Ce]}),t[43]=Z,t[44]=xe,t[45]=Ce,t[46]=we):we=t[46];let Te;t[47]===H.nodeRole?Te=t[48]:(Te=(0,$.jsx)(x,{errors:[H.nodeRole]}),t[47]=H.nodeRole,t[48]=Te);let Ee;t[49]!==we||t[50]!==Te?(Ee=(0,$.jsxs)(S,{children:[X,we,Te]}),t[49]=we,t[50]=Te,t[51]=Ee):Ee=t[51];let Q=S,Oe;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(y,{children:`Subnets`}),t[52]=Oe):Oe=t[52];let ke=m.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the cluster VPC.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:m.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:K.has(e.SubnetId??``),onChange:()=>re(e.SubnetId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` · `,e.CidrBlock]})]},e.SubnetId))}),Ae;t[53]===H.subnetIds?Ae=t[54]:(Ae=(0,$.jsx)(x,{errors:[H.subnetIds]}),t[53]=H.subnetIds,t[54]=Ae);let je;t[55]!==Q||t[56]!==Oe||t[57]!==ke||t[58]!==Ae?(je=(0,$.jsxs)(Q,{children:[Oe,ke,Ae]}),t[55]=Q,t[56]=Oe,t[57]=ke,t[58]=Ae,t[59]=je):je=t[59];let Me;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-instance-type`,children:`Instance type`})}),t[60]=Me):Me=t[60];let Ne;t[61]!==H.instanceTypes||t[62]!==g?(Ne=e=>{let{field:t}=e;return(0,$.jsx)(ve,{"aria-invalid":!!H.instanceTypes,id:`ng-instance-type`,instanceTypes:g,onValueChange:t.onChange,value:t.value})},t[61]=H.instanceTypes,t[62]=g,t[63]=Ne):Ne=t[63];let Pe;t[64]!==N||t[65]!==Ne?(Pe=(0,$.jsx)(me,{control:N,name:`instanceTypes`,render:Ne}),t[64]=N,t[65]=Ne,t[66]=Pe):Pe=t[66];let Fe;t[67]===ne?Fe=t[68]:(Fe=ne&&(0,$.jsxs)(b,{children:[`GPU node AMI is auto-selected for this instance type. This node group is tainted `,(0,$.jsx)(`code`,{children:`nvidia.com/gpu=present:NoSchedule`}),` `,`by default, so ordinary pods won't schedule onto GPU workers.`]}),t[67]=ne,t[68]=Fe);let Ie;t[69]===H.instanceTypes?Ie=t[70]:(Ie=(0,$.jsx)(x,{errors:[H.instanceTypes]}),t[69]=H.instanceTypes,t[70]=Ie);let Le;t[71]!==Pe||t[72]!==Fe||t[73]!==Ie?(Le=(0,$.jsxs)(S,{children:[Me,Pe,Fe,Ie]}),t[71]=Pe,t[72]=Fe,t[73]=Ie,t[74]=Le):Le=t[74];let Re;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-ami`,children:`AMI type`})}),t[75]=Re):Re=t[75];let ze;t[76]===L?ze=t[77]:(ze=L(`amiType`),t[76]=L,t[77]=ze);let Be;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(Be=ee.map(rt),t[78]=Be):Be=t[78];let Ve;t[79]===ze?Ve=t[80]:(Ve=(0,$.jsxs)(S,{children:[Re,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-ami`,...ze,children:Be})]}),t[79]=ze,t[80]=Ve);let He;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-capacity`,children:`Capacity type`})}),t[81]=He):He=t[81];let Ue;t[82]===L?Ue=t[83]:(Ue=L(`capacityType`),t[82]=L,t[83]=Ue);let We;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(We=B.map(nt),t[84]=We):We=t[84];let Ge;t[85]===Ue?Ge=t[86]:(Ge=(0,$.jsxs)(S,{children:[He,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-capacity`,...Ue,children:We})]}),t[85]=Ue,t[86]=Ge);let Ke;t[87]!==Ve||t[88]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[Ve,Ge]}),t[87]=Ve,t[88]=Ge,t[89]=Ke):Ke=t[89];let qe;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(qe=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-disk`,children:`Disk (GB)`})}),t[90]=qe):qe=t[90];let Je;t[91]===L?Je=t[92]:(Je=L(`diskSize`,{valueAsNumber:!0}),t[91]=L,t[92]=Je);let Ye;t[93]===Je?Ye=t[94]:(Ye=(0,$.jsxs)(S,{children:[qe,(0,$.jsx)(v,{id:`ng-disk`,type:`number`,...Je})]}),t[93]=Je,t[94]=Ye);let Xe;t[95]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-min`,children:`Min`})}),t[95]=Xe):Xe=t[95];let Ze;t[96]===L?Ze=t[97]:(Ze=L(`minSize`,{valueAsNumber:!0}),t[96]=L,t[97]=Ze);let $e;t[98]===Ze?$e=t[99]:($e=(0,$.jsxs)(S,{children:[Xe,(0,$.jsx)(v,{id:`ng-min`,type:`number`,...Ze})]}),t[98]=Ze,t[99]=$e);let et;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-desired`,children:`Desired`})}),t[100]=et):et=t[100];let tt;t[101]===L?tt=t[102]:(tt=L(`desiredSize`,{valueAsNumber:!0}),t[101]=L,t[102]=tt);let ot;t[103]===tt?ot=t[104]:(ot=(0,$.jsxs)(S,{children:[et,(0,$.jsx)(v,{id:`ng-desired`,type:`number`,...tt})]}),t[103]=tt,t[104]=ot);let st;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-max`,children:`Max`})}),t[105]=st):st=t[105];let ct;t[106]===L?ct=t[107]:(ct=L(`maxSize`,{valueAsNumber:!0}),t[106]=L,t[107]=ct);let lt;t[108]===ct?lt=t[109]:(lt=(0,$.jsxs)(S,{children:[st,(0,$.jsx)(v,{id:`ng-max`,type:`number`,...ct})]}),t[108]=ct,t[109]=lt);let ut;t[110]!==Ye||t[111]!==$e||t[112]!==ot||t[113]!==lt?(ut=(0,$.jsxs)(`div`,{className:`grid grid-cols-4 gap-3`,children:[Ye,$e,ot,lt]}),t[110]=Ye,t[111]=$e,t[112]=ot,t[113]=lt,t[114]=ut):ut=t[114];let dt;t[115]===H.desiredSize?dt=t[116]:(dt=(0,$.jsx)(x,{errors:[H.desiredSize]}),t[115]=H.desiredSize,t[116]=dt);let ft;t[117]!==be||t[118]!==Ee||t[119]!==je||t[120]!==Le||t[121]!==Ke||t[122]!==ut||t[123]!==dt?(ft=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-nodegroup-form`,children:[be,Ee,je,Le,Ke,ut,dt]}),t[117]=be,t[118]=Ee,t[119]=je,t[120]=Le,t[121]=Ke,t[122]=ut,t[123]=dt,t[124]=ft):ft=t[124];let pt;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,$.jsx)(D,{children:`Cancel`}),t[125]=pt):pt=t[125];let mt;t[126]!==I||t[127]!==ae?(mt=e=>{e.preventDefault(),I(ae)()},t[126]=I,t[127]=ae,t[128]=mt):mt=t[128];let ht=u.isPending?`Creating…`:`Create`,gt;t[129]!==u.isPending||t[130]!==mt||t[131]!==ht?(gt=(0,$.jsxs)(E,{children:[pt,(0,$.jsx)(T,{disabled:u.isPending,onClick:mt,children:ht})]}),t[129]=u.isPending,t[130]=mt,t[131]=ht,t[132]=gt):gt=t[132];let _t;t[133]!==se||t[134]!==ce||t[135]!==ft||t[136]!==gt?(_t=(0,$.jsxs)(se,{className:`max-h-[85vh] overflow-y-auto`,children:[ce,ft,gt]}),t[133]=se,t[134]=ce,t[135]=ft,t[136]=gt,t[137]=_t):_t=t[137];let vt;return t[138]!==oe||t[139]!==o||t[140]!==a||t[141]!==_t?(vt=(0,$.jsx)(oe,{onOpenChange:o,open:a,children:_t}),t[138]=oe,t[139]=o,t[140]=a,t[141]=_t,t[142]=vt):vt=t[142],vt}function nt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function rt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function it(e){return(0,$.jsx)(`option`,{value:e.Arn??``,children:e.RoleName},e.Arn)}function at(e){return e.trim()}function ot(e){let t=(0,De.c)(27),{clusterName:n,clusterVersion:r,vpcId:i}=e,o;t[0]===n?o=t[1]:(o=ue(n),t[0]=n,t[1]=o);let{data:s}=a(o),c=J(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===s.nodegroups?p=t[3]:(p=s.nodegroups??[],t[2]=s.nodegroups,t[3]=p);let m=p,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(_,{onClick:()=>u(!0),size:`sm`,children:`Add node group`})}),t[4]=h):h=t[4];let g;t[5]!==n||t[6]!==r||t[7]!==m?(g=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(et,{clusterName:n,clusterVersion:r,nodegroupName:e,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No node groups.`}),t[5]=n,t[6]=r,t[7]=m,t[8]=g):g=t[8];let v;t[9]!==n||t[10]!==l||t[11]!==i?(v=(0,$.jsx)(tt,{clusterName:n,onOpenChange:u,open:l,vpcId:i}),t[9]=n,t[10]=l,t[11]=i,t[12]=v):v=t[12];let y=`Delete node group "${d??``}"? This terminates its nodes.`,b;t[13]!==n||t[14]!==c||t[15]!==d?(b=()=>{d&&c.mutate({clusterName:n,nodegroupName:d},{onSuccess:()=>f(void 0)})},t[13]=n,t[14]=c,t[15]=d,t[16]=b):b=t[16];let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>!e&&f(void 0),t[17]=x):x=t[17];let S=d!==void 0,C;t[18]!==c.isPending||t[19]!==y||t[20]!==b||t[21]!==S?(C=(0,$.jsx)(be,{description:y,isPending:c.isPending,onConfirm:b,onOpenChange:x,open:S,title:`Delete node group`}),t[18]=c.isPending,t[19]=y,t[20]=b,t[21]=S,t[22]=C):C=t[22];let w;return t[23]!==C||t[24]!==g||t[25]!==v?(w=(0,$.jsxs)($.Fragment,{children:[h,g,v,C]}),t[23]=C,t[24]=g,t[25]=v,t[26]=w):w=t[26],w}function st(e){switch(e??``){case`ACTIVE`:return`default`;case`FAILED`:return`destructive`;default:return`secondary`}}function ct(e){let t=(0,De.c)(134),{clusterName:n}=e,r=s(),[i,o]=(0,Q.useState)(!1),d;t[0]===n?d=t[1]:(d=ce(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=I(),{cluster:v}=f,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,L;if(t[2]!==v?.arn||t[3]!==v?.health?.issues||t[4]!==v?.status||t[5]!==n||t[6]!==p||t[7]!==r){let e=v?.health?.issues??[],i;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(i={type:`bin`,value:`aws eks update-kubeconfig`},t[26]=i):i=t[26];let a;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(a={type:`flag`,value:` --name `},t[27]=a):a=t[27];let s;t[28]===n?s=t[29]:(s={type:`value`,value:n},t[28]=n,t[29]=s);let c;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(c={type:`flag`,value:` --region `},t[30]=c):c=t[30];let d;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(d={type:`value`,value:l()},t[31]=d):d=t[31];let f;t[32]===s?f=t[33]:(f={label:`Configure kubectl`,parts:[i,a,s,c,d]},t[32]=s,t[33]=f);let m;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(m={label:`Verify access`,parts:[{type:`bin`,value:`kubectl get nodes`}]},t[34]=m):m=t[34];let I;t[35]===f?I=t[36]:(I=[f,m],t[35]=f,t[36]=I),T=I;let R;t[37]!==n||t[38]!==p||t[39]!==r?(R=function(){p.mutate(n,{onSuccess:()=>{r({to:`/eks/list-clusters`})}})},t[37]=n,t[38]=p,t[39]=r,t[40]=R):R=t[40],w=R,t[41]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(u,{to:`/eks/list-clusters`,children:`Clusters`}),t[41]=E):E=t[41];let z;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>o(!0),t[42]=z):z=t[42];let B;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsxs)(_,{onClick:z,size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),t[43]=B):B=t[43];let V=v?.status,H;t[44]===V?H=t[45]:(H=st(V),t[44]=V,t[45]=H);let U=v?.status??`UNKNOWN`,W;t[46]!==H||t[47]!==U?(W=(0,$.jsx)(xe,{variant:H,children:U}),t[46]=H,t[47]=U,t[48]=W):W=t[48];let ee=e.length>0&&(0,$.jsxs)(xe,{variant:`destructive`,children:[(0,$.jsx)(g,{className:`size-3`}),e.length===1?`1 health issue`:`${e.length} health issues`]}),G;t[49]!==W||t[50]!==ee?(G=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B,W,ee]}),t[49]=W,t[50]=ee,t[51]=G):G=t[51],t[52]!==n||t[53]!==G?(D=(0,$.jsx)(ye,{actions:G,subtitle:`Cluster Details`,title:n}),t[52]=n,t[53]=G,t[54]=D):D=t[54],t[55]!==p.error||t[56]!==p.isError?(O=p.isError&&(0,$.jsx)(ge,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[55]=p.error,t[56]=p.isError,t[57]=O):O=t[57],C=Te,F=`overview`,t[58]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsxs)(Ce,{children:[(0,$.jsx)(Se,{value:`overview`,children:`Overview`}),(0,$.jsx)(Se,{value:`compute`,children:`Compute`}),(0,$.jsx)(Se,{value:`addons`,children:`Add-ons`}),(0,$.jsx)(Se,{value:`access`,children:`Access`}),(0,$.jsx)(Se,{value:`networking`,children:`Networking`}),(0,$.jsx)(Se,{value:`connect`,children:`Connect`})]}),t[58]=L):L=t[58],S=we,P=`overview`,x=X,t[59]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(X.Header,{children:`Cluster`}),t[59]=N):N=t[59],b=X.Content;let K=v?.arn;t[60]===K?j=t[61]:(j=(0,$.jsx)(Z,{label:`ARN`,value:K}),t[60]=K,t[61]=j);let q=v?.status;t[62]===q?M=t[63]:(M=(0,$.jsx)(Z,{label:`Status`,value:q}),t[62]=q,t[63]=M),y=Z,k=`Health`,A=e.length>0?e.map(lt).filter(Boolean).join(`; `):`OK`,t[2]=v?.arn,t[3]=v?.health?.issues,t[4]=v?.status,t[5]=n,t[6]=p,t[7]=r,t[8]=y,t[9]=b,t[10]=x,t[11]=S,t[12]=C,t[13]=w,t[14]=T,t[15]=E,t[16]=D,t[17]=O,t[18]=k,t[19]=A,t[20]=j,t[21]=M,t[22]=N,t[23]=P,t[24]=F,t[25]=L}else y=t[8],b=t[9],x=t[10],S=t[11],C=t[12],w=t[13],T=t[14],E=t[15],D=t[16],O=t[17],k=t[18],A=t[19],j=t[20],M=t[21],N=t[22],P=t[23],F=t[24],L=t[25];let R;t[64]!==y||t[65]!==k||t[66]!==A?(R=(0,$.jsx)(y,{label:k,value:A}),t[64]=y,t[65]=k,t[66]=A,t[67]=R):R=t[67];let z=v?.version,B;t[68]===z?B=t[69]:(B=(0,$.jsx)(Z,{label:`Kubernetes version`,value:z}),t[68]=z,t[69]=B);let V=v?.platformVersion,H;t[70]===V?H=t[71]:(H=(0,$.jsx)(Z,{label:`Platform version`,value:V}),t[70]=V,t[71]=H);let U=v?.endpoint,W;t[72]===U?W=t[73]:(W=(0,$.jsx)(Z,{label:`Endpoint`,value:U}),t[72]=U,t[73]=W);let ee=v?.identity?.oidc?.issuer,G;t[74]===ee?G=t[75]:(G=(0,$.jsx)(Z,{label:`OIDC issuer`,value:ee}),t[74]=ee,t[75]=G);let K=v?.resourcesVpcConfig?.vpcId,q;t[76]===K?q=t[77]:(q=(0,$.jsx)(Z,{label:`VPC`,value:K}),t[76]=K,t[77]=q);let te=v?.createdAt,J;t[78]===te?J=t[79]:(J=c(te),t[78]=te,t[79]=J);let ne;t[80]===J?ne=t[81]:(ne=(0,$.jsx)(Z,{label:`Created at`,value:J}),t[80]=J,t[81]=ne);let Y;t[82]!==b||t[83]!==R||t[84]!==B||t[85]!==H||t[86]!==W||t[87]!==G||t[88]!==q||t[89]!==ne||t[90]!==j||t[91]!==M?(Y=(0,$.jsxs)(b,{children:[j,M,R,B,H,W,G,q,ne]}),t[82]=b,t[83]=R,t[84]=B,t[85]=H,t[86]=W,t[87]=G,t[88]=q,t[89]=ne,t[90]=j,t[91]=M,t[92]=Y):Y=t[92];let re;t[93]!==x||t[94]!==Y||t[95]!==N?(re=(0,$.jsxs)(x,{children:[N,Y]}),t[93]=x,t[94]=Y,t[95]=N,t[96]=re):re=t[96];let ie;t[97]!==S||t[98]!==re||t[99]!==P?(ie=(0,$.jsx)(S,{value:P,children:re}),t[97]=S,t[98]=re,t[99]=P,t[100]=ie):ie=t[100];let ae=v?.version,oe=v?.resourcesVpcConfig?.vpcId,se;t[101]!==n||t[102]!==ae||t[103]!==oe?(se=(0,$.jsx)(we,{value:`compute`,children:(0,$.jsx)(ot,{clusterName:n,clusterVersion:ae,vpcId:oe})}),t[101]=n,t[102]=ae,t[103]=oe,t[104]=se):se=t[104];let le;t[105]===n?le=t[106]:(le=(0,$.jsx)(we,{value:`addons`,children:(0,$.jsx)(Ge,{clusterName:n})}),t[105]=n,t[106]=le);let ue;t[107]===n?ue=t[108]:(ue=(0,$.jsx)(we,{value:`access`,children:(0,$.jsx)(Ne,{clusterName:n})}),t[107]=n,t[108]=ue);let de;t[109]===v?de=t[110]:(de=(0,$.jsx)(we,{value:`networking`,children:(0,$.jsx)(qe,{cluster:v})}),t[109]=v,t[110]=de);let fe;t[111]===T?fe=t[112]:(fe=(0,$.jsx)(we,{value:`connect`,children:(0,$.jsx)(m,{commands:T})}),t[111]=T,t[112]=fe);let pe;t[113]!==C||t[114]!==ie||t[115]!==se||t[116]!==le||t[117]!==ue||t[118]!==de||t[119]!==fe||t[120]!==F||t[121]!==L?(pe=(0,$.jsxs)(C,{defaultValue:F,children:[L,ie,se,le,ue,de,fe]}),t[113]=C,t[114]=ie,t[115]=se,t[116]=le,t[117]=ue,t[118]=de,t[119]=fe,t[120]=F,t[121]=L,t[122]=pe):pe=t[122];let me=`This permanently deletes cluster "${n}" and its control plane. This cannot be undone.`,he;t[123]!==p.isPending||t[124]!==w||t[125]!==i||t[126]!==me?(he=(0,$.jsx)(be,{description:me,isPending:p.isPending,onConfirm:w,onOpenChange:o,open:i,title:`Delete cluster`}),t[123]=p.isPending,t[124]=w,t[125]=i,t[126]=me,t[127]=he):he=t[127];let _e;return t[128]!==E||t[129]!==D||t[130]!==O||t[131]!==pe||t[132]!==he?(_e=(0,$.jsxs)($.Fragment,{children:[E,D,O,pe,he]}),t[128]=E,t[129]=D,t[130]=O,t[131]=pe,t[132]=he,t[133]=_e):_e=t[133],_e}function lt(e){return e.message}function ut(){let e=(0,De.c)(2),{clusterName:t}=p.useParams(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(ct,{clusterName:t}),e[0]=t,e[1]=n),n}export{ut as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c,t as l}from"./cluster-config.js";import{t as u}from"./back-link.js";import{t as d}from"./circle-arrow-up.js";import{n as f,t as p}from"./_clusterName.js";import{t as m}from"./cli-command-panel.js";import{t as h}from"./trash-2.js";import{t as g}from"./triangle-alert.js";import{t as _}from"./button.js";import{t as v}from"./input.js";import{O as y,c as b}from"./ec2.js";import{C as x,S,T as C,_ as w,b as T,c as E,f as D,h as O,i as k,l as A,m as j,n as M,p as N,r as P,s as F,u as I,v as L,w as R,x as z,y as B}from"./eks.js";import{a as V,i as H,l as U,n as W,o as G,r as K,s as ee,t as q,u as te}from"./eks2.js";import{y as ne}from"./iam2.js";import{a as re,i as ie,n as ae,t as oe}from"./zod.js";import{t as se}from"./error-banner.js";import{t as ce}from"./page-heading.js";import{a as J,n as le,r as ue,t as Y}from"./field.js";import{i as de,l as fe,n as pe,o as me,r as he,s as ge,t as _e}from"./alert-dialog.js";import{t as ve}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{n as ye,t as be}from"./gpu-instance-type-select.js";import{t as xe}from"./badge.js";import{i as Se,n as Ce,r as we,t as Te}from"./tabs.js";import{t as Ee}from"./json-editor.js";var De=r(),Q=e(n(),1),$=t();function Oe(e){return e?.split(`/`).pop()??e??``}function ke(e){let t=(0,De.c)(55),{clusterName:n,principalArn:r,onDelete:a}=e,o;t[0]!==n||t[1]!==r?(o=W(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let{data:s}=i(o),c;t[3]!==n||t[4]!==r?(c=G(n,r),t[3]=n,t[4]=r,t[5]=c):c=t[5];let{data:l}=i(c),u=N(),d=S(),[f,p]=(0,Q.useState)(M[0].arn),m=s?.accessEntry,g;t[6]===l?.associatedAccessPolicies?g=t[7]:(g=l?.associatedAccessPolicies??[],t[6]=l?.associatedAccessPolicies,t[7]=g);let v=g,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{className:`truncate font-mono text-xs`,children:r}),t[8]=r,t[9]=y);let b;t[10]!==a||t[11]!==r?(b=()=>a(r),t[10]=a,t[11]=r,t[12]=b):b=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(h,{className:`size-4`}),t[13]=x):x=t[13];let C;t[14]===b?C=t[15]:(C=(0,$.jsx)(_,{onClick:b,size:`icon`,variant:`ghost`,children:x}),t[14]=b,t[15]=C);let w;t[16]!==y||t[17]!==C?(w=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[y,C]})}),t[16]=y,t[17]=C,t[18]=w):w=t[18];let T=m?.type,E;t[19]===T?E=t[20]:(E=(0,$.jsx)(Z,{label:`Type`,value:T}),t[19]=T,t[20]=E);let D;t[21]===m?D=t[22]:(D=m?.kubernetesGroups?.length?m.kubernetesGroups.join(`, `):`—`,t[21]=m,t[22]=D);let O;t[23]===D?O=t[24]:(O=(0,$.jsx)(Z,{label:`Kubernetes groups`,value:D}),t[23]=D,t[24]=O);let k;t[25]!==v||t[26]!==n||t[27]!==d||t[28]!==r?(k=v.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:v.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:Oe(e.policyArn)}),(0,$.jsx)(_,{onClick:()=>d.mutate({clusterName:n,principalArn:r,policyArn:e.policyArn??``}),size:`sm`,variant:`ghost`,children:`Remove`})]},e.policyArn))}):`—`,t[25]=v,t[26]=n,t[27]=d,t[28]=r,t[29]=k):k=t[29];let A;t[30]===k?A=t[31]:(A=(0,$.jsx)(Z,{label:`Access policies`,value:k}),t[30]=k,t[31]=A);let j;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(j=e=>p(e.target.value),t[32]=j):j=t[32];let P;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(P=M.map(Ae),t[33]=P):P=t[33];let F;t[34]===f?F=t[35]:(F=(0,$.jsx)(`select`,{"aria-label":`Access policy`,className:`h-7 flex-1 rounded-md border border-input bg-input/20 px-2 text-sm`,onChange:j,value:f,children:P}),t[34]=f,t[35]=F);let I;t[36]!==u||t[37]!==n||t[38]!==f||t[39]!==r?(I=()=>u.mutate({clusterName:n,principalArn:r,policyArn:f,accessScopeType:`cluster`}),t[36]=u,t[37]=n,t[38]=f,t[39]=r,t[40]=I):I=t[40];let L;t[41]!==u.isPending||t[42]!==I?(L=(0,$.jsx)(_,{disabled:u.isPending,onClick:I,size:`sm`,children:`Associate`}),t[41]=u.isPending,t[42]=I,t[43]=L):L=t[43];let R;t[44]!==F||t[45]!==L?(R=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pt-2`,children:[F,L]}),t[44]=F,t[45]=L,t[46]=R):R=t[46];let z;t[47]!==E||t[48]!==O||t[49]!==A||t[50]!==R?(z=(0,$.jsxs)(X.Content,{children:[E,O,A,R]}),t[47]=E,t[48]=O,t[49]=A,t[50]=R,t[51]=z):z=t[51];let B;return t[52]!==z||t[53]!==w?(B=(0,$.jsxs)(X,{children:[w,z]}),t[52]=z,t[53]=w,t[54]=B):B=t[54],B}function Ae(e){return(0,$.jsx)(`option`,{value:e.arn,children:e.name},e.arn)}function je(e){let t=(0,De.c)(41),{clusterName:n,open:r,onOpenChange:i}=e,a=j(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:oe(A),defaultValues:{principalArn:``,kubernetesGroups:``}},t[0]=o):o=t[0];let{formState:s,handleSubmit:c,register:l,reset:u}=ie(o),{errors:d}=s,f;t[1]!==n||t[2]!==a||t[3]!==i||t[4]!==u?(f=async e=>{await a.mutateAsync({clusterName:n,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups.split(`,`).map(Me).filter(Boolean)}),u(),i(!1)},t[1]=n,t[2]=a,t[3]=i,t[4]=u,t[5]=f):f=t[5];let p=f,m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(ge,{children:(0,$.jsx)(fe,{children:`Add access entry`})}),t[6]=m):m=t[6];let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ae-principal`,children:`IAM principal ARN`})}),t[7]=h):h=t[7];let g=!!d.principalArn,_;t[8]===l?_=t[9]:(_=l(`principalArn`),t[8]=l,t[9]=_);let y;t[10]!==g||t[11]!==_?(y=(0,$.jsx)(v,{"aria-invalid":g,id:`ae-principal`,placeholder:`arn:aws:iam::000000000000:role/my-role`,..._}),t[10]=g,t[11]=_,t[12]=y):y=t[12];let b;t[13]===d.principalArn?b=t[14]:(b=(0,$.jsx)(ue,{errors:[d.principalArn]}),t[13]=d.principalArn,t[14]=b);let x;t[15]!==y||t[16]!==b?(x=(0,$.jsxs)(Y,{children:[h,y,b]}),t[15]=y,t[16]=b,t[17]=x):x=t[17];let S;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ae-groups`,children:`Kubernetes groups`})}),t[18]=S):S=t[18];let C;t[19]===l?C=t[20]:(C=l(`kubernetesGroups`),t[19]=l,t[20]=C);let w;t[21]===C?w=t[22]:(w=(0,$.jsxs)(Y,{children:[S,(0,$.jsx)(v,{id:`ae-groups`,placeholder:`system:masters`,...C})]}),t[21]=C,t[22]=w);let T;t[23]!==x||t[24]!==w?(T=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-access-entry-form`,children:[x,w]}),t[23]=x,t[24]=w,t[25]=T):T=t[25];let E;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(he,{children:`Cancel`}),t[26]=E):E=t[26];let D;t[27]!==c||t[28]!==p?(D=e=>{e.preventDefault(),c(p)()},t[27]=c,t[28]=p,t[29]=D):D=t[29];let O=a.isPending?`Creating…`:`Create`,k;t[30]!==a.isPending||t[31]!==D||t[32]!==O?(k=(0,$.jsxs)(me,{children:[E,(0,$.jsx)(pe,{disabled:a.isPending,onClick:D,children:O})]}),t[30]=a.isPending,t[31]=D,t[32]=O,t[33]=k):k=t[33];let M;t[34]!==T||t[35]!==k?(M=(0,$.jsxs)(de,{children:[m,T,k]}),t[34]=T,t[35]=k,t[36]=M):M=t[36];let N;return t[37]!==i||t[38]!==r||t[39]!==M?(N=(0,$.jsx)(_e,{onOpenChange:i,open:r,children:M}),t[37]=i,t[38]=r,t[39]=M,t[40]=N):N=t[40],N}function Me(e){return e.trim()}function Ne(e){let t=(0,De.c)(25),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=q(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=L(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),d;t[2]===i.accessEntries?d=t[3]:(d=i.accessEntries??[],t[2]=i.accessEntries,t[3]=d);let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(_,{onClick:()=>c(!0),size:`sm`,children:`Add access entry`})}),t[4]=p):p=t[4];let m;t[5]!==n||t[6]!==f?(m=f.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:f.map(e=>(0,$.jsx)(ke,{clusterName:n,onDelete:u,principalArn:e},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No access entries.`}),t[5]=n,t[6]=f,t[7]=m):m=t[7];let h;t[8]!==n||t[9]!==s?(h=(0,$.jsx)(je,{clusterName:n,onOpenChange:c,open:s}),t[8]=n,t[9]=s,t[10]=h):h=t[10];let g=`Delete access entry for "${l??``}"?`,v;t[11]!==n||t[12]!==o||t[13]!==l?(v=()=>{l&&o.mutate({clusterName:n,principalArn:l},{onSuccess:()=>u(void 0)})},t[11]=n,t[12]=o,t[13]=l,t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>!e&&u(void 0),t[15]=y):y=t[15];let b=l!==void 0,x;t[16]!==o.isPending||t[17]!==g||t[18]!==v||t[19]!==b?(x=(0,$.jsx)(ve,{description:g,isPending:o.isPending,onConfirm:v,onOpenChange:y,open:b,title:`Delete access entry`}),t[16]=o.isPending,t[17]=g,t[18]=v,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==m||t[23]!==h?(S=(0,$.jsxs)($.Fragment,{children:[p,m,h,x]}),t[21]=x,t[22]=m,t[23]=h,t[24]=S):S=t[24],S}var Pe=new Set([`CREATING`,`UPDATING`,`DELETING`]),Fe=5e3,Ie=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function Le(e){let t=(0,De.c)(97),{clusterName:n,catalog:r,installed:i,open:a,onOpenChange:o}=e,s=O(),c;t[0]===i?c=t[1]:(c=new Set(i),t[0]=i,t[1]=c);let l=c,u;t[2]===l?u=t[3]:(u=e=>!l.has(e.addonName??``),t[2]=l,t[3]=u);let d=r.filter(u),f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f={resolver:oe(I),defaultValues:{addonName:``,addonVersion:``,serviceAccountRoleArn:``,configurationValues:``}},t[4]=f):f=t[4];let{control:p,formState:m,handleSubmit:h,register:g,reset:_,setValue:y}=ie(f),{errors:b}=m,x;t[5]===p?x=t[6]:(x={control:p,name:`addonName`},t[5]=p,t[6]=x);let S=re(x),C;t[7]===p?C=t[8]:(C={control:p,name:`addonVersion`},t[7]=p,t[8]=C);let w=re(C),T;t[9]===S?T=t[10]:(T=e=>e.addonName===S,t[9]=S,t[10]=T);let E=r.find(T)?.addonVersions??[],D;t[11]===w?D=t[12]:(D=e=>e.addonVersion===w,t[11]=w,t[12]=D);let k=E.find(D)?.requiresIamPermissions??!1,A;t[13]!==r||t[14]!==y?(A=e=>{let t=r.find(t=>t.addonName===e)?.addonVersions?.[0]?.addonVersion??``;y(`addonName`,e,{shouldValidate:!0}),y(`addonVersion`,t,{shouldValidate:!0})},t[13]=r,t[14]=y,t[15]=A):A=t[15];let j=A,M;t[16]!==n||t[17]!==s||t[18]!==o||t[19]!==_?(M=async e=>{await s.mutateAsync({clusterName:n,addonName:e.addonName,addonVersion:e.addonVersion||void 0,serviceAccountRoleArn:e.serviceAccountRoleArn.trim()||void 0,configurationValues:e.configurationValues.trim()||void 0}),_(),o(!1)},t[16]=n,t[17]=s,t[18]=o,t[19]=_,t[20]=M):M=t[20];let N=M,P=_e,F=de,L;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(ge,{children:(0,$.jsx)(fe,{children:`Add add-on`})}),t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`addon-name`,children:`Add-on`})}),t[22]=R):R=t[22];let z=!!b.addonName,B;t[23]===j?B=t[24]:(B=e=>j(e.target.value),t[23]=j,t[24]=B);let V;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(`option`,{value:``,children:`Select add-on`}),t[25]=V):V=t[25];let H=d.map(ze),U;t[26]!==S||t[27]!==z||t[28]!==B||t[29]!==H?(U=(0,$.jsxs)(`select`,{"aria-invalid":z,className:Ie,id:`addon-name`,onChange:B,value:S,children:[V,H]}),t[26]=S,t[27]=z,t[28]=B,t[29]=H,t[30]=U):U=t[30];let W;t[31]===b.addonName?W=t[32]:(W=(0,$.jsx)(ue,{errors:[b.addonName]}),t[31]=b.addonName,t[32]=W);let G;t[33]!==U||t[34]!==W?(G=(0,$.jsxs)(Y,{children:[R,U,W]}),t[33]=U,t[34]=W,t[35]=G):G=t[35];let K=Y,ee;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`addon-version`,children:`Version`})}),t[36]=ee):ee=t[36];let q=!!b.addonVersion,te=Ie,ne=E.length===0,se;t[37]===y?se=t[38]:(se=e=>y(`addonVersion`,e.target.value,{shouldValidate:!0}),t[37]=y,t[38]=se);let ce=E.map(Re),le;t[39]!==w||t[40]!==q||t[41]!==te||t[42]!==ne||t[43]!==se||t[44]!==ce?(le=(0,$.jsx)(`select`,{"aria-invalid":q,className:te,disabled:ne,id:`addon-version`,onChange:se,value:w,children:ce}),t[39]=w,t[40]=q,t[41]=te,t[42]=ne,t[43]=se,t[44]=ce,t[45]=le):le=t[45];let ve;t[46]===b.addonVersion?ve=t[47]:(ve=(0,$.jsx)(ue,{errors:[b.addonVersion]}),t[46]=b.addonVersion,t[47]=ve);let X;t[48]!==K||t[49]!==ee||t[50]!==le||t[51]!==ve?(X=(0,$.jsxs)(K,{children:[ee,le,ve]}),t[48]=K,t[49]=ee,t[50]=le,t[51]=ve,t[52]=X):X=t[52];let Z;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`addon-role`,children:`Service account IAM role ARN`})}),t[53]=Z):Z=t[53];let ye;t[54]===g?ye=t[55]:(ye=g(`serviceAccountRoleArn`),t[54]=g,t[55]=ye);let be;t[56]===ye?be=t[57]:(be=(0,$.jsx)(v,{id:`addon-role`,placeholder:`arn:aws:iam::…:role/…`,...ye}),t[56]=ye,t[57]=be);let xe;t[58]===k?xe=t[59]:(xe=k&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This add-on needs IAM permissions — provide an IRSA role ARN.`}),t[58]=k,t[59]=xe);let Se;t[60]!==be||t[61]!==xe?(Se=(0,$.jsxs)(Y,{children:[Z,be,xe]}),t[60]=be,t[61]=xe,t[62]=Se):Se=t[62];let Ce;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`addon-config`,children:`Configuration values (JSON)`})}),t[63]=Ce):Ce=t[63];let we;t[64]===b.configurationValues?we=t[65]:(we=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,$.jsx)(Ee,{error:!!b.configurationValues,id:`addon-config`,onBlur:n,onChange:r,placeholder:`{"replicaCount": 2}`,ref:i,rows:4,value:a})},t[64]=b.configurationValues,t[65]=we);let Te;t[66]!==p||t[67]!==we?(Te=(0,$.jsx)(ae,{control:p,name:`configurationValues`,render:we}),t[66]=p,t[67]=we,t[68]=Te):Te=t[68];let Q;t[69]===b.configurationValues?Q=t[70]:(Q=(0,$.jsx)(ue,{errors:[b.configurationValues]}),t[69]=b.configurationValues,t[70]=Q);let Oe;t[71]!==Te||t[72]!==Q?(Oe=(0,$.jsxs)(Y,{children:[Ce,Te,Q]}),t[71]=Te,t[72]=Q,t[73]=Oe):Oe=t[73];let ke;t[74]!==G||t[75]!==X||t[76]!==Se||t[77]!==Oe?(ke=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-addon-form`,children:[G,X,Se,Oe]}),t[74]=G,t[75]=X,t[76]=Se,t[77]=Oe,t[78]=ke):ke=t[78];let Ae;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(he,{children:`Cancel`}),t[79]=Ae):Ae=t[79];let je;t[80]!==h||t[81]!==N?(je=e=>{e.preventDefault(),h(N)()},t[80]=h,t[81]=N,t[82]=je):je=t[82];let Me=s.isPending?`Adding…`:`Add`,Ne;t[83]!==s.isPending||t[84]!==je||t[85]!==Me?(Ne=(0,$.jsxs)(me,{children:[Ae,(0,$.jsx)(pe,{disabled:s.isPending,onClick:je,children:Me})]}),t[83]=s.isPending,t[84]=je,t[85]=Me,t[86]=Ne):Ne=t[86];let Pe;t[87]!==F||t[88]!==L||t[89]!==ke||t[90]!==Ne?(Pe=(0,$.jsxs)(F,{className:`max-h-[85vh] overflow-y-auto`,children:[L,ke,Ne]}),t[87]=F,t[88]=L,t[89]=ke,t[90]=Ne,t[91]=Pe):Pe=t[91];let Fe;return t[92]!==P||t[93]!==o||t[94]!==a||t[95]!==Pe?(Fe=(0,$.jsx)(P,{onOpenChange:o,open:a,children:Pe}),t[92]=P,t[93]=o,t[94]=a,t[95]=Pe,t[96]=Fe):Fe=t[96],Fe}function Re(e,t){return(0,$.jsxs)(`option`,{value:e.addonVersion??``,children:[e.addonVersion,t===0?` (latest)`:``]},e.addonVersion)}function ze(e){return(0,$.jsx)(`option`,{value:e.addonName??``,children:e.addonName},e.addonName)}function Be(e){let t=(0,De.c)(48),{clusterName:n,addonName:r,current:i,versions:a,open:o,onOpenChange:s}=e,c=R(),[l,u]=(0,Q.useState)(i.addonVersion??``),[d,f]=(0,Q.useState)(i.serviceAccountRoleArn??``),[p,m]=(0,Q.useState)(i.configurationValues??``),[h,g]=(0,Q.useState)(),[_,y]=(0,Q.useState)(o);o!==_&&(y(o),o&&(u(i.addonVersion??``),f(i.serviceAccountRoleArn??``),m(i.configurationValues??``),g(void 0)));let b;t[0]!==r||t[1]!==n||t[2]!==p||t[3]!==s||t[4]!==d||t[5]!==c||t[6]!==l?(b=()=>{let e=F.safeParse(p);if(!e.success){g(e.error.issues[0]?.message??`Configuration must be valid JSON`);return}g(void 0),c.mutate({clusterName:n,addonName:r,addonVersion:l||void 0,serviceAccountRoleArn:d.trim()||void 0,configurationValues:p.trim()||void 0},{onSuccess:()=>s(!1)})},t[0]=r,t[1]=n,t[2]=p,t[3]=s,t[4]=d,t[5]=c,t[6]=l,t[7]=b):b=t[7];let x=b,S;t[8]===r?S=t[9]:(S=(0,$.jsx)(ge,{children:(0,$.jsxs)(fe,{children:[`Update `,r]})}),t[8]=r,t[9]=S);let C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-version`,children:`Version`})}),t[10]=C):C=t[10];let w=a.length===0,T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>u(e.target.value),t[11]=T):T=t[11];let E;t[12]===a?E=t[13]:(E=a.map(Ve),t[12]=a,t[13]=E);let D;t[14]!==w||t[15]!==E||t[16]!==l?(D=(0,$.jsxs)(Y,{children:[C,(0,$.jsx)(`select`,{className:Ie,disabled:w,id:`update-addon-version`,onChange:T,value:l,children:E})]}),t[14]=w,t[15]=E,t[16]=l,t[17]=D):D=t[17];let O;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-role`,children:`Service account IAM role ARN`})}),t[18]=O):O=t[18];let k;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(k=e=>f(e.target.value),t[19]=k):k=t[19];let A;t[20]===d?A=t[21]:(A=(0,$.jsxs)(Y,{children:[O,(0,$.jsx)(v,{id:`update-addon-role`,onChange:k,placeholder:`arn:aws:iam::…:role/…`,value:d})]}),t[20]=d,t[21]=A);let j;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-config`,children:`Configuration values (JSON)`})}),t[22]=j):j=t[22];let M=!!h,N;t[23]!==p||t[24]!==M?(N=(0,$.jsxs)(Y,{children:[j,(0,$.jsx)(Ee,{error:M,id:`update-addon-config`,onChange:m,rows:4,value:p})]}),t[23]=p,t[24]=M,t[25]=N):N=t[25];let P;t[26]!==A||t[27]!==N||t[28]!==D?(P=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[D,A,N]}),t[26]=A,t[27]=N,t[28]=D,t[29]=P):P=t[29];let I;t[30]===h?I=t[31]:(I=h&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:h}),t[30]=h,t[31]=I);let L;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(he,{children:`Cancel`}),t[32]=L):L=t[32];let z;t[33]===x?z=t[34]:(z=e=>{e.preventDefault(),x()},t[33]=x,t[34]=z);let B=c.isPending?`Updating…`:`Update`,V;t[35]!==z||t[36]!==B||t[37]!==c.isPending?(V=(0,$.jsxs)(me,{children:[L,(0,$.jsx)(pe,{disabled:c.isPending,onClick:z,children:B})]}),t[35]=z,t[36]=B,t[37]=c.isPending,t[38]=V):V=t[38];let H;t[39]!==P||t[40]!==I||t[41]!==V||t[42]!==S?(H=(0,$.jsxs)(de,{className:`max-h-[85vh] overflow-y-auto`,children:[S,P,I,V]}),t[39]=P,t[40]=I,t[41]=V,t[42]=S,t[43]=H):H=t[43];let U;return t[44]!==s||t[45]!==o||t[46]!==H?(U=(0,$.jsx)(_e,{onOpenChange:s,open:o,children:H}),t[44]=s,t[45]=o,t[46]=H,t[47]=U):U=t[47],U}function Ve(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function He(e){let t=(0,De.c)(53),{clusterName:n,addonName:r,catalog:a,onDelete:o}=e,s;t[0]!==r||t[1]!==n?(s=K(n,r),t[0]=r,t[1]=n,t[2]=s):s=t[2];let c;t[3]===s?c=t[4]:(c={...s,refetchInterval:We},t[3]=s,t[4]=c);let{data:l}=i(c),[u,f]=(0,Q.useState)(!1),p=l?.addon,m=p?.health?.issues?.[0]?.message,g;t[5]!==r||t[6]!==a?(g=a.find(e=>e.addonName===r)?.addonVersions?.map(Ue).filter(Boolean)??[],t[5]=r,t[6]=a,t[7]=g):g=t[7];let v=g,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{children:r}),t[8]=r,t[9]=y);let b=p?.status,x;t[10]===b?x=t[11]:(x=E(b),t[10]=b,t[11]=x);let S=p?.status??`UNKNOWN`,C;t[12]!==x||t[13]!==S?(C=(0,$.jsx)(xe,{variant:x,children:S}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>f(!0),t[15]=w):w=t[15];let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(_,{"aria-label":`Update add-on`,onClick:w,size:`icon`,variant:`ghost`,children:(0,$.jsx)(d,{className:`size-4`})}),t[16]=T):T=t[16];let D;t[17]!==r||t[18]!==o?(D=()=>o(r),t[17]=r,t[18]=o,t[19]=D):D=t[19];let O;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(h,{className:`size-4`}),t[20]=O):O=t[20];let k;t[21]===D?k=t[22]:(k=(0,$.jsx)(_,{"aria-label":`Remove add-on`,onClick:D,size:`icon`,variant:`ghost`,children:O}),t[21]=D,t[22]=k);let A;t[23]!==k||t[24]!==C?(A=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[C,T,k]}),t[23]=k,t[24]=C,t[25]=A):A=t[25];let j;t[26]!==A||t[27]!==y?(j=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[y,A]})}),t[26]=A,t[27]=y,t[28]=j):j=t[28];let M=p?.addonVersion,N;t[29]===M?N=t[30]:(N=(0,$.jsx)(Z,{label:`Version`,value:M}),t[29]=M,t[30]=N);let P=p?.serviceAccountRoleArn,F;t[31]===P?F=t[32]:(F=(0,$.jsx)(Z,{label:`IRSA role`,value:P}),t[31]=P,t[32]=F);let I;t[33]===m?I=t[34]:(I=m&&(0,$.jsx)(Z,{label:`Issue`,value:(0,$.jsx)(`span`,{className:`text-destructive`,children:m})}),t[33]=m,t[34]=I);let L;t[35]!==N||t[36]!==F||t[37]!==I?(L=(0,$.jsxs)(X.Content,{children:[N,F,I]}),t[35]=N,t[36]=F,t[37]=I,t[38]=L):L=t[38];let R=p?.addonVersion,z=p?.serviceAccountRoleArn,B=p?.configurationValues,V;t[39]!==R||t[40]!==z||t[41]!==B?(V={addonVersion:R,serviceAccountRoleArn:z,configurationValues:B},t[39]=R,t[40]=z,t[41]=B,t[42]=V):V=t[42];let H;t[43]!==r||t[44]!==n||t[45]!==u||t[46]!==V||t[47]!==v?(H=(0,$.jsx)(Be,{addonName:r,clusterName:n,current:V,onOpenChange:f,open:u,versions:v}),t[43]=r,t[44]=n,t[45]=u,t[46]=V,t[47]=v,t[48]=H):H=t[48];let U;return t[49]!==j||t[50]!==L||t[51]!==H?(U=(0,$.jsxs)(X,{children:[j,L,H]}),t[49]=j,t[50]=L,t[51]=H,t[52]=U):U=t[52],U}function Ue(e){return e.addonVersion??``}function We(e){return Pe.has(e.state.data?.addon?.status??``)?Fe:!1}function Ge(e){let t=(0,De.c)(31),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=V(n),t[0]=n,t[1]=r);let{data:o}=a(r),{data:s}=i(H),c=B(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===o.addons?p=t[3]:(p=o.addons??[],t[2]=o.addons,t[3]=p);let m=p,h;t[4]===s?.addons?h=t[5]:(h=s?.addons??[],t[4]=s?.addons,t[5]=h);let g=h,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add-on manifests are staged; activation completes when the cluster reports the workload ready.`}),t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[v,(0,$.jsx)(_,{onClick:()=>u(!0),size:`sm`,children:`Add add-on`})]}),t[7]=y):y=t[7];let b;t[8]!==m||t[9]!==g||t[10]!==n?(b=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(He,{addonName:e,catalog:g,clusterName:n,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No add-ons installed.`}),t[8]=m,t[9]=g,t[10]=n,t[11]=b):b=t[11];let x;t[12]!==m||t[13]!==g||t[14]!==n||t[15]!==l?(x=(0,$.jsx)(Le,{catalog:g,clusterName:n,installed:m,onOpenChange:u,open:l}),t[12]=m,t[13]=g,t[14]=n,t[15]=l,t[16]=x):x=t[16];let S=`Remove add-on "${d??``}" from the cluster?`,C;t[17]!==n||t[18]!==c||t[19]!==d?(C=()=>{d&&c.mutate({clusterName:n,addonName:d},{onSuccess:()=>f(void 0)})},t[17]=n,t[18]=c,t[19]=d,t[20]=C):C=t[20];let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&f(void 0),t[21]=w):w=t[21];let T=d!==void 0,E;t[22]!==c.isPending||t[23]!==T||t[24]!==S||t[25]!==C?(E=(0,$.jsx)(ve,{confirmLabel:`Remove`,description:S,isPending:c.isPending,onConfirm:C,onOpenChange:w,open:T,pendingLabel:`Removing…`,title:`Remove add-on`}),t[22]=c.isPending,t[23]=T,t[24]=S,t[25]=C,t[26]=E):E=t[26];let D;return t[27]!==E||t[28]!==b||t[29]!==x?(D=(0,$.jsxs)($.Fragment,{children:[y,b,x,E]}),t[27]=E,t[28]=b,t[29]=x,t[30]=D):D=t[30],D}function Ke(e){let t=(0,De.c)(6),{to:n,id:r}=e,i;t[0]===r?i=t[1]:(i={id:r},t[0]=r,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,$.jsx)(o,{className:`font-mono text-primary underline-offset-2 hover:underline`,params:i,to:n,children:r}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function qe(e){let t=(0,De.c)(45),{cluster:n}=e,r=n?.resourcesVpcConfig,i;t[0]===r?.subnetIds?i=t[1]:(i=r?.subnetIds??[],t[0]=r?.subnetIds,t[1]=i);let a=i,o;t[2]===r?.securityGroupIds?o=t[3]:(o=r?.securityGroupIds??[],t[2]=r?.securityGroupIds,t[3]=o);let s=o,c;t[4]===r?.publicAccessCidrs?c=t[5]:(c=r?.publicAccessCidrs??[],t[4]=r?.publicAccessCidrs,t[5]=c);let l=c,u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(X.Header,{children:`VPC`}),t[6]=u):u=t[6];let d;t[7]===r?d=t[8]:(d=r?.vpcId?(0,$.jsx)(Ke,{id:r.vpcId,to:`/ec2/describe-vpcs/$id`}):void 0,t[7]=r,t[8]=d);let f;t[9]===d?f=t[10]:(f=(0,$.jsx)(Z,{label:`VPC`,value:d}),t[9]=d,t[10]=f);let p=n?.endpoint,m;t[11]===p?m=t[12]:(m=(0,$.jsx)(Z,{label:`API server endpoint`,value:p}),t[11]=p,t[12]=m);let h=r?.endpointPublicAccess?`Enabled`:`Disabled`,g;t[13]===h?g=t[14]:(g=(0,$.jsx)(Z,{label:`Public access`,value:h}),t[13]=h,t[14]=g);let _=r?.endpointPrivateAccess?`Enabled`:`Disabled`,v;t[15]===_?v=t[16]:(v=(0,$.jsx)(Z,{label:`Private access`,value:_}),t[15]=_,t[16]=v);let y;t[17]!==l||t[18]!==r?.endpointPublicAccess?(y=r?.endpointPublicAccess&&(0,$.jsx)(Z,{label:`Public access CIDRs`,value:l.length>0?(0,$.jsx)(`div`,{className:`space-y-1 font-mono text-xs`,children:l.map(Xe)}):`Any (0.0.0.0/0)`}),t[17]=l,t[18]=r?.endpointPublicAccess,t[19]=y):y=t[19];let b;t[20]!==g||t[21]!==v||t[22]!==y||t[23]!==f||t[24]!==m?(b=(0,$.jsxs)(X,{children:[u,(0,$.jsxs)(X.Content,{children:[f,m,g,v,y]})]}),t[20]=g,t[21]=v,t[22]=y,t[23]=f,t[24]=m,t[25]=b):b=t[25];let x;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(X.Header,{children:`Subnets`}),t[26]=x):x=t[26];let S;t[27]===a?S=t[28]:(S=(0,$.jsxs)(X,{children:[x,(0,$.jsx)(X.Content,{children:a.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:a.map(Ye)}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No subnets.`})})]}),t[27]=a,t[28]=S);let C;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(X.Header,{children:`Security groups`}),t[29]=C):C=t[29];let w;t[30]===r?w=t[31]:(w=r?.clusterSecurityGroupId?(0,$.jsx)(Ke,{id:r.clusterSecurityGroupId,to:`/ec2/describe-security-groups/$id`}):void 0,t[30]=r,t[31]=w);let T;t[32]===w?T=t[33]:(T=(0,$.jsx)(Z,{label:`Cluster security group`,value:w}),t[32]=w,t[33]=T);let E;t[34]===s?E=t[35]:(E=s.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:s.map(Je)}):`—`,t[34]=s,t[35]=E);let D;t[36]===E?D=t[37]:(D=(0,$.jsx)(Z,{label:`Additional security groups`,value:E}),t[36]=E,t[37]=D);let O;t[38]!==T||t[39]!==D?(O=(0,$.jsxs)(X,{children:[C,(0,$.jsxs)(X.Content,{children:[T,D]})]}),t[38]=T,t[39]=D,t[40]=O):O=t[40];let k;return t[41]!==b||t[42]!==S||t[43]!==O?(k=(0,$.jsxs)($.Fragment,{children:[b,S,O]}),t[41]=b,t[42]=S,t[43]=O,t[44]=k):k=t[44],k}function Je(e){return(0,$.jsx)(Ke,{id:e,to:`/ec2/describe-security-groups/$id`},e)}function Ye(e){return(0,$.jsx)(Ke,{id:e,to:`/ec2/describe-subnets/$id`},e)}function Xe(e){return(0,$.jsx)(`div`,{children:e},e)}function Ze(e){return!!e&&(e.endsWith(`_GPU`)||e.endsWith(`_NVIDIA`))}function Qe(e,t){let n=t.find(t=>t.InstanceType===e);return!!n&&ye(n)}function $e(e){let t=(0,De.c)(44),{clusterName:n,nodegroupName:r,current:i,open:a,onOpenChange:o}=e,s=x(),[c,l]=(0,Q.useState)(i.minSize??0),[u,d]=(0,Q.useState)(i.desiredSize??0),[f,p]=(0,Q.useState)(i.maxSize??0),[m,h]=(0,Q.useState)(),[g,_]=(0,Q.useState)(a);a!==g&&(_(a),a&&(l(i.minSize??0),d(i.desiredSize??0),p(i.maxSize??0),h(void 0)));let y;t[0]!==n||t[1]!==u||t[2]!==f||t[3]!==c||t[4]!==r||t[5]!==o||t[6]!==s?(y=()=>{if(!(c<=u&&u<=f)){h(`Sizes must satisfy min ≤ desired ≤ max`);return}s.mutate({clusterName:n,nodegroupName:r,minSize:c,desiredSize:u,maxSize:f},{onSuccess:()=>o(!1)})},t[0]=n,t[1]=u,t[2]=f,t[3]=c,t[4]=r,t[5]=o,t[6]=s,t[7]=y):y=t[7];let b=y,S;t[8]===r?S=t[9]:(S=(0,$.jsx)(ge,{children:(0,$.jsxs)(fe,{children:[`Scale `,r]})}),t[8]=r,t[9]=S);let C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`scale-min`,children:`Min`})}),t[10]=C):C=t[10];let w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>l(Number(e.target.value)),t[11]=w):w=t[11];let T;t[12]===c?T=t[13]:(T=(0,$.jsxs)(Y,{children:[C,(0,$.jsx)(v,{id:`scale-min`,onChange:w,type:`number`,value:c})]}),t[12]=c,t[13]=T);let E;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`scale-desired`,children:`Desired`})}),t[14]=E):E=t[14];let D;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>d(Number(e.target.value)),t[15]=D):D=t[15];let O;t[16]===u?O=t[17]:(O=(0,$.jsxs)(Y,{children:[E,(0,$.jsx)(v,{id:`scale-desired`,onChange:D,type:`number`,value:u})]}),t[16]=u,t[17]=O);let k;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`scale-max`,children:`Max`})}),t[18]=k):k=t[18];let A;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(Number(e.target.value)),t[19]=A):A=t[19];let j;t[20]===f?j=t[21]:(j=(0,$.jsxs)(Y,{children:[k,(0,$.jsx)(v,{id:`scale-max`,onChange:A,type:`number`,value:f})]}),t[20]=f,t[21]=j);let M;t[22]!==j||t[23]!==T||t[24]!==O?(M=(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[T,O,j]}),t[22]=j,t[23]=T,t[24]=O,t[25]=M):M=t[25];let N;t[26]===m?N=t[27]:(N=m&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:m}),t[26]=m,t[27]=N);let P;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(he,{children:`Cancel`}),t[28]=P):P=t[28];let F;t[29]===b?F=t[30]:(F=e=>{e.preventDefault(),b()},t[29]=b,t[30]=F);let I=s.isPending?`Scaling…`:`Scale`,L;t[31]!==s.isPending||t[32]!==F||t[33]!==I?(L=(0,$.jsxs)(me,{children:[P,(0,$.jsx)(pe,{disabled:s.isPending,onClick:F,children:I})]}),t[31]=s.isPending,t[32]=F,t[33]=I,t[34]=L):L=t[34];let R;t[35]!==M||t[36]!==N||t[37]!==L||t[38]!==S?(R=(0,$.jsxs)(de,{children:[S,M,N,L]}),t[35]=M,t[36]=N,t[37]=L,t[38]=S,t[39]=R):R=t[39];let z;return t[40]!==o||t[41]!==a||t[42]!==R?(z=(0,$.jsx)(_e,{onOpenChange:o,open:a,children:R}),t[40]=o,t[41]=a,t[42]=R,t[43]=z):z=t[43],z}function et(e){let t=(0,De.c)(71),{clusterName:n,clusterVersion:r,nodegroupName:a,onDelete:o}=e,s;t[0]!==n||t[1]!==a?(s=U(n,a),t[0]=n,t[1]=a,t[2]=s):s=t[2];let{data:c}=i(s),l=C(),u=c?.nodegroup,p=u?.scalingConfig,[m,g]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=!!r&&!!u?.version&&u.version!==r,x=u?.amiType,S;t[3]===x?S=t[4]:(S=Ze(x),t[3]=x,t[4]=S);let w=S,T;t[5]===a?T=t[6]:(T=(0,$.jsx)(`span`,{children:a}),t[5]=a,t[6]=T);let E;t[7]===w?E=t[8]:(E=w&&(0,$.jsx)(xe,{variant:`secondary`,children:`GPU`}),t[7]=w,t[8]=E);let D;t[9]!==T||t[10]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[T,E]}),t[9]=T,t[10]=E,t[11]=D):D=t[11];let O;t[12]===b?O=t[13]:(O=b&&(0,$.jsx)(_,{"aria-label":`Update node group version`,onClick:()=>y(!0),size:`icon`,variant:`ghost`,children:(0,$.jsx)(d,{className:`size-4`})}),t[12]=b,t[13]=O);let k;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(k=()=>g(!0),t[14]=k):k=t[14];let A;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(_,{"aria-label":`Scale node group`,onClick:k,size:`icon`,variant:`ghost`,children:(0,$.jsx)(f,{className:`size-4`})}),t[15]=A):A=t[15];let j;t[16]!==a||t[17]!==o?(j=()=>o(a),t[16]=a,t[17]=o,t[18]=j):j=t[18];let M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(h,{className:`size-4`}),t[19]=M):M=t[19];let N;t[20]===j?N=t[21]:(N=(0,$.jsx)(_,{"aria-label":`Delete node group`,onClick:j,size:`icon`,variant:`ghost`,children:M}),t[20]=j,t[21]=N);let P;t[22]!==N||t[23]!==O?(P=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[O,A,N]}),t[22]=N,t[23]=O,t[24]=P):P=t[24];let F;t[25]!==P||t[26]!==D?(F=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[D,P]})}),t[25]=P,t[26]=D,t[27]=F):F=t[27];let I=u?.status,L;t[28]===I?L=t[29]:(L=(0,$.jsx)(Z,{label:`Status`,value:I}),t[28]=I,t[29]=L);let R=b?`${u?.version} (cluster on ${r})`:u?.version,z;t[30]===R?z=t[31]:(z=(0,$.jsx)(Z,{label:`Kubernetes version`,value:R}),t[30]=R,t[31]=z);let B;t[32]===u?.instanceTypes?B=t[33]:(B=u?.instanceTypes?.join(`, `),t[32]=u?.instanceTypes,t[33]=B);let V;t[34]===B?V=t[35]:(V=(0,$.jsx)(Z,{label:`Instance types`,value:B}),t[34]=B,t[35]=V);let H=u?.amiType,W;t[36]===H?W=t[37]:(W=(0,$.jsx)(Z,{label:`AMI type`,value:H}),t[36]=H,t[37]=W);let G=u?.capacityType,K;t[38]===G?K=t[39]:(K=(0,$.jsx)(Z,{label:`Capacity type`,value:G}),t[38]=G,t[39]=K);let ee=p?`${p.minSize} / ${p.desiredSize} / ${p.maxSize}`:void 0,q;t[40]===ee?q=t[41]:(q=(0,$.jsx)(Z,{label:`Scaling (min / desired / max)`,value:ee}),t[40]=ee,t[41]=q);let te;t[42]!==L||t[43]!==z||t[44]!==V||t[45]!==W||t[46]!==K||t[47]!==q?(te=(0,$.jsxs)(X.Content,{children:[L,z,V,W,K,q]}),t[42]=L,t[43]=z,t[44]=V,t[45]=W,t[46]=K,t[47]=q,t[48]=te):te=t[48];let ne;t[49]===p?ne=t[50]:(ne=p??{},t[49]=p,t[50]=ne);let re;t[51]!==n||t[52]!==a||t[53]!==m||t[54]!==ne?(re=(0,$.jsx)($e,{clusterName:n,current:ne,nodegroupName:a,onOpenChange:g,open:m}),t[51]=n,t[52]=a,t[53]=m,t[54]=ne,t[55]=re):re=t[55];let ie=`Update node group "${a}" from ${u?.version} to ${r}? Nodes are replaced in a rolling update.`,ae;t[56]!==n||t[57]!==r||t[58]!==a||t[59]!==l?(ae=()=>l.mutate({clusterName:n,nodegroupName:a,version:r},{onSuccess:()=>y(!1)}),t[56]=n,t[57]=r,t[58]=a,t[59]=l,t[60]=ae):ae=t[60];let oe;t[61]!==v||t[62]!==ie||t[63]!==ae||t[64]!==l.isPending?(oe=(0,$.jsx)(ve,{confirmLabel:`Update`,description:ie,isPending:l.isPending,onConfirm:ae,onOpenChange:y,open:v,title:`Update node group version`}),t[61]=v,t[62]=ie,t[63]=ae,t[64]=l.isPending,t[65]=oe):oe=t[65];let se;return t[66]!==F||t[67]!==te||t[68]!==re||t[69]!==oe?(se=(0,$.jsxs)(X,{children:[F,te,re,oe]}),t[66]=F,t[67]=te,t[68]=re,t[69]=oe,t[70]=se):se=t[70],se}function tt(e){let t=(0,De.c)(143),{clusterName:n,vpcId:r,open:a,onOpenChange:o}=e,{data:s}=i(ne),{data:c}=i(y),{data:l}=i(b),u=w(),d;t[0]===s?.Roles?d=t[1]:(d=s?.Roles??[],t[0]=s?.Roles,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=e=>e.VpcId===r,t[2]=r,t[3]=p);let m=(c?.Subnets??[]).filter(p),h;t[4]===l?.InstanceTypes?h=t[5]:(h=l?.InstanceTypes??[],t[4]=l?.InstanceTypes,t[5]=h);let g=h,_;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=oe(D),t[6]=_):_=t[6];let x;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(x={resolver:_,defaultValues:{nodegroupName:``,nodeRole:``,subnetIds:[],instanceTypes:`t3.medium`,amiType:`AL2_x86_64`,capacityType:`ON_DEMAND`,diskSize:20,minSize:1,desiredSize:2,maxSize:3}},t[7]=x):x=t[7];let{control:S,formState:C,handleSubmit:T,register:E,reset:O,setValue:A}=ie(x),{errors:j}=C,M;t[8]===S?M=t[9]:(M={control:S,name:`subnetIds`},t[8]=S,t[9]=M);let N=re(M),F;t[10]===N?F=t[11]:(F=new Set(N),t[10]=N,t[11]=F);let I=F,L;t[12]===S?L=t[13]:(L={control:S,name:`instanceTypes`},t[12]=S,t[13]=L);let R=re(L),z;t[14]!==g||t[15]!==R?(z=Qe(R,g),t[14]=g,t[15]=R,t[16]=z):z=t[16];let B=z,V;t[17]!==N||t[18]!==A?(V=e=>{let t=N.includes(e)?N.filter(t=>t!==e):[...N,e];A(`subnetIds`,t,{shouldValidate:!0})},t[17]=N,t[18]=A,t[19]=V):V=t[19];let H=V,U;t[20]!==n||t[21]!==u||t[22]!==o||t[23]!==O?(U=async e=>{await u.mutateAsync({clusterName:n,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnetIds:e.subnetIds,instanceTypes:e.instanceTypes.split(`,`).map(at).filter(Boolean),amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,minSize:e.minSize,desiredSize:e.desiredSize,maxSize:e.maxSize}),O(),o(!1)},t[20]=n,t[21]=u,t[22]=o,t[23]=O,t[24]=U):U=t[24];let W=U,G=_e,K=de,ee;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(ge,{children:(0,$.jsx)(fe,{children:`Add node group`})}),t[25]=ee):ee=t[25];let q;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-name`,children:`Name`})}),t[26]=q):q=t[26];let te=!!j.nodegroupName,se;t[27]===E?se=t[28]:(se=E(`nodegroupName`),t[27]=E,t[28]=se);let ce;t[29]!==te||t[30]!==se?(ce=(0,$.jsx)(v,{"aria-invalid":te,id:`ng-name`,placeholder:`my-nodegroup`,...se}),t[29]=te,t[30]=se,t[31]=ce):ce=t[31];let ve;t[32]===j.nodegroupName?ve=t[33]:(ve=(0,$.jsx)(ue,{errors:[j.nodegroupName]}),t[32]=j.nodegroupName,t[33]=ve);let X;t[34]!==ce||t[35]!==ve?(X=(0,$.jsxs)(Y,{children:[q,ce,ve]}),t[34]=ce,t[35]=ve,t[36]=X):X=t[36];let Z;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-role`,children:`Node IAM role`})}),t[37]=Z):Z=t[37];let ye=!!j.nodeRole,xe;t[38]===E?xe=t[39]:(xe=E(`nodeRole`),t[38]=E,t[39]=xe);let Se;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(`option`,{value:``,children:`Select role`}),t[40]=Se):Se=t[40];let Ce;t[41]===f?Ce=t[42]:(Ce=f.map(it),t[41]=f,t[42]=Ce);let we;t[43]!==ye||t[44]!==xe||t[45]!==Ce?(we=(0,$.jsxs)(`select`,{"aria-invalid":ye,className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-role`,...xe,children:[Se,Ce]}),t[43]=ye,t[44]=xe,t[45]=Ce,t[46]=we):we=t[46];let Te;t[47]===j.nodeRole?Te=t[48]:(Te=(0,$.jsx)(ue,{errors:[j.nodeRole]}),t[47]=j.nodeRole,t[48]=Te);let Ee;t[49]!==we||t[50]!==Te?(Ee=(0,$.jsxs)(Y,{children:[Z,we,Te]}),t[49]=we,t[50]=Te,t[51]=Ee):Ee=t[51];let Q=Y,Oe;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(J,{children:`Subnets`}),t[52]=Oe):Oe=t[52];let ke=m.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the cluster VPC.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:m.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:I.has(e.SubnetId??``),onChange:()=>H(e.SubnetId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` · `,e.CidrBlock]})]},e.SubnetId))}),Ae;t[53]===j.subnetIds?Ae=t[54]:(Ae=(0,$.jsx)(ue,{errors:[j.subnetIds]}),t[53]=j.subnetIds,t[54]=Ae);let je;t[55]!==Q||t[56]!==Oe||t[57]!==ke||t[58]!==Ae?(je=(0,$.jsxs)(Q,{children:[Oe,ke,Ae]}),t[55]=Q,t[56]=Oe,t[57]=ke,t[58]=Ae,t[59]=je):je=t[59];let Me;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-instance-type`,children:`Instance type`})}),t[60]=Me):Me=t[60];let Ne;t[61]!==j.instanceTypes||t[62]!==g?(Ne=e=>{let{field:t}=e;return(0,$.jsx)(be,{"aria-invalid":!!j.instanceTypes,id:`ng-instance-type`,instanceTypes:g,onValueChange:t.onChange,value:t.value})},t[61]=j.instanceTypes,t[62]=g,t[63]=Ne):Ne=t[63];let Pe;t[64]!==S||t[65]!==Ne?(Pe=(0,$.jsx)(ae,{control:S,name:`instanceTypes`,render:Ne}),t[64]=S,t[65]=Ne,t[66]=Pe):Pe=t[66];let Fe;t[67]===B?Fe=t[68]:(Fe=B&&(0,$.jsxs)(le,{children:[`GPU node AMI is auto-selected for this instance type. This node group is tainted `,(0,$.jsx)(`code`,{children:`nvidia.com/gpu=present:NoSchedule`}),` `,`by default, so ordinary pods won't schedule onto GPU workers.`]}),t[67]=B,t[68]=Fe);let Ie;t[69]===j.instanceTypes?Ie=t[70]:(Ie=(0,$.jsx)(ue,{errors:[j.instanceTypes]}),t[69]=j.instanceTypes,t[70]=Ie);let Le;t[71]!==Pe||t[72]!==Fe||t[73]!==Ie?(Le=(0,$.jsxs)(Y,{children:[Me,Pe,Fe,Ie]}),t[71]=Pe,t[72]=Fe,t[73]=Ie,t[74]=Le):Le=t[74];let Re;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-ami`,children:`AMI type`})}),t[75]=Re):Re=t[75];let ze;t[76]===E?ze=t[77]:(ze=E(`amiType`),t[76]=E,t[77]=ze);let Be;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(Be=P.map(rt),t[78]=Be):Be=t[78];let Ve;t[79]===ze?Ve=t[80]:(Ve=(0,$.jsxs)(Y,{children:[Re,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-ami`,...ze,children:Be})]}),t[79]=ze,t[80]=Ve);let He;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-capacity`,children:`Capacity type`})}),t[81]=He):He=t[81];let Ue;t[82]===E?Ue=t[83]:(Ue=E(`capacityType`),t[82]=E,t[83]=Ue);let We;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(We=k.map(nt),t[84]=We):We=t[84];let Ge;t[85]===Ue?Ge=t[86]:(Ge=(0,$.jsxs)(Y,{children:[He,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-capacity`,...Ue,children:We})]}),t[85]=Ue,t[86]=Ge);let Ke;t[87]!==Ve||t[88]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[Ve,Ge]}),t[87]=Ve,t[88]=Ge,t[89]=Ke):Ke=t[89];let qe;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(qe=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-disk`,children:`Disk (GB)`})}),t[90]=qe):qe=t[90];let Je;t[91]===E?Je=t[92]:(Je=E(`diskSize`,{valueAsNumber:!0}),t[91]=E,t[92]=Je);let Ye;t[93]===Je?Ye=t[94]:(Ye=(0,$.jsxs)(Y,{children:[qe,(0,$.jsx)(v,{id:`ng-disk`,type:`number`,...Je})]}),t[93]=Je,t[94]=Ye);let Xe;t[95]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-min`,children:`Min`})}),t[95]=Xe):Xe=t[95];let Ze;t[96]===E?Ze=t[97]:(Ze=E(`minSize`,{valueAsNumber:!0}),t[96]=E,t[97]=Ze);let $e;t[98]===Ze?$e=t[99]:($e=(0,$.jsxs)(Y,{children:[Xe,(0,$.jsx)(v,{id:`ng-min`,type:`number`,...Ze})]}),t[98]=Ze,t[99]=$e);let et;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-desired`,children:`Desired`})}),t[100]=et):et=t[100];let tt;t[101]===E?tt=t[102]:(tt=E(`desiredSize`,{valueAsNumber:!0}),t[101]=E,t[102]=tt);let ot;t[103]===tt?ot=t[104]:(ot=(0,$.jsxs)(Y,{children:[et,(0,$.jsx)(v,{id:`ng-desired`,type:`number`,...tt})]}),t[103]=tt,t[104]=ot);let st;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,$.jsx)(J,{children:(0,$.jsx)(`label`,{htmlFor:`ng-max`,children:`Max`})}),t[105]=st):st=t[105];let ct;t[106]===E?ct=t[107]:(ct=E(`maxSize`,{valueAsNumber:!0}),t[106]=E,t[107]=ct);let lt;t[108]===ct?lt=t[109]:(lt=(0,$.jsxs)(Y,{children:[st,(0,$.jsx)(v,{id:`ng-max`,type:`number`,...ct})]}),t[108]=ct,t[109]=lt);let ut;t[110]!==Ye||t[111]!==$e||t[112]!==ot||t[113]!==lt?(ut=(0,$.jsxs)(`div`,{className:`grid grid-cols-4 gap-3`,children:[Ye,$e,ot,lt]}),t[110]=Ye,t[111]=$e,t[112]=ot,t[113]=lt,t[114]=ut):ut=t[114];let dt;t[115]===j.desiredSize?dt=t[116]:(dt=(0,$.jsx)(ue,{errors:[j.desiredSize]}),t[115]=j.desiredSize,t[116]=dt);let ft;t[117]!==X||t[118]!==Ee||t[119]!==je||t[120]!==Le||t[121]!==Ke||t[122]!==ut||t[123]!==dt?(ft=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-nodegroup-form`,children:[X,Ee,je,Le,Ke,ut,dt]}),t[117]=X,t[118]=Ee,t[119]=je,t[120]=Le,t[121]=Ke,t[122]=ut,t[123]=dt,t[124]=ft):ft=t[124];let pt;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,$.jsx)(he,{children:`Cancel`}),t[125]=pt):pt=t[125];let mt;t[126]!==T||t[127]!==W?(mt=e=>{e.preventDefault(),T(W)()},t[126]=T,t[127]=W,t[128]=mt):mt=t[128];let ht=u.isPending?`Creating…`:`Create`,gt;t[129]!==u.isPending||t[130]!==mt||t[131]!==ht?(gt=(0,$.jsxs)(me,{children:[pt,(0,$.jsx)(pe,{disabled:u.isPending,onClick:mt,children:ht})]}),t[129]=u.isPending,t[130]=mt,t[131]=ht,t[132]=gt):gt=t[132];let _t;t[133]!==K||t[134]!==ee||t[135]!==ft||t[136]!==gt?(_t=(0,$.jsxs)(K,{className:`max-h-[85vh] overflow-y-auto`,children:[ee,ft,gt]}),t[133]=K,t[134]=ee,t[135]=ft,t[136]=gt,t[137]=_t):_t=t[137];let vt;return t[138]!==G||t[139]!==o||t[140]!==a||t[141]!==_t?(vt=(0,$.jsx)(G,{onOpenChange:o,open:a,children:_t}),t[138]=G,t[139]=o,t[140]=a,t[141]=_t,t[142]=vt):vt=t[142],vt}function nt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function rt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function it(e){return(0,$.jsx)(`option`,{value:e.Arn??``,children:e.RoleName},e.Arn)}function at(e){return e.trim()}function ot(e){let t=(0,De.c)(27),{clusterName:n,clusterVersion:r,vpcId:i}=e,o;t[0]===n?o=t[1]:(o=te(n),t[0]=n,t[1]=o);let{data:s}=a(o),c=z(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===s.nodegroups?p=t[3]:(p=s.nodegroups??[],t[2]=s.nodegroups,t[3]=p);let m=p,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(_,{onClick:()=>u(!0),size:`sm`,children:`Add node group`})}),t[4]=h):h=t[4];let g;t[5]!==n||t[6]!==r||t[7]!==m?(g=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(et,{clusterName:n,clusterVersion:r,nodegroupName:e,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No node groups.`}),t[5]=n,t[6]=r,t[7]=m,t[8]=g):g=t[8];let v;t[9]!==n||t[10]!==l||t[11]!==i?(v=(0,$.jsx)(tt,{clusterName:n,onOpenChange:u,open:l,vpcId:i}),t[9]=n,t[10]=l,t[11]=i,t[12]=v):v=t[12];let y=`Delete node group "${d??``}"? This terminates its nodes.`,b;t[13]!==n||t[14]!==c||t[15]!==d?(b=()=>{d&&c.mutate({clusterName:n,nodegroupName:d},{onSuccess:()=>f(void 0)})},t[13]=n,t[14]=c,t[15]=d,t[16]=b):b=t[16];let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>!e&&f(void 0),t[17]=x):x=t[17];let S=d!==void 0,C;t[18]!==c.isPending||t[19]!==y||t[20]!==b||t[21]!==S?(C=(0,$.jsx)(ve,{description:y,isPending:c.isPending,onConfirm:b,onOpenChange:x,open:S,title:`Delete node group`}),t[18]=c.isPending,t[19]=y,t[20]=b,t[21]=S,t[22]=C):C=t[22];let w;return t[23]!==C||t[24]!==g||t[25]!==v?(w=(0,$.jsxs)($.Fragment,{children:[h,g,v,C]}),t[23]=C,t[24]=g,t[25]=v,t[26]=w):w=t[26],w}function st(e){switch(e??``){case`ACTIVE`:return`default`;case`FAILED`:return`destructive`;default:return`secondary`}}function ct(e){let t=(0,De.c)(134),{clusterName:n}=e,r=s(),[i,o]=(0,Q.useState)(!1),d;t[0]===n?d=t[1]:(d=ee(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=T(),{cluster:v}=f,y,b,x,S,C,w,E,D,O,k,A,j,M,N,P,F,I,L;if(t[2]!==v?.arn||t[3]!==v?.health?.issues||t[4]!==v?.status||t[5]!==n||t[6]!==p||t[7]!==r){let e=v?.health?.issues??[],i;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(i={type:`bin`,value:`aws eks update-kubeconfig`},t[26]=i):i=t[26];let a;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(a={type:`flag`,value:` --name `},t[27]=a):a=t[27];let s;t[28]===n?s=t[29]:(s={type:`value`,value:n},t[28]=n,t[29]=s);let c;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(c={type:`flag`,value:` --region `},t[30]=c):c=t[30];let d;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(d={type:`value`,value:l()},t[31]=d):d=t[31];let f;t[32]===s?f=t[33]:(f={label:`Configure kubectl`,parts:[i,a,s,c,d]},t[32]=s,t[33]=f);let m;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(m={label:`Verify access`,parts:[{type:`bin`,value:`kubectl get nodes`}]},t[34]=m):m=t[34];let T;t[35]===f?T=t[36]:(T=[f,m],t[35]=f,t[36]=T),E=T;let R;t[37]!==n||t[38]!==p||t[39]!==r?(R=function(){p.mutate(n,{onSuccess:()=>{r({to:`/eks/list-clusters`})}})},t[37]=n,t[38]=p,t[39]=r,t[40]=R):R=t[40],w=R,t[41]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(u,{to:`/eks/list-clusters`,children:`Clusters`}),t[41]=D):D=t[41];let z;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>o(!0),t[42]=z):z=t[42];let B;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsxs)(_,{onClick:z,size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),t[43]=B):B=t[43];let V=v?.status,H;t[44]===V?H=t[45]:(H=st(V),t[44]=V,t[45]=H);let U=v?.status??`UNKNOWN`,W;t[46]!==H||t[47]!==U?(W=(0,$.jsx)(xe,{variant:H,children:U}),t[46]=H,t[47]=U,t[48]=W):W=t[48];let G=e.length>0&&(0,$.jsxs)(xe,{variant:`destructive`,children:[(0,$.jsx)(g,{className:`size-3`}),e.length===1?`1 health issue`:`${e.length} health issues`]}),K;t[49]!==W||t[50]!==G?(K=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B,W,G]}),t[49]=W,t[50]=G,t[51]=K):K=t[51],t[52]!==n||t[53]!==K?(O=(0,$.jsx)(ce,{actions:K,subtitle:`Cluster Details`,title:n}),t[52]=n,t[53]=K,t[54]=O):O=t[54],t[55]!==p.error||t[56]!==p.isError?(k=p.isError&&(0,$.jsx)(se,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[55]=p.error,t[56]=p.isError,t[57]=k):k=t[57],C=Te,I=`overview`,t[58]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsxs)(Ce,{children:[(0,$.jsx)(Se,{value:`overview`,children:`Overview`}),(0,$.jsx)(Se,{value:`compute`,children:`Compute`}),(0,$.jsx)(Se,{value:`addons`,children:`Add-ons`}),(0,$.jsx)(Se,{value:`access`,children:`Access`}),(0,$.jsx)(Se,{value:`networking`,children:`Networking`}),(0,$.jsx)(Se,{value:`connect`,children:`Connect`})]}),t[58]=L):L=t[58],S=we,F=`overview`,x=X,t[59]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(X.Header,{children:`Cluster`}),t[59]=P):P=t[59],b=X.Content;let ee=v?.arn;t[60]===ee?M=t[61]:(M=(0,$.jsx)(Z,{label:`ARN`,value:ee}),t[60]=ee,t[61]=M);let q=v?.status;t[62]===q?N=t[63]:(N=(0,$.jsx)(Z,{label:`Status`,value:q}),t[62]=q,t[63]=N),y=Z,A=`Health`,j=e.length>0?e.map(lt).filter(Boolean).join(`; `):`OK`,t[2]=v?.arn,t[3]=v?.health?.issues,t[4]=v?.status,t[5]=n,t[6]=p,t[7]=r,t[8]=y,t[9]=b,t[10]=x,t[11]=S,t[12]=C,t[13]=w,t[14]=E,t[15]=D,t[16]=O,t[17]=k,t[18]=A,t[19]=j,t[20]=M,t[21]=N,t[22]=P,t[23]=F,t[24]=I,t[25]=L}else y=t[8],b=t[9],x=t[10],S=t[11],C=t[12],w=t[13],E=t[14],D=t[15],O=t[16],k=t[17],A=t[18],j=t[19],M=t[20],N=t[21],P=t[22],F=t[23],I=t[24],L=t[25];let R;t[64]!==y||t[65]!==A||t[66]!==j?(R=(0,$.jsx)(y,{label:A,value:j}),t[64]=y,t[65]=A,t[66]=j,t[67]=R):R=t[67];let z=v?.version,B;t[68]===z?B=t[69]:(B=(0,$.jsx)(Z,{label:`Kubernetes version`,value:z}),t[68]=z,t[69]=B);let V=v?.platformVersion,H;t[70]===V?H=t[71]:(H=(0,$.jsx)(Z,{label:`Platform version`,value:V}),t[70]=V,t[71]=H);let U=v?.endpoint,W;t[72]===U?W=t[73]:(W=(0,$.jsx)(Z,{label:`Endpoint`,value:U}),t[72]=U,t[73]=W);let G=v?.identity?.oidc?.issuer,K;t[74]===G?K=t[75]:(K=(0,$.jsx)(Z,{label:`OIDC issuer`,value:G}),t[74]=G,t[75]=K);let q=v?.resourcesVpcConfig?.vpcId,te;t[76]===q?te=t[77]:(te=(0,$.jsx)(Z,{label:`VPC`,value:q}),t[76]=q,t[77]=te);let ne=v?.createdAt,re;t[78]===ne?re=t[79]:(re=c(ne),t[78]=ne,t[79]=re);let ie;t[80]===re?ie=t[81]:(ie=(0,$.jsx)(Z,{label:`Created at`,value:re}),t[80]=re,t[81]=ie);let ae;t[82]!==b||t[83]!==R||t[84]!==B||t[85]!==H||t[86]!==W||t[87]!==K||t[88]!==te||t[89]!==ie||t[90]!==M||t[91]!==N?(ae=(0,$.jsxs)(b,{children:[M,N,R,B,H,W,K,te,ie]}),t[82]=b,t[83]=R,t[84]=B,t[85]=H,t[86]=W,t[87]=K,t[88]=te,t[89]=ie,t[90]=M,t[91]=N,t[92]=ae):ae=t[92];let oe;t[93]!==x||t[94]!==ae||t[95]!==P?(oe=(0,$.jsxs)(x,{children:[P,ae]}),t[93]=x,t[94]=ae,t[95]=P,t[96]=oe):oe=t[96];let J;t[97]!==S||t[98]!==oe||t[99]!==F?(J=(0,$.jsx)(S,{value:F,children:oe}),t[97]=S,t[98]=oe,t[99]=F,t[100]=J):J=t[100];let le=v?.version,ue=v?.resourcesVpcConfig?.vpcId,Y;t[101]!==n||t[102]!==le||t[103]!==ue?(Y=(0,$.jsx)(we,{value:`compute`,children:(0,$.jsx)(ot,{clusterName:n,clusterVersion:le,vpcId:ue})}),t[101]=n,t[102]=le,t[103]=ue,t[104]=Y):Y=t[104];let de;t[105]===n?de=t[106]:(de=(0,$.jsx)(we,{value:`addons`,children:(0,$.jsx)(Ge,{clusterName:n})}),t[105]=n,t[106]=de);let fe;t[107]===n?fe=t[108]:(fe=(0,$.jsx)(we,{value:`access`,children:(0,$.jsx)(Ne,{clusterName:n})}),t[107]=n,t[108]=fe);let pe;t[109]===v?pe=t[110]:(pe=(0,$.jsx)(we,{value:`networking`,children:(0,$.jsx)(qe,{cluster:v})}),t[109]=v,t[110]=pe);let me;t[111]===E?me=t[112]:(me=(0,$.jsx)(we,{value:`connect`,children:(0,$.jsx)(m,{commands:E})}),t[111]=E,t[112]=me);let he;t[113]!==C||t[114]!==J||t[115]!==Y||t[116]!==de||t[117]!==fe||t[118]!==pe||t[119]!==me||t[120]!==I||t[121]!==L?(he=(0,$.jsxs)(C,{defaultValue:I,children:[L,J,Y,de,fe,pe,me]}),t[113]=C,t[114]=J,t[115]=Y,t[116]=de,t[117]=fe,t[118]=pe,t[119]=me,t[120]=I,t[121]=L,t[122]=he):he=t[122];let ge=`This permanently deletes cluster "${n}" and its control plane. This cannot be undone.`,_e;t[123]!==p.isPending||t[124]!==w||t[125]!==i||t[126]!==ge?(_e=(0,$.jsx)(ve,{description:ge,isPending:p.isPending,onConfirm:w,onOpenChange:o,open:i,title:`Delete cluster`}),t[123]=p.isPending,t[124]=w,t[125]=i,t[126]=ge,t[127]=_e):_e=t[127];let ye;return t[128]!==D||t[129]!==O||t[130]!==k||t[131]!==he||t[132]!==_e?(ye=(0,$.jsxs)($.Fragment,{children:[D,O,k,he,_e]}),t[128]=D,t[129]=O,t[130]=k,t[131]=he,t[132]=_e,t[133]=ye):ye=t[133],ye}function lt(e){return e.message}function ut(){let e=(0,De.c)(2),{clusterName:t}=p.useParams(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(ct,{clusterName:t}),e[0]=t,e[1]=n),n}export{ut as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_groupName.js b/spinifex/services/spinifexui/frontend/dist/assets/_groupName.js index 6a1954ee0..8b7b9ed23 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_groupName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_groupName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_groupName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/inline-policies-panel.js","assets/useQuery.js","assets/input.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/json-editor.js","assets/textarea.js","assets/iam3.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{C as r,a as i,n as a,p as o,s}from"./iam2.js";var c=e(`/_auth/iam/(groups)/list-groups/$groupName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(t.groupName)),e.queryClient.ensureQueryData(a(t.groupName)),e.queryClient.ensureQueryData(o),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(i(t.groupName))])},head:({params:e})=>({meta:[{title:`${e.groupName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_groupName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{c as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_groupName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/mutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/inline-policies-panel.js","assets/useQuery.js","assets/input.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/separator.js","assets/json-editor.js","assets/textarea.js","assets/iam3.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{C as r,a as i,n as a,p as o,s}from"./iam2.js";var c=e(`/_auth/iam/(groups)/list-groups/$groupName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(t.groupName)),e.queryClient.ensureQueryData(a(t.groupName)),e.queryClient.ensureQueryData(o),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(i(t.groupName))])},head:({params:e})=>({meta:[{title:`${e.groupName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_groupName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])),`component`)});export{c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_groupName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_groupName2.js index 851521294..99ca02cac 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_groupName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_groupName2.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{O as u,n as d,p as f}from"./iam.js";import{C as p,s as m}from"./iam2.js";import{t as h}from"./error-banner.js";import{t as g}from"./page-heading.js";import{t as _}from"./_groupName.js";import{t as v}from"./delete-confirmation-dialog.js";import{n as y,t as b}from"./detail-row.js";import{n as x,t as S}from"./inline-policies-panel.js";var C=e(n()),w=t();function T(){let{groupName:e}=_.useParams(),t=a(),{data:n}=r(m(e)),{data:T}=r(p),E=f(),D=d(),O=u(),[k,A]=(0,C.useState)(!1),[j,M]=(0,C.useState)(!1),[N,P]=(0,C.useState)(null),F=n.Group,I=n.Users??[],L=T.Users??[],R=new Set(I.map(e=>e.UserName)),z=L.filter(e=>e.UserName&&!R.has(e.UserName)),B=async()=>{try{await E.mutateAsync(e),t({to:`/iam/list-groups`})}finally{A(!1)}},V=async t=>{await D.mutateAsync({groupName:e,userName:t}),M(!1)},H=async t=>{P(t);try{await O.mutateAsync({groupName:e,userName:t})}finally{P(null)}};return F?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/iam/list-groups`,children:`Back to groups`}),E.error&&(0,w.jsx)(h,{error:E.error,msg:`Failed to delete group`}),D.error&&(0,w.jsx)(h,{error:D.error,msg:`Failed to add user`}),O.error&&(0,w.jsx)(h,{error:O.error,msg:`Failed to remove user`}),(0,w.jsxs)(`div`,{className:`space-y-6`,children:[(0,w.jsx)(g,{actions:(0,w.jsxs)(l,{onClick:()=>A(!0),size:`sm`,variant:`destructive`,children:[(0,w.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`Group Details`,title:F.GroupName??``}),(0,w.jsxs)(y,{children:[(0,w.jsx)(y.Header,{children:`Group Information`}),(0,w.jsxs)(y.Content,{children:[(0,w.jsx)(b,{label:`Group Name`,value:F.GroupName}),(0,w.jsx)(b,{label:`Group ID`,value:F.GroupId}),(0,w.jsx)(b,{label:`ARN`,value:F.Arn}),(0,w.jsx)(b,{label:`Path`,value:F.Path}),(0,w.jsx)(b,{label:`Created`,value:o(F.CreateDate)})]})]}),(0,w.jsxs)(y,{children:[(0,w.jsx)(y.Header,{children:(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsx)(`span`,{children:`Members`}),(0,w.jsx)(l,{onClick:()=>M(!j),size:`sm`,children:`Add User`})]})}),(0,w.jsxs)(y.Content,{children:[j&&z.length>0&&(0,w.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,w.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a user to add:`}),(0,w.jsx)(`div`,{className:`space-y-1`,children:z.map(e=>(0,w.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:D.isPending,onClick:()=>{e.UserName&&V(e.UserName)},type:`button`,children:[(0,w.jsx)(`span`,{children:e.UserName}),(0,w.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.UserName))})]}),j&&z.length===0&&(0,w.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No users available to add.`}),I.length>0?(0,w.jsx)(`div`,{className:`col-span-2 space-y-3`,children:I.map(e=>(0,w.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,w.jsx)(i,{className:`text-sm font-medium hover:underline`,params:{userName:e.UserName??``},to:`/iam/list-users/$userName`,children:e.UserName}),(0,w.jsx)(l,{disabled:N===e.UserName,onClick:()=>{e.UserName&&H(e.UserName)},size:`sm`,variant:`outline`,children:`Remove`})]},e.UserName))}):(0,w.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No members.`})]})]}),(0,w.jsx)(x,{kind:`group`,name:e}),(0,w.jsx)(S,{kind:`group`,name:e})]}),(0,w.jsx)(v,{description:`Are you sure you want to delete the group "${e}"? This action cannot be undone. You must remove all members and detach all policies first.`,isPending:E.isPending,onConfirm:B,onOpenChange:A,open:k,title:`Delete Group`})]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/iam/list-groups`,children:`Back to groups`}),(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`Group not found.`})]})}export{T as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{O as u,n as d,p as f}from"./iam.js";import{C as p,s as m}from"./iam2.js";import{t as h}from"./_groupName.js";import{t as g}from"./error-banner.js";import{t as _}from"./page-heading.js";import{t as v}from"./delete-confirmation-dialog.js";import{n as y,t as b}from"./detail-row.js";import{n as x,t as S}from"./inline-policies-panel.js";var C=e(n()),w=t();function T(){let{groupName:e}=h.useParams(),t=a(),{data:n}=r(m(e)),{data:T}=r(p),E=f(),D=d(),O=u(),[k,A]=(0,C.useState)(!1),[j,M]=(0,C.useState)(!1),[N,P]=(0,C.useState)(null),F=n.Group,I=n.Users??[],L=T.Users??[],R=new Set(I.map(e=>e.UserName)),z=L.filter(e=>e.UserName&&!R.has(e.UserName)),B=async()=>{try{await E.mutateAsync(e),t({to:`/iam/list-groups`})}finally{A(!1)}},V=async t=>{await D.mutateAsync({groupName:e,userName:t}),M(!1)},H=async t=>{P(t);try{await O.mutateAsync({groupName:e,userName:t})}finally{P(null)}};return F?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/iam/list-groups`,children:`Back to groups`}),E.error&&(0,w.jsx)(g,{error:E.error,msg:`Failed to delete group`}),D.error&&(0,w.jsx)(g,{error:D.error,msg:`Failed to add user`}),O.error&&(0,w.jsx)(g,{error:O.error,msg:`Failed to remove user`}),(0,w.jsxs)(`div`,{className:`space-y-6`,children:[(0,w.jsx)(_,{actions:(0,w.jsxs)(l,{onClick:()=>A(!0),size:`sm`,variant:`destructive`,children:[(0,w.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`Group Details`,title:F.GroupName??``}),(0,w.jsxs)(y,{children:[(0,w.jsx)(y.Header,{children:`Group Information`}),(0,w.jsxs)(y.Content,{children:[(0,w.jsx)(b,{label:`Group Name`,value:F.GroupName}),(0,w.jsx)(b,{label:`Group ID`,value:F.GroupId}),(0,w.jsx)(b,{label:`ARN`,value:F.Arn}),(0,w.jsx)(b,{label:`Path`,value:F.Path}),(0,w.jsx)(b,{label:`Created`,value:o(F.CreateDate)})]})]}),(0,w.jsxs)(y,{children:[(0,w.jsx)(y.Header,{children:(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsx)(`span`,{children:`Members`}),(0,w.jsx)(l,{onClick:()=>M(!j),size:`sm`,children:`Add User`})]})}),(0,w.jsxs)(y.Content,{children:[j&&z.length>0&&(0,w.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,w.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a user to add:`}),(0,w.jsx)(`div`,{className:`space-y-1`,children:z.map(e=>(0,w.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:D.isPending,onClick:()=>{e.UserName&&V(e.UserName)},type:`button`,children:[(0,w.jsx)(`span`,{children:e.UserName}),(0,w.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.UserName))})]}),j&&z.length===0&&(0,w.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No users available to add.`}),I.length>0?(0,w.jsx)(`div`,{className:`col-span-2 space-y-3`,children:I.map(e=>(0,w.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,w.jsx)(i,{className:`text-sm font-medium hover:underline`,params:{userName:e.UserName??``},to:`/iam/list-users/$userName`,children:e.UserName}),(0,w.jsx)(l,{disabled:N===e.UserName,onClick:()=>{e.UserName&&H(e.UserName)},size:`sm`,variant:`outline`,children:`Remove`})]},e.UserName))}):(0,w.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No members.`})]})]}),(0,w.jsx)(x,{kind:`group`,name:e}),(0,w.jsx)(S,{kind:`group`,name:e})]}),(0,w.jsx)(v,{description:`Are you sure you want to delete the group "${e}"? This action cannot be undone. You must remove all members and detach all policies first.`,isPending:E.isPending,onConfirm:B,onOpenChange:A,open:k,title:`Delete Group`})]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/iam/list-groups`,children:`Back to groups`}),(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`Group not found.`})]})}export{T as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id.js b/spinifex/services/spinifexui/frontend/dist/assets/_id.js index a6f32ffbe..8f5517c8d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id33.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/copy.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{T as i,b as a}from"./ec2.js";var o=r(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),s=e(`/_auth/ec2/(snapshots)/describe-snapshots/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(a)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id33.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),`component`)});export{o as n,s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id33.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/copy.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{T as i,b as a}from"./ec2.js";var o=r(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),s=e(`/_auth/ec2/(snapshots)/describe-snapshots/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(a)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id33.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{o as n,s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id10.js b/spinifex/services/spinifexui/frontend/dist/assets/_id10.js index af3d0a4f7..c92d47095 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id10.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id10.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id29.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r}from"./ec2.js";var i=e(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | NAT Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id29.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id29.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r}from"./ec2.js";var i=e(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | NAT Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id29.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id11.js b/spinifex/services/spinifexui/frontend/dist/assets/_id11.js index 4bd0af16a..ca2e38c6f 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id11.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id11.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id30.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,v as i}from"./ec2.js";var a=e(`/_auth/ec2/(placement-groups)/describe-placement-groups/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id30.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id30.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,v as i}from"./ec2.js";var a=e(`/_auth/ec2/(placement-groups)/describe-placement-groups/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id30.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id12.js b/spinifex/services/spinifexui/frontend/dist/assets/_id12.js index 4d99f427e..64e35eb6e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id12.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id12.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id31.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,_ as i,d as a,x as o}from"./ec2.js";var s=e(`/_auth/ec2/(route-tables)/describe-route-tables/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Route Table | Mulga`}]}),component:t(()=>n(()=>import(`./_id31.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41])),`component`)});export{s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id31.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/detail-row.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,_ as i,d as a,x as o}from"./ec2.js";var s=e(`/_auth/ec2/(route-tables)/describe-route-tables/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Route Table | Mulga`}]}),component:t(()=>n(()=>import(`./_id31.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id13.js b/spinifex/services/spinifexui/frontend/dist/assets/_id13.js index db7588c35..44b8c69af 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id13.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id13.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id34.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{D as r}from"./ec2.js";var i=e(`/_auth/ec2/(subnet)/describe-subnets/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Subnet | Mulga`}]}),component:t(()=>n(()=>import(`./_id34.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id34.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{D as r}from"./ec2.js";var i=e(`/_auth/ec2/(subnet)/describe-subnets/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Subnet | Mulga`}]}),component:t(()=>n(()=>import(`./_id34.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id14.js b/spinifex/services/spinifexui/frontend/dist/assets/_id14.js index 77b4fbaf3..d2643b1c2 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id14.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id14.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id35.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/elbv2.js","assets/useMutation.js","assets/commandBuilder2.js","assets/elbv22.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/attributes-editor.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/useCompositeListItem.js","assets/field.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r}from"./ec2.js";import{c as i,l as a,s as o}from"./elbv22.js";var s=e(`/_auth/ec2/(target-groups)/describe-target-groups/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(o([n])),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Target Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id35.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])),`component`)});export{s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id35.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/elbv2.js","assets/useMutation.js","assets/mutation.js","assets/commandBuilder2.js","assets/elbv22.js","assets/error-banner.js","assets/page-heading.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/attributes-editor.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/field.js","assets/separator.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r}from"./ec2.js";import{c as i,l as a,s as o}from"./elbv22.js";var s=e(`/_auth/ec2/(target-groups)/describe-target-groups/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(o([n])),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Target Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id35.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id15.js b/spinifex/services/spinifexui/frontend/dist/assets/_id15.js index 723b5db01..87b3e49f9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id15.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id15.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id36.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/camera.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r,l as i}from"./ec2.js";var a=e(`/_auth/ec2/(volumes)/describe-volumes/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.id)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id36.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id36.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/camera.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r,l as i}from"./ec2.js";var a=e(`/_auth/ec2/(volumes)/describe-volumes/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.id)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id36.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id16.js b/spinifex/services/spinifexui/frontend/dist/assets/_id16.js index afe2a38f4..4aa277775 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id16.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id16.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id37.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/input.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/form-actions.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r}from"./ec2.js";var i=e(`/_auth/ec2/(volumes)/modify-volume/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`Resize ${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id37.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id37.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/input.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ec23.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r}from"./ec2.js";var i=e(`/_auth/ec2/(volumes)/modify-volume/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`Resize ${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id37.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id17.js b/spinifex/services/spinifexui/frontend/dist/assets/_id17.js index e8c421d08..1fdcc3529 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id17.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id17.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id38.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,j as i}from"./ec2.js";var a=e(`/_auth/ec2/(vpc)/describe-vpcs/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | VPC | Mulga`}]}),component:t(()=>n(()=>import(`./_id38.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id38.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,j as i}from"./ec2.js";var a=e(`/_auth/ec2/(vpc)/describe-vpcs/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | VPC | Mulga`}]}),component:t(()=>n(()=>import(`./_id38.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id18.js b/spinifex/services/spinifexui/frontend/dist/assets/_id18.js index 1437c1096..f7ce5dc9d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id18.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id18.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id39.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/ecr.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecr2.js","assets/useMutation.js","assets/page-heading.js","assets/json.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,n as i,r as a}from"./ecr.js";var o=e(`/_auth/ecr/(repositories)/list-repositories/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(r(n))])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Repository | Mulga`}]}),component:t(()=>n(()=>import(`./_id39.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id39.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/dist.js","assets/ecr.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecr2.js","assets/useMutation.js","assets/mutation.js","assets/json.js","assets/page-heading.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/useControlled.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,n as i,r as a}from"./ecr.js";var o=e(`/_auth/ecr/(repositories)/list-repositories/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(r(n))])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Repository | Mulga`}]}),component:t(()=>n(()=>import(`./_id39.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id19.js b/spinifex/services/spinifexui/frontend/dist/assets/_id19.js index 5e8a2e6b3..5f2dae660 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id19.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id19.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id40.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/camera.js","assets/pencil.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/rds2.js","assets/useMutation.js","assets/rds3.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useCompositeListItem.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/select.js","assets/create-db-snapshot-dialog.js","assets/tags-field-array.js","assets/plus.js","assets/delete-db-snapshot-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/rds-events-panel.js","assets/rds-tags-tab.js","assets/tags-editor.js","assets/delete-db-instance-dialog.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{c as r,g as i,n as a,s as o,t as s}from"./rds3.js";var c=e(`/_auth/rds/(db-instances)/describe-db-instances/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id),[c]=await Promise.all([e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(r(n)),e.queryClient.ensureQueryData(s(n))]),l=c.DBInstances?.[0]?.DBInstanceArn??``;await e.queryClient.ensureQueryData(i(l))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id40.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59])),`component`)});export{c as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id40.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/camera.js","assets/pencil.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/rds2.js","assets/useMutation.js","assets/mutation.js","assets/rds3.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/select.js","assets/usePositioner.js","assets/create-db-snapshot-dialog.js","assets/tags-field-array.js","assets/plus.js","assets/delete-db-snapshot-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/rds-events-panel.js","assets/rds-tags-tab.js","assets/tags-editor.js","assets/delete-db-instance-dialog.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{c as r,g as i,n as a,s as o,t as s}from"./rds3.js";var c=e(`/_auth/rds/(db-instances)/describe-db-instances/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id),[c]=await Promise.all([e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(r(n)),e.queryClient.ensureQueryData(s(n))]),l=c.DBInstances?.[0]?.DBInstanceArn??``;await e.queryClient.ensureQueryData(i(l))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id40.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65])),`component`)});export{c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id2.js b/spinifex/services/spinifexui/frontend/dist/assets/_id2.js index 8944daa17..0bdb73f3e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id2.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id32.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/plus.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{C as i}from"./ec2.js";var a=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),o=e(`/_auth/ec2/(security-groups)/describe-security-groups/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(i(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Security Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id32.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{a as n,o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id32.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/plus.js","assets/trash-2.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ec23.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/delete-confirmation-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{C as i}from"./ec2.js";var a=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),o=e(`/_auth/ec2/(security-groups)/describe-security-groups/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(i(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Security Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id32.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46])),`component`)});export{a as n,o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id20.js b/spinifex/services/spinifexui/frontend/dist/assets/_id20.js index 594683d0e..86e78379d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id20.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id20.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id41.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/rds.js","assets/awsClient.js","assets/index.browser.js","assets/rds3.js","assets/queryOptions.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/delete-db-snapshot-dialog.js","assets/rds2.js","assets/useMutation.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/rds-events-panel.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/tags-editor.js","assets/plus.js","assets/input.js","assets/useRegisterFieldControl.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r,i,p as a}from"./rds3.js";var o=e(`/_auth/rds/(snapshots)/describe-db-snapshots/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id),[o]=await Promise.all([e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(a(n))]),s=o.DBSnapshots?.[0]?.DBSnapshotArn??``;s!==``&&await e.queryClient.ensureQueryData(r(s))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id41.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id41.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/rds.js","assets/awsClient.js","assets/index.browser.js","assets/rds3.js","assets/queryOptions.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/useControlled.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/delete-db-snapshot-dialog.js","assets/rds2.js","assets/useMutation.js","assets/mutation.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/rds-events-panel.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/tags-editor.js","assets/plus.js","assets/input.js","assets/useRegisterFieldControl.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r,i,p as a}from"./rds3.js";var o=e(`/_auth/rds/(snapshots)/describe-db-snapshots/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id),[o]=await Promise.all([e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(a(n))]),s=o.DBSnapshots?.[0]?.DBSnapshotArn??``;s!==``&&await e.queryClient.ensureQueryData(r(s))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id41.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id21.js b/spinifex/services/spinifexui/frontend/dist/assets/_id21.js index fe1ff6120..38abf9219 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id21.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id21.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id42.js","assets/compiler-runtime.js","assets/QueryClientProvider.js","assets/useQuery.js","assets/useBaseQuery.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/cli-command-panel.js","assets/cluster-config.js","assets/hex-encoding.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/rds2.js","assets/useMutation.js","assets/rds3.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/detail-row.js","assets/system-managed.js","assets/tags-field-array.js","assets/plus.js","assets/trash-2.js","assets/system-image-required.js","assets/rotate-cw.js","assets/triangle-alert.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/select.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/useCompositeListItem.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{o as r,w as i}from"./ec2.js";import{d as a,h as o,i as s,o as c}from"./rds3.js";var l=e(`/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(decodeURIComponent(t.id))),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(o),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`Restore ${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id42.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50])),`component`)});export{l as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id42.js","assets/compiler-runtime.js","assets/QueryClientProvider.js","assets/useQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/cli-command-panel.js","assets/cluster-config.js","assets/hex-encoding.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/rds2.js","assets/useMutation.js","assets/mutation.js","assets/rds3.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/detail-row.js","assets/system-managed.js","assets/tags-field-array.js","assets/plus.js","assets/trash-2.js","assets/system-image-required.js","assets/rotate-cw.js","assets/triangle-alert.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/select.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useCompositeListItem.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{o as r,w as i}from"./ec2.js";import{d as a,h as o,i as s,o as c}from"./rds3.js";var l=e(`/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(decodeURIComponent(t.id))),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(o),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`Restore ${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id42.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55])),`component`)});export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id22.js b/spinifex/services/spinifexui/frontend/dist/assets/_id22.js index 3b61e11d1..134206598 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id22.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id22.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{l as m,t as h}from"./ec2.js";import{$ as g,U as _,r as v}from"./ec22.js";import{t as y}from"./error-banner.js";import{t as b}from"./page-heading.js";import{t as x}from"./_id3.js";import{t as S}from"./delete-confirmation-dialog.js";import{n as C,t as w}from"./detail-row.js";var T=e(n()),E=t();function D(){let{id:e}=x.useParams(),t=i(),{data:n}=r(h(e)),{data:D}=r(m),O=v(),k=_(),A=g(),[j,M]=(0,T.useState)(!1),[N,P]=(0,T.useState)(``),F=n.Addresses?.[0],I=D.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.State?.Name===`running`||e.State?.Name===`stopped`)??[],L=async()=>{try{await A.mutateAsync(e),t({to:`/ec2/describe-addresses`})}finally{M(!1)}},R=async()=>{N&&await O.mutateAsync({allocationId:e,instanceId:N})},z=async()=>{F?.AssociationId&&await k.mutateAsync(F.AssociationId)};if(!F?.AllocationId)return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(0,E.jsx)(`p`,{className:`text-muted-foreground`,children:`Elastic IP not found.`})]});let B=!!F.AssociationId,V=a(F.Tags);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(A.error??O.error??k.error)&&(0,E.jsx)(y,{error:A.error??O.error??k.error??void 0,msg:`Elastic IP action failed`}),(0,E.jsxs)(`div`,{className:`space-y-6`,children:[(0,E.jsx)(b,{actions:(0,E.jsxs)(p,{disabled:B||A.isPending,onClick:()=>M(!0),size:`sm`,variant:`destructive`,children:[(0,E.jsx)(f,{className:`size-4`}),`Release`]}),subtitle:`Elastic IP Details`,title:V?`${F.AllocationId} (${V})`:F.AllocationId}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Elastic IP Information`}),(0,E.jsxs)(C.Content,{children:[(0,E.jsx)(w,{label:`Allocation ID`,value:F.AllocationId}),(0,E.jsx)(w,{label:`Public IP`,value:F.PublicIp}),(0,E.jsx)(w,{label:`Domain`,value:F.Domain}),(0,E.jsx)(w,{label:`Association ID`,value:F.AssociationId??`—`}),(0,E.jsx)(w,{label:`Instance ID`,value:F.InstanceId??`—`}),(0,E.jsx)(w,{label:`Private IP`,value:F.PrivateIpAddress??`—`})]})]}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Association`}),(0,E.jsx)(C.Content,{children:B?(0,E.jsx)(p,{disabled:k.isPending,onClick:z,size:`sm`,variant:`outline`,children:`Disassociate`}):(0,E.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,E.jsx)(`div`,{className:`flex-1`,children:(0,E.jsxs)(d,{onValueChange:e=>P(e??``),value:N,children:[(0,E.jsx)(u,{className:`w-full`,children:(0,E.jsx)(s,{placeholder:`Select an instance`})}),(0,E.jsx)(l,{children:I.map(e=>{let t=a(e.Tags);return(0,E.jsx)(c,{value:e.InstanceId??``,children:t?`${e.InstanceId} (${t})`:e.InstanceId},e.InstanceId)})})]})}),(0,E.jsx)(p,{disabled:!N||O.isPending,onClick:R,size:`sm`,children:`Associate`})]})})]})]}),(0,E.jsx)(S,{description:`Are you sure you want to release the Elastic IP "${F.AllocationId}" (${F.PublicIp})? This action cannot be undone.`,isPending:A.isPending,onConfirm:L,onOpenChange:M,open:j,title:`Release Elastic IP`})]})}export{D as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{l as m,t as h}from"./ec2.js";import{$ as g,U as _,r as v}from"./ec22.js";import{t as y}from"./_id3.js";import{t as b}from"./error-banner.js";import{t as x}from"./page-heading.js";import{t as S}from"./delete-confirmation-dialog.js";import{n as C,t as w}from"./detail-row.js";var T=e(n()),E=t();function D(){let{id:e}=y.useParams(),t=i(),{data:n}=r(h(e)),{data:D}=r(m),O=v(),k=_(),A=g(),[j,M]=(0,T.useState)(!1),[N,P]=(0,T.useState)(``),F=n.Addresses?.[0],I=D.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.State?.Name===`running`||e.State?.Name===`stopped`)??[],L=async()=>{try{await A.mutateAsync(e),t({to:`/ec2/describe-addresses`})}finally{M(!1)}},R=async()=>{N&&await O.mutateAsync({allocationId:e,instanceId:N})},z=async()=>{F?.AssociationId&&await k.mutateAsync(F.AssociationId)};if(!F?.AllocationId)return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(0,E.jsx)(`p`,{className:`text-muted-foreground`,children:`Elastic IP not found.`})]});let B=!!F.AssociationId,V=a(F.Tags);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(A.error??O.error??k.error)&&(0,E.jsx)(b,{error:A.error??O.error??k.error??void 0,msg:`Elastic IP action failed`}),(0,E.jsxs)(`div`,{className:`space-y-6`,children:[(0,E.jsx)(x,{actions:(0,E.jsxs)(p,{disabled:B||A.isPending,onClick:()=>M(!0),size:`sm`,variant:`destructive`,children:[(0,E.jsx)(f,{className:`size-4`}),`Release`]}),subtitle:`Elastic IP Details`,title:V?`${F.AllocationId} (${V})`:F.AllocationId}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Elastic IP Information`}),(0,E.jsxs)(C.Content,{children:[(0,E.jsx)(w,{label:`Allocation ID`,value:F.AllocationId}),(0,E.jsx)(w,{label:`Public IP`,value:F.PublicIp}),(0,E.jsx)(w,{label:`Domain`,value:F.Domain}),(0,E.jsx)(w,{label:`Association ID`,value:F.AssociationId??`—`}),(0,E.jsx)(w,{label:`Instance ID`,value:F.InstanceId??`—`}),(0,E.jsx)(w,{label:`Private IP`,value:F.PrivateIpAddress??`—`})]})]}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Association`}),(0,E.jsx)(C.Content,{children:B?(0,E.jsx)(p,{disabled:k.isPending,onClick:z,size:`sm`,variant:`outline`,children:`Disassociate`}):(0,E.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,E.jsx)(`div`,{className:`flex-1`,children:(0,E.jsxs)(d,{onValueChange:e=>P(e??``),value:N,children:[(0,E.jsx)(u,{className:`w-full`,children:(0,E.jsx)(s,{placeholder:`Select an instance`})}),(0,E.jsx)(l,{children:I.map(e=>{let t=a(e.Tags);return(0,E.jsx)(c,{value:e.InstanceId??``,children:t?`${e.InstanceId} (${t})`:e.InstanceId},e.InstanceId)})})]})}),(0,E.jsx)(p,{disabled:!N||O.isPending,onClick:R,size:`sm`,children:`Associate`})]})})]})]}),(0,E.jsx)(S,{description:`Are you sure you want to release the Elastic IP "${F.AllocationId}" (${F.PublicIp})? This action cannot be undone.`,isPending:A.isPending,onConfirm:L,onOpenChange:M,open:j,title:`Release Elastic IP`})]})}export{D as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id23.js b/spinifex/services/spinifexui/frontend/dist/assets/_id23.js index 07e65065b..dbc489b93 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id23.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id23.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{t as o}from"./useSuspenseQuery.js";import{t as s}from"./useNavigate.js";import{a as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./circle-arrow-up.js";import{t as d}from"./trash-2.js";import{t as f}from"./button.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{n as x}from"./admin-context.js";import{n as S}from"./signed-fetch.js";import{a as C}from"./ec2.js";import{B as w}from"./ec22.js";import{t as T}from"./error-banner.js";import{t as E}from"./page-heading.js";import{t as D}from"./_id4.js";import{t as O}from"./delete-confirmation-dialog.js";import{t as k}from"./state-badge.js";import{i as A}from"./system-managed.js";import{t as j}from"./ami-details.js";var M=e(n()),N=r();function P(){let e=(0,N.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:F,onSuccess:()=>{t.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=t,e[1]=n),a(n)}async function F(e){let t=c();if(!t)throw Error(`Not authenticated`);return await S({action:`PromoteImage`,credentials:t,params:{ImageId:e}})}var I=t(),L=`000000000000`;function R(){let{id:e}=D.useParams(),t=s(),{data:n}=o(C(e)),r=n?.Images?.[0],{isAdmin:i}=x(),a=w(),c=P(),[S,N]=(0,M.useState)(!1),[F,R]=(0,M.useState)(!1);if(!r?.ImageId||A(r))return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),(0,I.jsx)(`p`,{className:`text-muted-foreground`,children:`Image not found.`})]});let z=r.OwnerId===L;async function B(){try{await a.mutateAsync(e),t({to:`/ec2/describe-images`})}finally{N(!1)}}async function V(){try{await c.mutateAsync(e),R(!1)}catch{}}return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),a.error&&(0,I.jsx)(T,{error:a.error,msg:`Failed to deregister image`}),c.error&&(0,I.jsx)(T,{error:c.error,msg:`Failed to promote image`}),(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(E,{actions:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i&&!z&&(0,I.jsxs)(f,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,I.jsx)(u,{className:`size-4`}),`Promote to System`]}),(0,I.jsxs)(f,{onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,I.jsx)(d,{className:`size-4`}),`Deregister`]}),(0,I.jsx)(k,{state:r.State})]}),subtitle:`Image Details`,title:r.ImageId}),(0,I.jsx)(j,{image:r,showExtendedDetails:!0})]}),(0,I.jsx)(O,{description:`Are you sure you want to deregister "${r.ImageId}"? The backing snapshot will not be deleted.`,isPending:a.isPending,onConfirm:B,onOpenChange:N,open:S,title:`Deregister Image`}),(0,I.jsx)(b,{onOpenChange:R,open:F,children:(0,I.jsxs)(m,{children:[(0,I.jsxs)(y,{children:[(0,I.jsx)(h,{children:`Promote to System Image`}),(0,I.jsxs)(p,{children:[`This will make “`,r.ImageId,`” visible to all accounts as a system image. This cannot be undone via the UI.`]})]}),(0,I.jsxs)(_,{children:[(0,I.jsx)(v,{children:`Cancel`}),(0,I.jsx)(g,{disabled:c.isPending,onClick:V,children:c.isPending?`Promoting…`:`Promote`})]})]})})]})}export{R as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{t as o}from"./useSuspenseQuery.js";import{t as s}from"./useNavigate.js";import{a as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./circle-arrow-up.js";import{t as d}from"./trash-2.js";import{t as f}from"./button.js";import{n as p}from"./admin-context.js";import{n as m}from"./signed-fetch.js";import{a as h}from"./ec2.js";import{B as g}from"./ec22.js";import{t as _}from"./_id4.js";import{t as v}from"./error-banner.js";import{t as y}from"./page-heading.js";import{a as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D}from"./alert-dialog.js";import{t as O}from"./delete-confirmation-dialog.js";import{t as k}from"./state-badge.js";import{i as A}from"./system-managed.js";import{t as j}from"./ami-details.js";var M=e(n()),N=r();function P(){let e=(0,N.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:F,onSuccess:()=>{t.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=t,e[1]=n),a(n)}async function F(e){let t=c();if(!t)throw Error(`Not authenticated`);return await m({action:`PromoteImage`,credentials:t,params:{ImageId:e}})}var I=t(),L=`000000000000`;function R(){let{id:e}=_.useParams(),t=s(),{data:n}=o(h(e)),r=n?.Images?.[0],{isAdmin:i}=p(),a=g(),c=P(),[m,N]=(0,M.useState)(!1),[F,R]=(0,M.useState)(!1);if(!r?.ImageId||A(r))return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),(0,I.jsx)(`p`,{className:`text-muted-foreground`,children:`Image not found.`})]});let z=r.OwnerId===L;async function B(){try{await a.mutateAsync(e),t({to:`/ec2/describe-images`})}finally{N(!1)}}async function V(){try{await c.mutateAsync(e),R(!1)}catch{}}return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),a.error&&(0,I.jsx)(v,{error:a.error,msg:`Failed to deregister image`}),c.error&&(0,I.jsx)(v,{error:c.error,msg:`Failed to promote image`}),(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(y,{actions:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i&&!z&&(0,I.jsxs)(f,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,I.jsx)(u,{className:`size-4`}),`Promote to System`]}),(0,I.jsxs)(f,{onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,I.jsx)(d,{className:`size-4`}),`Deregister`]}),(0,I.jsx)(k,{state:r.State})]}),subtitle:`Image Details`,title:r.ImageId}),(0,I.jsx)(j,{image:r,showExtendedDetails:!0})]}),(0,I.jsx)(O,{description:`Are you sure you want to deregister "${r.ImageId}"? The backing snapshot will not be deleted.`,isPending:a.isPending,onConfirm:B,onOpenChange:N,open:m,title:`Deregister Image`}),(0,I.jsx)(D,{onOpenChange:R,open:F,children:(0,I.jsxs)(x,{children:[(0,I.jsxs)(E,{children:[(0,I.jsx)(S,{children:`Promote to System Image`}),(0,I.jsxs)(b,{children:[`This will make “`,r.ImageId,`” visible to all accounts as a system image. This cannot be undone via the UI.`]})]}),(0,I.jsxs)(w,{children:[(0,I.jsx)(T,{children:`Cancel`}),(0,I.jsx)(C,{disabled:c.isPending,onClick:V,children:c.isPending?`Promoting…`:`Promote`})]})]})})]})}export{R as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id24.js b/spinifex/services/spinifexui/frontend/dist/assets/_id24.js index f527e3928..effc98725 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id24.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id24.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{Qt as s,en as c}from"./cluster-config.js";import{t as l}from"./createLucideIcon.js";import{t as u}from"./back-link.js";import{c as d,i as f,n as p,s as m,t as h}from"./select.js";import{t as g}from"./rotate-cw.js";import{t as _}from"./trash-2.js";import{t as v}from"./button.js";import{t as y}from"./input.js";import{a as b,t as x}from"./field.js";import{a as S,i as C,l as w,n as T,o as E,r as D,s as O,t as k}from"./alert-dialog.js";import{n as ee}from"./admin-context.js";import{a as A,c as te,i as j,s as ne}from"./ec2.js";import{J as re,K as M,W as N,Z as P,d as F,i as I,it as L,nt as R,rt as z}from"./ec22.js";import{f as B}from"./iam2.js";import{t as V}from"./error-banner.js";import{t as H}from"./gpu-instance-type-select.js";import{t as U}from"./page-heading.js";import{t as W}from"./_id5.js";import{t as G}from"./delete-confirmation-dialog.js";import{n as K,t as q}from"./detail-row.js";import{t as J}from"./state-badge.js";import{t as ie}from"./ami-details.js";import{r as ae}from"./admin.js";import{t as Y}from"./textarea.js";var oe=l(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),X=l(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),se=l(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),ce=l(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),le=l(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Z=e(n(),1),Q=t();function ue({instanceId:e,open:t,onOpenChange:n}){let r=F(),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(null);function u(e){e||(a(``),s(``),l(null)),n(e)}async function d(){try{let t=await r.mutateAsync({instanceId:e,name:i,description:o||void 0});l(t.ImageId??null),a(``),s(``)}catch{}}return(0,Q.jsx)(k,{onOpenChange:u,open:t,children:(0,Q.jsxs)(C,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(w,{children:c?`Image Created`:`Create Image (AMI)`}),(0,Q.jsx)(S,{children:c?`Image "${c}" was created successfully.`:`Create an AMI from instance "${e}".`})]}),!c&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`imageName`,children:`Name`})}),(0,Q.jsx)(y,{id:`imageName`,onChange:e=>a(e.target.value),placeholder:`my-image`,value:i})]}),(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`imageDescription`,children:`Description`})}),(0,Q.jsx)(Y,{id:`imageDescription`,onChange:e=>s(e.target.value),placeholder:`Optional description`,rows:2,value:o})]})]}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(D,{children:c?`Close`:`Cancel`}),!c&&(0,Q.jsx)(T,{disabled:r.isPending||!i.trim(),onClick:d,children:r.isPending?`Creating…`:`Create Image`})]})]})})}var $=r();function de(e){let t=(0,$.c)(22),{gpu:n}=e;if(!n)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(K.Header,{children:`GPU`}),t[0]=r):r=t[0];let i;t[1]===n.model?i=t[2]:(i=(0,Q.jsx)(q,{label:`Model`,value:n.model}),t[1]=n.model,t[2]=i);let a;t[3]===n.vram_mib?a=t[4]:(a=c(n.vram_mib),t[3]=n.vram_mib,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,Q.jsx)(q,{label:`VRAM`,value:a}),t[5]=a,t[6]=o);let s=n.profile?`MIG slice`:`PCIe passthrough`,l;t[7]===s?l=t[8]:(l=(0,Q.jsx)(q,{label:`Attachment`,value:s}),t[7]=s,t[8]=l);let u;t[9]===n.profile?u=t[10]:(u=n.profile&&(0,Q.jsx)(q,{label:`Profile`,value:n.profile}),t[9]=n.profile,t[10]=u);let d;t[11]===n.mdev_path?d=t[12]:(d=n.mdev_path&&(0,Q.jsx)(q,{label:`Mdev path`,value:n.mdev_path}),t[11]=n.mdev_path,t[12]=d);let f;t[13]===n.pci_address?f=t[14]:(f=n.pci_address&&(0,Q.jsx)(q,{label:`PCI address`,value:n.pci_address}),t[13]=n.pci_address,t[14]=f);let p;return t[15]!==i||t[16]!==o||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==f?(p=(0,Q.jsxs)(K,{children:[r,(0,Q.jsxs)(K.Content,{children:[i,o,l,u,d,f]})]}),t[15]=i,t[16]=o,t[17]=l,t[18]=u,t[19]=d,t[20]=f,t[21]=p):p=t[21],p}function fe(e){let t=(0,$.c)(31),{instanceId:n}=e,r;t[0]===n?r=t[1]:(r=j(n),t[0]=n,t[1]=r);let{data:a}=i(r),{data:s}=i(B),c=I(),l=N(),[u,f]=(0,Z.useState)(``),g;t[2]===a?.IamInstanceProfileAssociations?g=t[3]:(g=a?.IamInstanceProfileAssociations?.find(me),t[2]=a?.IamInstanceProfileAssociations,t[3]=g);let _=g,y;t[4]===s?.InstanceProfiles?y=t[5]:(y=s?.InstanceProfiles??[],t[4]=s?.InstanceProfiles,t[5]=y);let b=y,x;t[6]!==c||t[7]!==n||t[8]!==u?(x=async()=>{u&&(await c.mutateAsync({instanceId:n,instanceProfileName:u}),f(``))},t[6]=c,t[7]=n,t[8]=u,t[9]=x):x=t[9];let S=x,C;t[10]!==_||t[11]!==l||t[12]!==n?(C=async()=>{_?.AssociationId&&await l.mutateAsync({associationId:_.AssociationId,instanceId:n})},t[10]=_,t[11]=l,t[12]=n,t[13]=C):C=t[13];let w=C,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(K.Header,{children:`IAM Role`}),t[14]=T):T=t[14];let E;t[15]===c.error?E=t[16]:(E=c.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(V,{error:c.error,msg:`Failed to associate instance profile`})}),t[15]=c.error,t[16]=E);let D;t[17]===l.error?D=t[18]:(D=l.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(V,{error:l.error,msg:`Failed to disassociate instance profile`})}),t[17]=l.error,t[18]=D);let O;t[19]!==c.isPending||t[20]!==_||t[21]!==l.isPending||t[22]!==S||t[23]!==w||t[24]!==b||t[25]!==u?(O=_?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{label:`Instance Profile ARN`,value:_.IamInstanceProfile?.Arn}),(0,Q.jsx)(q,{label:`State`,value:(0,Q.jsx)(J,{state:_.State})}),(0,Q.jsx)(`div`,{className:`col-span-2 flex justify-end`,children:(0,Q.jsx)(v,{disabled:l.isPending,onClick:w,size:`sm`,variant:`destructive`,children:l.isPending?`Detaching…`:`Detach`})})]}):(0,Q.jsxs)(`div`,{className:`col-span-2 space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No instance profile is associated. Associate one to flow role credentials to this instance via IMDS.`}),b.length>0?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(h,{onValueChange:e=>f(e??``),value:u,children:[(0,Q.jsx)(m,{className:`w-full`,children:(0,Q.jsx)(d,{placeholder:`Select an instance profile`})}),(0,Q.jsx)(p,{children:b.map(pe)})]}),(0,Q.jsx)(v,{disabled:!u||c.isPending,onClick:S,size:`sm`,children:c.isPending?`Associating…`:`Associate`})]}):(0,Q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No instance profiles exist.`,` `,(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/iam/create-instance-profile`,children:`Create one`}),` `,`first.`]})]}),t[19]=c.isPending,t[20]=_,t[21]=l.isPending,t[22]=S,t[23]=w,t[24]=b,t[25]=u,t[26]=O):O=t[26];let k;return t[27]!==E||t[28]!==D||t[29]!==O?(k=(0,Q.jsxs)(K,{children:[T,(0,Q.jsxs)(K.Content,{children:[E,D,O]})]}),t[27]=E,t[28]=D,t[29]=O,t[30]=k):k=t[30],k}function pe(e){return(0,Q.jsx)(f,{value:e.InstanceProfileName??``,children:e.InstanceProfileName},e.InstanceProfileName)}function me(e){return e.State===`associating`||e.State===`associated`}var he=new Set([`pending`,`stopping`,`shutting-down`,`terminated`]);function ge(e){let t=(0,$.c)(43),{instanceId:n,state:r}=e,i=R(),a=z(),o=P(),s=L(),[c,l]=(0,Z.useState)(!1),u=he.has(r??``),d;t[0]!==n||t[1]!==s?(d=()=>{s.mutate(n,{onSettled:()=>l(!1)})},t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d;if(u&&r!==`terminated`){let e;return t[3]===r?e=t[4]:(e=(0,Q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,Q.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Instance is `,r,`. Actions will be available once the operation completes.`]})}),t[3]=r,t[4]=e),e}if(r===`terminated`){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,Q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground`,children:`This instance has been terminated and cannot be managed.`})}),t[5]=e):e=t[5],e}let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Instance Actions`}),t[6]=p):p=t[6];let m;t[7]===i.error?m=t[8]:(m=i.error&&(0,Q.jsx)(V,{error:i.error,msg:`Failed to start instance`}),t[7]=i.error,t[8]=m);let h;t[9]===a.error?h=t[10]:(h=a.error&&(0,Q.jsx)(V,{error:a.error,msg:`Failed to stop instance`}),t[9]=a.error,t[10]=h);let y;t[11]===o.error?y=t[12]:(y=o.error&&(0,Q.jsx)(V,{error:o.error,msg:`Failed to reboot instance`}),t[11]=o.error,t[12]=y);let b;t[13]===s.error?b=t[14]:(b=s.error&&(0,Q.jsx)(V,{error:s.error,msg:`Failed to terminate instance`}),t[13]=s.error,t[14]=b);let x;t[15]!==n||t[16]!==i||t[17]!==r?(x=r===`stopped`&&(0,Q.jsxs)(v,{disabled:i.isPending,onClick:()=>i.mutate(n),size:`sm`,variant:`default`,children:[(0,Q.jsx)(se,{className:`size-4`}),i.isPending?`Starting`:`Start`]}),t[15]=n,t[16]=i,t[17]=r,t[18]=x):x=t[18];let S;t[19]!==n||t[20]!==o||t[21]!==r||t[22]!==a?(S=r===`running`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(v,{disabled:a.isPending,onClick:()=>a.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(X,{className:`size-4`}),a.isPending?`Stopping`:`Stop`]}),(0,Q.jsxs)(v,{disabled:o.isPending,onClick:()=>o.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(g,{className:`size-4`}),o.isPending?`Rebooting`:`Reboot`]})]}),t[19]=n,t[20]=o,t[21]=r,t[22]=a,t[23]=S):S=t[23];let C;t[24]!==r||t[25]!==s.isPending?(C=(r===`stopped`||r===`running`)&&(0,Q.jsxs)(v,{disabled:s.isPending,onClick:()=>l(!0),size:`sm`,variant:`destructive`,children:[(0,Q.jsx)(_,{className:`size-4`}),s.isPending?`Terminating`:`Terminate`]}),t[24]=r,t[25]=s.isPending,t[26]=C):C=t[26];let w;t[27]!==x||t[28]!==S||t[29]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[x,S,C]}),t[27]=x,t[28]=S,t[29]=C,t[30]=w):w=t[30];let T=`Are you sure you want to terminate the instance "${n}"? This action cannot be undone.`,E;t[31]!==f||t[32]!==c||t[33]!==T||t[34]!==s.isPending?(E=(0,Q.jsx)(G,{confirmLabel:`Terminate`,description:T,isPending:s.isPending,onConfirm:f,onOpenChange:l,open:c,pendingLabel:`Terminating…`,title:`Terminate Instance`}),t[31]=f,t[32]=c,t[33]=T,t[34]=s.isPending,t[35]=E):E=t[35];let D;return t[36]!==w||t[37]!==E||t[38]!==m||t[39]!==h||t[40]!==y||t[41]!==b?(D=(0,Q.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[p,m,h,y,b,w,E]}),t[36]=w,t[37]=E,t[38]=m,t[39]=h,t[40]=y,t[41]=b,t[42]=D):D=t[42],D}function _e(){let{id:e}=W.useParams(),{isAdmin:t}=ee(),{data:n}=a(ne(e)),r=n.Reservations?.[0]?.Instances?.[0],{data:c}=a(A(r?.ImageId)),l=c?.Images?.[0],{data:d}=a(te),{data:f}=i({...ae,enabled:t,refetchInterval:5e3}),p=f?.vms?.find(t=>t.instance_id===e),m=re(),h=M(),[g,_]=(0,Z.useState)(!1),[y,j]=(0,Z.useState)(``),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)(null),[L,R]=(0,Z.useState)(!1);if(!r?.InstanceId)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance not found.`})]});let z=s(r.LaunchTime),B=r.State?.Name===`running`,G=r.State?.Name===`stopped`;async function Y(){try{await m.mutateAsync({instanceId:e,instanceType:y}),_(!1),j(``)}catch{}}async function X(){try{let t=await h.mutateAsync(e),n=t.Output?atob(t.Output):`(no output)`;I(n),P(!0)}catch{}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),m.error&&(0,Q.jsx)(V,{error:m.error,msg:`Failed to modify instance`}),h.error&&(0,Q.jsx)(V,{error:h.error,msg:`Failed to get console output`}),(0,Q.jsxs)(`div`,{className:`space-y-6`,children:[(0,Q.jsx)(U,{actions:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B&&(0,Q.jsxs)(v,{disabled:h.isPending,onClick:X,size:`sm`,variant:`outline`,children:[(0,Q.jsx)(le,{className:`size-4`}),h.isPending?`Fetching…`:`View Console`]}),(B||G)&&(0,Q.jsxs)(v,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(oe,{className:`size-4`}),`Create Image`]}),G&&(0,Q.jsxs)(v,{onClick:()=>{j(r.InstanceType??``),_(!0)},size:`sm`,variant:`outline`,children:[(0,Q.jsx)(ce,{className:`size-4`}),`Modify Instance`]}),(0,Q.jsx)(J,{state:r.State?.Name})]}),subtitle:`Instance Details`,title:r.InstanceId}),(0,Q.jsx)(ge,{instanceId:r.InstanceId,state:r.State?.Name}),N&&F!==null&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[`Console Output`,(0,Q.jsx)(v,{onClick:()=>{P(!1),I(null)},size:`sm`,variant:`ghost`,children:`Hide`})]})}),(0,Q.jsx)(`div`,{className:`p-4`,children:(0,Q.jsx)(`pre`,{className:`max-h-96 overflow-y-auto rounded bg-muted p-3 font-mono text-xs whitespace-pre-wrap`,children:F})})]}),(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Instance Information`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Instance ID`,value:r.InstanceId}),(0,Q.jsx)(q,{label:`Instance Type`,value:r.InstanceType}),(0,Q.jsx)(q,{label:`Instance State`,value:r.State?.Name}),(0,Q.jsx)(q,{label:`State Code`,value:r.State?.Code?.toString()}),(0,Q.jsx)(q,{label:`Launch Time`,value:z}),(0,Q.jsx)(q,{label:`Availability Zone`,value:r.Placement?.AvailabilityZone}),(0,Q.jsx)(q,{label:`Placement Group`,value:r.Placement?.GroupName?(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/ec2/describe-placement-groups`,children:r.Placement.GroupName}):void 0})]})]}),(r.PrivateIpAddress||r.PublicIpAddress||r.VpcId||r.SubnetId||r.SecurityGroups&&r.SecurityGroups.length>0)&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Network & Security`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Private IP Address`,value:r.PrivateIpAddress}),(0,Q.jsx)(q,{label:`Public IP Address`,value:r.PublicIpAddress}),(0,Q.jsx)(q,{label:`Private DNS`,value:r.PrivateDnsName}),(0,Q.jsx)(q,{label:`Public DNS`,value:r.PublicDnsName}),(0,Q.jsx)(q,{label:`VPC ID`,value:r.VpcId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):void 0}),(0,Q.jsx)(q,{label:`Subnet ID`,value:r.SubnetId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.SubnetId},to:`/ec2/describe-subnets/$id`,children:r.SubnetId}):void 0}),(0,Q.jsx)(q,{label:`Key Name`,value:r.KeyName}),(0,Q.jsx)(q,{label:`Security Groups`,value:r.SecurityGroups?.map(e=>e.GroupName).join(`, `)})]})]}),(0,Q.jsx)(fe,{instanceId:r.InstanceId}),t&&(0,Q.jsx)(de,{gpu:p?.gpu}),r.BlockDeviceMappings&&r.BlockDeviceMappings.length>0&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Block Device Mappings`}),r.BlockDeviceMappings.map(e=>(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Device Name`,value:e.DeviceName}),(0,Q.jsx)(q,{label:`Volume ID`,value:e.Ebs?.VolumeId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:e.Ebs.VolumeId},to:`/ec2/describe-volumes/$id`,children:e.Ebs.VolumeId}):void 0}),(0,Q.jsx)(q,{label:`Status`,value:e.Ebs?.Status}),(0,Q.jsx)(q,{label:`Attach Time`,value:s(e.Ebs?.AttachTime)}),(0,Q.jsx)(q,{label:`Delete on Termination`,value:e.Ebs?.DeleteOnTermination?`Yes`:`No`})]},e.DeviceName))]}),l&&(0,Q.jsx)(ie,{image:l})]}),(0,Q.jsx)(k,{onOpenChange:e=>{e||(_(!1),j(``))},open:g,children:(0,Q.jsxs)(C,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(w,{children:`Modify Instance`}),(0,Q.jsxs)(S,{children:[`Select a new instance type for "`,r.InstanceId,`". The instance must be stopped to modify its attributes.`]})]}),(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,Q.jsx)(H,{className:`w-full`,id:`instanceType`,instanceTypes:d.InstanceTypes??[],onValueChange:j,value:y})]}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(D,{children:`Cancel`}),(0,Q.jsx)(T,{disabled:m.isPending||!y||y===r.InstanceType,onClick:Y,children:m.isPending?`Saving…`:`Save Changes`})]})]})}),(0,Q.jsx)(ue,{instanceId:r.InstanceId,onOpenChange:R,open:L})]})}export{_e as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{Qt as s,en as c}from"./cluster-config.js";import{t as l}from"./createLucideIcon.js";import{t as u}from"./back-link.js";import{c as d,i as f,n as p,s as m,t as h}from"./select.js";import{t as g}from"./rotate-cw.js";import{t as _}from"./trash-2.js";import{t as v}from"./button.js";import{t as y}from"./input.js";import{n as b}from"./admin-context.js";import{a as x,c as S,i as C,s as w}from"./ec2.js";import{J as T,K as E,W as D,Z as O,d as k,i as A,it as j,nt as M,rt as N}from"./ec22.js";import{f as P}from"./iam2.js";import{t as ee}from"./_id5.js";import{t as F}from"./error-banner.js";import{t as te}from"./page-heading.js";import{a as I,t as L}from"./field.js";import{a as R,i as z,l as ne,n as B,o as V,r as H,s as U,t as W}from"./alert-dialog.js";import{t as G}from"./delete-confirmation-dialog.js";import{n as K,t as q}from"./detail-row.js";import{t as J}from"./state-badge.js";import{t as re}from"./ami-details.js";import{t as ie}from"./gpu-instance-type-select.js";import{r as ae}from"./admin.js";import{t as Y}from"./textarea.js";var oe=l(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),X=l(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),se=l(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),ce=l(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),le=l(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Z=e(n(),1),Q=t();function ue({instanceId:e,open:t,onOpenChange:n}){let r=k(),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(null);function u(e){e||(a(``),s(``),l(null)),n(e)}async function d(){try{let t=await r.mutateAsync({instanceId:e,name:i,description:o||void 0});l(t.ImageId??null),a(``),s(``)}catch{}}return(0,Q.jsx)(W,{onOpenChange:u,open:t,children:(0,Q.jsxs)(z,{children:[(0,Q.jsxs)(U,{children:[(0,Q.jsx)(ne,{children:c?`Image Created`:`Create Image (AMI)`}),(0,Q.jsx)(R,{children:c?`Image "${c}" was created successfully.`:`Create an AMI from instance "${e}".`})]}),!c&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(L,{children:[(0,Q.jsx)(I,{children:(0,Q.jsx)(`label`,{htmlFor:`imageName`,children:`Name`})}),(0,Q.jsx)(y,{id:`imageName`,onChange:e=>a(e.target.value),placeholder:`my-image`,value:i})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(I,{children:(0,Q.jsx)(`label`,{htmlFor:`imageDescription`,children:`Description`})}),(0,Q.jsx)(Y,{id:`imageDescription`,onChange:e=>s(e.target.value),placeholder:`Optional description`,rows:2,value:o})]})]}),(0,Q.jsxs)(V,{children:[(0,Q.jsx)(H,{children:c?`Close`:`Cancel`}),!c&&(0,Q.jsx)(B,{disabled:r.isPending||!i.trim(),onClick:d,children:r.isPending?`Creating…`:`Create Image`})]})]})})}var $=r();function de(e){let t=(0,$.c)(22),{gpu:n}=e;if(!n)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(K.Header,{children:`GPU`}),t[0]=r):r=t[0];let i;t[1]===n.model?i=t[2]:(i=(0,Q.jsx)(q,{label:`Model`,value:n.model}),t[1]=n.model,t[2]=i);let a;t[3]===n.vram_mib?a=t[4]:(a=c(n.vram_mib),t[3]=n.vram_mib,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,Q.jsx)(q,{label:`VRAM`,value:a}),t[5]=a,t[6]=o);let s=n.profile?`MIG slice`:`PCIe passthrough`,l;t[7]===s?l=t[8]:(l=(0,Q.jsx)(q,{label:`Attachment`,value:s}),t[7]=s,t[8]=l);let u;t[9]===n.profile?u=t[10]:(u=n.profile&&(0,Q.jsx)(q,{label:`Profile`,value:n.profile}),t[9]=n.profile,t[10]=u);let d;t[11]===n.mdev_path?d=t[12]:(d=n.mdev_path&&(0,Q.jsx)(q,{label:`Mdev path`,value:n.mdev_path}),t[11]=n.mdev_path,t[12]=d);let f;t[13]===n.pci_address?f=t[14]:(f=n.pci_address&&(0,Q.jsx)(q,{label:`PCI address`,value:n.pci_address}),t[13]=n.pci_address,t[14]=f);let p;return t[15]!==i||t[16]!==o||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==f?(p=(0,Q.jsxs)(K,{children:[r,(0,Q.jsxs)(K.Content,{children:[i,o,l,u,d,f]})]}),t[15]=i,t[16]=o,t[17]=l,t[18]=u,t[19]=d,t[20]=f,t[21]=p):p=t[21],p}function fe(e){let t=(0,$.c)(31),{instanceId:n}=e,r;t[0]===n?r=t[1]:(r=C(n),t[0]=n,t[1]=r);let{data:a}=i(r),{data:s}=i(P),c=A(),l=D(),[u,f]=(0,Z.useState)(``),g;t[2]===a?.IamInstanceProfileAssociations?g=t[3]:(g=a?.IamInstanceProfileAssociations?.find(me),t[2]=a?.IamInstanceProfileAssociations,t[3]=g);let _=g,y;t[4]===s?.InstanceProfiles?y=t[5]:(y=s?.InstanceProfiles??[],t[4]=s?.InstanceProfiles,t[5]=y);let b=y,x;t[6]!==c||t[7]!==n||t[8]!==u?(x=async()=>{u&&(await c.mutateAsync({instanceId:n,instanceProfileName:u}),f(``))},t[6]=c,t[7]=n,t[8]=u,t[9]=x):x=t[9];let S=x,w;t[10]!==_||t[11]!==l||t[12]!==n?(w=async()=>{_?.AssociationId&&await l.mutateAsync({associationId:_.AssociationId,instanceId:n})},t[10]=_,t[11]=l,t[12]=n,t[13]=w):w=t[13];let T=w,E;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Q.jsx)(K.Header,{children:`IAM Role`}),t[14]=E):E=t[14];let O;t[15]===c.error?O=t[16]:(O=c.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(F,{error:c.error,msg:`Failed to associate instance profile`})}),t[15]=c.error,t[16]=O);let k;t[17]===l.error?k=t[18]:(k=l.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(F,{error:l.error,msg:`Failed to disassociate instance profile`})}),t[17]=l.error,t[18]=k);let j;t[19]!==c.isPending||t[20]!==_||t[21]!==l.isPending||t[22]!==S||t[23]!==T||t[24]!==b||t[25]!==u?(j=_?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{label:`Instance Profile ARN`,value:_.IamInstanceProfile?.Arn}),(0,Q.jsx)(q,{label:`State`,value:(0,Q.jsx)(J,{state:_.State})}),(0,Q.jsx)(`div`,{className:`col-span-2 flex justify-end`,children:(0,Q.jsx)(v,{disabled:l.isPending,onClick:T,size:`sm`,variant:`destructive`,children:l.isPending?`Detaching…`:`Detach`})})]}):(0,Q.jsxs)(`div`,{className:`col-span-2 space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No instance profile is associated. Associate one to flow role credentials to this instance via IMDS.`}),b.length>0?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(h,{onValueChange:e=>f(e??``),value:u,children:[(0,Q.jsx)(m,{className:`w-full`,children:(0,Q.jsx)(d,{placeholder:`Select an instance profile`})}),(0,Q.jsx)(p,{children:b.map(pe)})]}),(0,Q.jsx)(v,{disabled:!u||c.isPending,onClick:S,size:`sm`,children:c.isPending?`Associating…`:`Associate`})]}):(0,Q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No instance profiles exist.`,` `,(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/iam/create-instance-profile`,children:`Create one`}),` `,`first.`]})]}),t[19]=c.isPending,t[20]=_,t[21]=l.isPending,t[22]=S,t[23]=T,t[24]=b,t[25]=u,t[26]=j):j=t[26];let M;return t[27]!==O||t[28]!==k||t[29]!==j?(M=(0,Q.jsxs)(K,{children:[E,(0,Q.jsxs)(K.Content,{children:[O,k,j]})]}),t[27]=O,t[28]=k,t[29]=j,t[30]=M):M=t[30],M}function pe(e){return(0,Q.jsx)(f,{value:e.InstanceProfileName??``,children:e.InstanceProfileName},e.InstanceProfileName)}function me(e){return e.State===`associating`||e.State===`associated`}var he=new Set([`pending`,`stopping`,`shutting-down`,`terminated`]);function ge(e){let t=(0,$.c)(43),{instanceId:n,state:r}=e,i=M(),a=N(),o=O(),s=j(),[c,l]=(0,Z.useState)(!1),u=he.has(r??``),d;t[0]!==n||t[1]!==s?(d=()=>{s.mutate(n,{onSettled:()=>l(!1)})},t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d;if(u&&r!==`terminated`){let e;return t[3]===r?e=t[4]:(e=(0,Q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,Q.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Instance is `,r,`. Actions will be available once the operation completes.`]})}),t[3]=r,t[4]=e),e}if(r===`terminated`){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,Q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground`,children:`This instance has been terminated and cannot be managed.`})}),t[5]=e):e=t[5],e}let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Instance Actions`}),t[6]=p):p=t[6];let m;t[7]===i.error?m=t[8]:(m=i.error&&(0,Q.jsx)(F,{error:i.error,msg:`Failed to start instance`}),t[7]=i.error,t[8]=m);let h;t[9]===a.error?h=t[10]:(h=a.error&&(0,Q.jsx)(F,{error:a.error,msg:`Failed to stop instance`}),t[9]=a.error,t[10]=h);let y;t[11]===o.error?y=t[12]:(y=o.error&&(0,Q.jsx)(F,{error:o.error,msg:`Failed to reboot instance`}),t[11]=o.error,t[12]=y);let b;t[13]===s.error?b=t[14]:(b=s.error&&(0,Q.jsx)(F,{error:s.error,msg:`Failed to terminate instance`}),t[13]=s.error,t[14]=b);let x;t[15]!==n||t[16]!==i||t[17]!==r?(x=r===`stopped`&&(0,Q.jsxs)(v,{disabled:i.isPending,onClick:()=>i.mutate(n),size:`sm`,variant:`default`,children:[(0,Q.jsx)(se,{className:`size-4`}),i.isPending?`Starting`:`Start`]}),t[15]=n,t[16]=i,t[17]=r,t[18]=x):x=t[18];let S;t[19]!==n||t[20]!==o||t[21]!==r||t[22]!==a?(S=r===`running`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(v,{disabled:a.isPending,onClick:()=>a.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(X,{className:`size-4`}),a.isPending?`Stopping`:`Stop`]}),(0,Q.jsxs)(v,{disabled:o.isPending,onClick:()=>o.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(g,{className:`size-4`}),o.isPending?`Rebooting`:`Reboot`]})]}),t[19]=n,t[20]=o,t[21]=r,t[22]=a,t[23]=S):S=t[23];let C;t[24]!==r||t[25]!==s.isPending?(C=(r===`stopped`||r===`running`)&&(0,Q.jsxs)(v,{disabled:s.isPending,onClick:()=>l(!0),size:`sm`,variant:`destructive`,children:[(0,Q.jsx)(_,{className:`size-4`}),s.isPending?`Terminating`:`Terminate`]}),t[24]=r,t[25]=s.isPending,t[26]=C):C=t[26];let w;t[27]!==x||t[28]!==S||t[29]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[x,S,C]}),t[27]=x,t[28]=S,t[29]=C,t[30]=w):w=t[30];let T=`Are you sure you want to terminate the instance "${n}"? This action cannot be undone.`,E;t[31]!==f||t[32]!==c||t[33]!==T||t[34]!==s.isPending?(E=(0,Q.jsx)(G,{confirmLabel:`Terminate`,description:T,isPending:s.isPending,onConfirm:f,onOpenChange:l,open:c,pendingLabel:`Terminating…`,title:`Terminate Instance`}),t[31]=f,t[32]=c,t[33]=T,t[34]=s.isPending,t[35]=E):E=t[35];let D;return t[36]!==w||t[37]!==E||t[38]!==m||t[39]!==h||t[40]!==y||t[41]!==b?(D=(0,Q.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[p,m,h,y,b,w,E]}),t[36]=w,t[37]=E,t[38]=m,t[39]=h,t[40]=y,t[41]=b,t[42]=D):D=t[42],D}function _e(){let{id:e}=ee.useParams(),{isAdmin:t}=b(),{data:n}=a(w(e)),r=n.Reservations?.[0]?.Instances?.[0],{data:c}=a(x(r?.ImageId)),l=c?.Images?.[0],{data:d}=a(S),{data:f}=i({...ae,enabled:t,refetchInterval:5e3}),p=f?.vms?.find(t=>t.instance_id===e),m=T(),h=E(),[g,_]=(0,Z.useState)(!1),[y,C]=(0,Z.useState)(``),[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(!1);if(!r?.InstanceId)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance not found.`})]});let N=s(r.LaunchTime),P=r.State?.Name===`running`,G=r.State?.Name===`stopped`;async function Y(){try{await m.mutateAsync({instanceId:e,instanceType:y}),_(!1),C(``)}catch{}}async function X(){try{let t=await h.mutateAsync(e),n=t.Output?atob(t.Output):`(no output)`;A(n),O(!0)}catch{}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),m.error&&(0,Q.jsx)(F,{error:m.error,msg:`Failed to modify instance`}),h.error&&(0,Q.jsx)(F,{error:h.error,msg:`Failed to get console output`}),(0,Q.jsxs)(`div`,{className:`space-y-6`,children:[(0,Q.jsx)(te,{actions:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[P&&(0,Q.jsxs)(v,{disabled:h.isPending,onClick:X,size:`sm`,variant:`outline`,children:[(0,Q.jsx)(le,{className:`size-4`}),h.isPending?`Fetching…`:`View Console`]}),(P||G)&&(0,Q.jsxs)(v,{onClick:()=>M(!0),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(oe,{className:`size-4`}),`Create Image`]}),G&&(0,Q.jsxs)(v,{onClick:()=>{C(r.InstanceType??``),_(!0)},size:`sm`,variant:`outline`,children:[(0,Q.jsx)(ce,{className:`size-4`}),`Modify Instance`]}),(0,Q.jsx)(J,{state:r.State?.Name})]}),subtitle:`Instance Details`,title:r.InstanceId}),(0,Q.jsx)(ge,{instanceId:r.InstanceId,state:r.State?.Name}),D&&k!==null&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[`Console Output`,(0,Q.jsx)(v,{onClick:()=>{O(!1),A(null)},size:`sm`,variant:`ghost`,children:`Hide`})]})}),(0,Q.jsx)(`div`,{className:`p-4`,children:(0,Q.jsx)(`pre`,{className:`max-h-96 overflow-y-auto rounded bg-muted p-3 font-mono text-xs whitespace-pre-wrap`,children:k})})]}),(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Instance Information`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Instance ID`,value:r.InstanceId}),(0,Q.jsx)(q,{label:`Instance Type`,value:r.InstanceType}),(0,Q.jsx)(q,{label:`Instance State`,value:r.State?.Name}),(0,Q.jsx)(q,{label:`State Code`,value:r.State?.Code?.toString()}),(0,Q.jsx)(q,{label:`Launch Time`,value:N}),(0,Q.jsx)(q,{label:`Availability Zone`,value:r.Placement?.AvailabilityZone}),(0,Q.jsx)(q,{label:`Placement Group`,value:r.Placement?.GroupName?(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/ec2/describe-placement-groups`,children:r.Placement.GroupName}):void 0})]})]}),(r.PrivateIpAddress||r.PublicIpAddress||r.VpcId||r.SubnetId||r.SecurityGroups&&r.SecurityGroups.length>0)&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Network & Security`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Private IP Address`,value:r.PrivateIpAddress}),(0,Q.jsx)(q,{label:`Public IP Address`,value:r.PublicIpAddress}),(0,Q.jsx)(q,{label:`Private DNS`,value:r.PrivateDnsName}),(0,Q.jsx)(q,{label:`Public DNS`,value:r.PublicDnsName}),(0,Q.jsx)(q,{label:`VPC ID`,value:r.VpcId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):void 0}),(0,Q.jsx)(q,{label:`Subnet ID`,value:r.SubnetId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.SubnetId},to:`/ec2/describe-subnets/$id`,children:r.SubnetId}):void 0}),(0,Q.jsx)(q,{label:`Key Name`,value:r.KeyName}),(0,Q.jsx)(q,{label:`Security Groups`,value:r.SecurityGroups?.map(e=>e.GroupName).join(`, `)})]})]}),(0,Q.jsx)(fe,{instanceId:r.InstanceId}),t&&(0,Q.jsx)(de,{gpu:p?.gpu}),r.BlockDeviceMappings&&r.BlockDeviceMappings.length>0&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Block Device Mappings`}),r.BlockDeviceMappings.map(e=>(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Device Name`,value:e.DeviceName}),(0,Q.jsx)(q,{label:`Volume ID`,value:e.Ebs?.VolumeId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:e.Ebs.VolumeId},to:`/ec2/describe-volumes/$id`,children:e.Ebs.VolumeId}):void 0}),(0,Q.jsx)(q,{label:`Status`,value:e.Ebs?.Status}),(0,Q.jsx)(q,{label:`Attach Time`,value:s(e.Ebs?.AttachTime)}),(0,Q.jsx)(q,{label:`Delete on Termination`,value:e.Ebs?.DeleteOnTermination?`Yes`:`No`})]},e.DeviceName))]}),l&&(0,Q.jsx)(re,{image:l})]}),(0,Q.jsx)(W,{onOpenChange:e=>{e||(_(!1),C(``))},open:g,children:(0,Q.jsxs)(z,{children:[(0,Q.jsxs)(U,{children:[(0,Q.jsx)(ne,{children:`Modify Instance`}),(0,Q.jsxs)(R,{children:[`Select a new instance type for "`,r.InstanceId,`". The instance must be stopped to modify its attributes.`]})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(I,{children:(0,Q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,Q.jsx)(ie,{className:`w-full`,id:`instanceType`,instanceTypes:d.InstanceTypes??[],onValueChange:C,value:y})]}),(0,Q.jsxs)(V,{children:[(0,Q.jsx)(H,{children:`Cancel`}),(0,Q.jsx)(B,{disabled:m.isPending||!y||y===r.InstanceType,onClick:Y,children:m.isPending?`Saving…`:`Save Changes`})]})]})}),(0,Q.jsx)(ue,{instanceId:r.InstanceId,onOpenChange:M,open:j})]})}export{_e as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id25.js b/spinifex/services/spinifexui/frontend/dist/assets/_id25.js index 55842424a..544b1a013 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id25.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id25.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./trash-2.js";import{t as m}from"./button.js";import{M as h,u as g}from"./ec2.js";import{D as _,V as v,o as y}from"./ec22.js";import{t as b}from"./error-banner.js";import{t as x}from"./page-heading.js";import{t as S}from"./_id6.js";import{t as C}from"./delete-confirmation-dialog.js";import{n as w,t as T}from"./detail-row.js";var E=e(n()),D=t();function O(){let{id:e}=S.useParams(),t=a(),{data:n}=r(g(e)),{data:O}=r(h),k=y(),A=v(),j=_(),[M,N]=(0,E.useState)(!1),[P,F]=(0,E.useState)(``),I=n.InternetGateways?.[0],L=O.Vpcs??[],R=async()=>{try{await j.mutateAsync(e),t({to:`/ec2/describe-internet-gateways`})}finally{N(!1)}},z=async()=>{P&&await k.mutateAsync({internetGatewayId:e,vpcId:P})},B=async t=>{await A.mutateAsync({internetGatewayId:e,vpcId:t})};if(!I?.InternetGatewayId)return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(0,D.jsx)(`p`,{className:`text-muted-foreground`,children:`Internet Gateway not found.`})]});let V=I.Attachments?.[0],H=!!V?.VpcId,U=o(I.Tags);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(j.error??k.error??A.error)&&(0,D.jsx)(b,{error:j.error??k.error??A.error??void 0,msg:`Internet Gateway action failed`}),(0,D.jsxs)(`div`,{className:`space-y-6`,children:[(0,D.jsx)(x,{actions:(0,D.jsxs)(m,{disabled:H||j.isPending,onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,D.jsx)(p,{className:`size-4`}),`Delete`]}),subtitle:`Internet Gateway Details`,title:U?`${I.InternetGatewayId} (${U})`:I.InternetGatewayId}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`Internet Gateway Information`}),(0,D.jsxs)(w.Content,{children:[(0,D.jsx)(T,{label:`Internet Gateway ID`,value:I.InternetGatewayId}),(0,D.jsx)(T,{label:`Owner ID`,value:I.OwnerId??`—`}),(0,D.jsx)(T,{label:`State`,value:V?.State??`detached`})]})]}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`VPC Attachment`}),(0,D.jsx)(w.Content,{children:H?(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(i,{className:`text-primary hover:underline`,params:{id:V.VpcId??``},to:`/ec2/describe-vpcs/$id`,children:V.VpcId}),(0,D.jsx)(m,{disabled:A.isPending,onClick:async()=>await B(V.VpcId??``),size:`sm`,variant:`outline`,children:`Detach`})]}):(0,D.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,D.jsx)(`div`,{className:`flex-1`,children:(0,D.jsxs)(f,{onValueChange:e=>F(e??``),value:P,children:[(0,D.jsx)(d,{className:`w-full`,children:(0,D.jsx)(c,{placeholder:`Select a VPC`})}),(0,D.jsx)(u,{children:L.map(e=>{let t=o(e.Tags);return(0,D.jsx)(l,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)})})]})}),(0,D.jsx)(m,{disabled:!P||k.isPending,onClick:z,size:`sm`,children:`Attach`})]})})]})]}),(0,D.jsx)(C,{description:`Are you sure you want to delete the Internet Gateway "${I.InternetGatewayId}"? This action cannot be undone.`,isPending:j.isPending,onConfirm:R,onOpenChange:N,open:M,title:`Delete Internet Gateway`})]})}export{O as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./trash-2.js";import{t as m}from"./button.js";import{M as h,u as g}from"./ec2.js";import{D as _,V as v,o as y}from"./ec22.js";import{t as b}from"./_id6.js";import{t as x}from"./error-banner.js";import{t as S}from"./page-heading.js";import{t as C}from"./delete-confirmation-dialog.js";import{n as w,t as T}from"./detail-row.js";var E=e(n()),D=t();function O(){let{id:e}=b.useParams(),t=a(),{data:n}=r(g(e)),{data:O}=r(h),k=y(),A=v(),j=_(),[M,N]=(0,E.useState)(!1),[P,F]=(0,E.useState)(``),I=n.InternetGateways?.[0],L=O.Vpcs??[],R=async()=>{try{await j.mutateAsync(e),t({to:`/ec2/describe-internet-gateways`})}finally{N(!1)}},z=async()=>{P&&await k.mutateAsync({internetGatewayId:e,vpcId:P})},B=async t=>{await A.mutateAsync({internetGatewayId:e,vpcId:t})};if(!I?.InternetGatewayId)return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(0,D.jsx)(`p`,{className:`text-muted-foreground`,children:`Internet Gateway not found.`})]});let V=I.Attachments?.[0],H=!!V?.VpcId,U=o(I.Tags);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(j.error??k.error??A.error)&&(0,D.jsx)(x,{error:j.error??k.error??A.error??void 0,msg:`Internet Gateway action failed`}),(0,D.jsxs)(`div`,{className:`space-y-6`,children:[(0,D.jsx)(S,{actions:(0,D.jsxs)(m,{disabled:H||j.isPending,onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,D.jsx)(p,{className:`size-4`}),`Delete`]}),subtitle:`Internet Gateway Details`,title:U?`${I.InternetGatewayId} (${U})`:I.InternetGatewayId}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`Internet Gateway Information`}),(0,D.jsxs)(w.Content,{children:[(0,D.jsx)(T,{label:`Internet Gateway ID`,value:I.InternetGatewayId}),(0,D.jsx)(T,{label:`Owner ID`,value:I.OwnerId??`—`}),(0,D.jsx)(T,{label:`State`,value:V?.State??`detached`})]})]}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`VPC Attachment`}),(0,D.jsx)(w.Content,{children:H?(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(i,{className:`text-primary hover:underline`,params:{id:V.VpcId??``},to:`/ec2/describe-vpcs/$id`,children:V.VpcId}),(0,D.jsx)(m,{disabled:A.isPending,onClick:async()=>await B(V.VpcId??``),size:`sm`,variant:`outline`,children:`Detach`})]}):(0,D.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,D.jsx)(`div`,{className:`flex-1`,children:(0,D.jsxs)(f,{onValueChange:e=>F(e??``),value:P,children:[(0,D.jsx)(d,{className:`w-full`,children:(0,D.jsx)(c,{placeholder:`Select a VPC`})}),(0,D.jsx)(u,{children:L.map(e=>{let t=o(e.Tags);return(0,D.jsx)(l,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)})})]})}),(0,D.jsx)(m,{disabled:!P||k.isPending,onClick:z,size:`sm`,children:`Attach`})]})})]})]}),(0,D.jsx)(C,{description:`Are you sure you want to delete the Internet Gateway "${I.InternetGatewayId}"? This action cannot be undone.`,isPending:j.isPending,onConfirm:R,onOpenChange:N,open:M,title:`Delete Internet Gateway`})]})}export{O as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id26.js b/spinifex/services/spinifexui/frontend/dist/assets/_id26.js index d2f05841a..bc1d44172 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id26.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id26.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{Qt as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{f as l}from"./ec2.js";import{O as u}from"./ec22.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{t as p}from"./_id7.js";import{t as m}from"./delete-confirmation-dialog.js";import{n as h,t as g}from"./detail-row.js";var _=e(n()),v=t();function y(){let{id:e}=p.useParams(),t=i(),{data:n}=r(l(e)),y=n.KeyPairs?.[0],b=u(),[x,S]=(0,_.useState)(!1),C=async()=>{try{await b.mutateAsync(e),t({to:`/ec2/describe-key-pairs`})}finally{S(!1)}};if(!y?.KeyPairId)return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),(0,v.jsx)(`p`,{className:`text-muted-foreground`,children:`Key pair not found.`})]});let w=a(y.CreateTime);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b.error&&(0,v.jsx)(d,{error:b.error,msg:`Failed to delete key pair`}),(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(f,{actions:(0,v.jsxs)(c,{onClick:()=>S(!0),size:`sm`,variant:`destructive`,children:[(0,v.jsx)(s,{className:`size-4`}),`Delete`]}),subtitle:`Key Pair Details`,title:y.KeyName??``}),(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Key Pair Information`}),(0,v.jsxs)(h.Content,{children:[(0,v.jsx)(g,{label:`Key Pair ID`,value:y.KeyPairId}),(0,v.jsx)(g,{label:`Key Name`,value:y.KeyName}),(0,v.jsx)(g,{label:`Key Type`,value:y.KeyType}),(0,v.jsx)(g,{label:`Key Fingerprint`,value:y.KeyFingerprint}),(0,v.jsx)(g,{label:`Creation Date`,value:w})]})]}),y.Tags&&y.Tags.length>0&&(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Tags`}),(0,v.jsx)(h.Content,{children:y.Tags.map(e=>(0,v.jsx)(g,{label:e.Key??``,value:e.Value},e.Key))})]})]}),(0,v.jsx)(m,{description:`Are you sure you want to delete the key pair "${y.KeyName}"? This action cannot be undone. Any instances using this key pair will no longer be able to be accessed with it.`,isPending:b.isPending,onConfirm:C,onOpenChange:S,open:x,title:`Delete Key Pair`})]})}export{y as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{Qt as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{f as l}from"./ec2.js";import{O as u}from"./ec22.js";import{t as d}from"./_id7.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./delete-confirmation-dialog.js";import{n as h,t as g}from"./detail-row.js";var _=e(n()),v=t();function y(){let{id:e}=d.useParams(),t=i(),{data:n}=r(l(e)),y=n.KeyPairs?.[0],b=u(),[x,S]=(0,_.useState)(!1),C=async()=>{try{await b.mutateAsync(e),t({to:`/ec2/describe-key-pairs`})}finally{S(!1)}};if(!y?.KeyPairId)return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),(0,v.jsx)(`p`,{className:`text-muted-foreground`,children:`Key pair not found.`})]});let w=a(y.CreateTime);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b.error&&(0,v.jsx)(f,{error:b.error,msg:`Failed to delete key pair`}),(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(p,{actions:(0,v.jsxs)(c,{onClick:()=>S(!0),size:`sm`,variant:`destructive`,children:[(0,v.jsx)(s,{className:`size-4`}),`Delete`]}),subtitle:`Key Pair Details`,title:y.KeyName??``}),(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Key Pair Information`}),(0,v.jsxs)(h.Content,{children:[(0,v.jsx)(g,{label:`Key Pair ID`,value:y.KeyPairId}),(0,v.jsx)(g,{label:`Key Name`,value:y.KeyName}),(0,v.jsx)(g,{label:`Key Type`,value:y.KeyType}),(0,v.jsx)(g,{label:`Key Fingerprint`,value:y.KeyFingerprint}),(0,v.jsx)(g,{label:`Creation Date`,value:w})]})]}),y.Tags&&y.Tags.length>0&&(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Tags`}),(0,v.jsx)(h.Content,{children:y.Tags.map(e=>(0,v.jsx)(g,{label:e.Key??``,value:e.Value},e.Key))})]})]}),(0,v.jsx)(m,{description:`Are you sure you want to delete the key pair "${y.KeyName}"? This action cannot be undone. Any instances using this key pair will no longer be able to be accessed with it.`,isPending:b.isPending,onConfirm:C,onOpenChange:S,open:x,title:`Delete Key Pair`})]})}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id27.js b/spinifex/services/spinifexui/frontend/dist/assets/_id27.js index 870dffe72..5e48d7157 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id27.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id27.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./trash-2.js";import{t as h}from"./button.js";import{t as g}from"./input.js";import{a as _,t as v}from"./field.js";import{h as y,m as b}from"./ec2.js";import{A as ee,Y as x,g as te,k as S}from"./ec22.js";import{i as C,t as w}from"./zod.js";import{t as T}from"./error-banner.js";import{t as E}from"./page-heading.js";import{c as D}from"./ec23.js";import{t as ne}from"./_id8.js";import{t as re}from"./delete-confirmation-dialog.js";import{n as O,t as k}from"./detail-row.js";import{t as A}from"./launch-template-data-fields.js";import{t as j}from"./badge.js";var M=s(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),N=s(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),P=e(n()),F=t();function I(e){if(!e)return``;try{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;et.LaunchTemplateId===e),G=(s.LaunchTemplateVersions??[]).toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0)),{control:K,handleSubmit:q,register:J,getValues:Y,reset:X,formState:{errors:ie,isSubmitting:Z}}=C({resolver:w(D),defaultValues:{versionDescription:``,...R}});if(!W?.LaunchTemplateId)return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:`Launch template not found.`})]});let Q=W.DefaultVersionNumber,ae=e=>{if(e===`none`){X({...Y(),sourceVersion:void 0,...R});return}let t=G.find(t=>String(t.VersionNumber)===e);X({...Y(),sourceVersion:e,...L(t?.LaunchTemplateData)})},oe=async t=>{await I.mutateAsync({launchTemplateId:e,defaultVersion:String(t)})},se=async t=>{await z.mutateAsync({launchTemplateId:e,versions:[String(t)]})},ce=async()=>{try{await B.mutateAsync(e),t({to:`/ec2/describe-launch-templates`})}finally{U(!1)}},le=async t=>{await V.mutateAsync({...t,launchTemplateId:e}),X({versionDescription:``,sourceVersion:void 0,...R})},$=I.error??z.error;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),B.error&&(0,F.jsx)(T,{error:B.error,msg:`Failed to delete launch template`}),(0,F.jsxs)(`div`,{className:`space-y-6`,children:[(0,F.jsx)(E,{actions:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsxs)(h,{disabled:B.isPending,onClick:()=>U(!0),size:`sm`,variant:`destructive`,children:[(0,F.jsx)(m,{className:`size-4`}),`Delete`]}),(0,F.jsxs)(j,{variant:`secondary`,children:[`default v`,Q]})]}),subtitle:`Launch Template Details`,title:W.LaunchTemplateName??W.LaunchTemplateId}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Launch Template Information`}),(0,F.jsxs)(O.Content,{children:[(0,F.jsx)(k,{label:`Launch Template ID`,value:W.LaunchTemplateId}),(0,F.jsx)(k,{label:`Name`,value:W.LaunchTemplateName}),(0,F.jsx)(k,{label:`Default Version`,value:String(W.DefaultVersionNumber)}),(0,F.jsx)(k,{label:`Latest Version`,value:String(W.LatestVersionNumber)}),(0,F.jsx)(k,{label:`Created`,value:o(W.CreateTime)})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Versions`}),(0,F.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$&&(0,F.jsx)(T,{error:$,msg:`Failed to update version`}),(0,F.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,F.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,F.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Version`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Description`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Default`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Created`}),(0,F.jsx)(`th`,{className:`p-2`,children:(0,F.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,F.jsx)(`tbody`,{children:G.map(t=>{let n=t.VersionNumber,r=n===Q;return(0,F.jsxs)(`tr`,{className:`border-t`,children:[(0,F.jsx)(`td`,{className:`p-2 font-mono`,children:n}),(0,F.jsx)(`td`,{className:`p-2`,children:t.VersionDescription??`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:r?(0,F.jsx)(j,{variant:`secondary`,children:`Default`}):`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:o(t.CreateTime)}),(0,F.jsx)(`td`,{className:`p-2`,children:(0,F.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,F.jsx)(i,{search:{launchTemplateId:e,launchTemplateVersion:String(n)},to:`/ec2/run-instances`,children:(0,F.jsxs)(h,{size:`sm`,variant:`ghost`,children:[(0,F.jsx)(M,{className:`size-4`}),`Launch`]})}),!r&&n!==void 0&&(0,F.jsxs)(h,{disabled:I.isPending,onClick:async()=>await oe(n),size:`sm`,variant:`ghost`,children:[(0,F.jsx)(N,{className:`size-4`}),`Set default`]}),(0,F.jsx)(h,{disabled:r||z.isPending||n===void 0,onClick:async()=>{n!==void 0&&await se(n)},size:`sm`,variant:`ghost`,children:(0,F.jsx)(m,{className:`size-4`})})]})})]},n)})})]})})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Create Version`}),(0,F.jsxs)(`div`,{className:`p-4`,children:[V.error&&(0,F.jsx)(T,{error:V.error,msg:`Failed to create version`}),(0,F.jsxs)(`form`,{className:`space-y-6`,onSubmit:q(le),children:[(0,F.jsxs)(v,{children:[(0,F.jsx)(_,{children:(0,F.jsx)(`label`,{htmlFor:`sourceVersion`,children:`Clone from version`})}),(0,F.jsxs)(p,{onValueChange:e=>ae(e??`none`),value:Y(`sourceVersion`)??`none`,children:[(0,F.jsx)(f,{className:`w-full`,id:`sourceVersion`,children:(0,F.jsx)(l,{})}),(0,F.jsxs)(d,{children:[(0,F.jsx)(u,{value:`none`,children:`none (start blank)`}),G.map(e=>(0,F.jsxs)(u,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber,e.VersionDescription?` — ${e.VersionDescription}`:``]},e.VersionNumber))]})]})]}),(0,F.jsxs)(v,{children:[(0,F.jsx)(_,{children:(0,F.jsx)(`label`,{htmlFor:`versionDescription`,children:`Version Description`})}),(0,F.jsx)(g,{id:`versionDescription`,placeholder:`What changed in this version`,...J(`versionDescription`)})]}),(0,F.jsx)(A,{control:K,errors:ie,register:J}),(0,F.jsx)(h,{disabled:Z||V.isPending,type:`submit`,children:Z||V.isPending?`Creating…`:`Create Version`})]})]})]})]}),(0,F.jsx)(re,{description:`Are you sure you want to delete the launch template "${W.LaunchTemplateName??W.LaunchTemplateId}"? All versions will be deleted. This action cannot be undone.`,isPending:B.isPending,onConfirm:ce,onOpenChange:U,open:H,title:`Delete Launch Template`})]})}export{z as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./trash-2.js";import{t as h}from"./button.js";import{t as g}from"./input.js";import{h as _,m as v}from"./ec2.js";import{A as y,Y as b,g as ee,k as x}from"./ec22.js";import{t as S}from"./_id8.js";import{i as C,t as te}from"./zod.js";import{t as w}from"./error-banner.js";import{t as T}from"./page-heading.js";import{a as E,t as D}from"./field.js";import{c as ne}from"./ec23.js";import{t as re}from"./delete-confirmation-dialog.js";import{n as O,t as k}from"./detail-row.js";import{t as A}from"./launch-template-data-fields.js";import{t as j}from"./badge.js";var M=s(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),N=s(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),P=e(n()),F=t();function I(e){if(!e)return``;try{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;et.LaunchTemplateId===e),G=(s.LaunchTemplateVersions??[]).toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0)),{control:K,handleSubmit:q,register:J,getValues:Y,reset:X,formState:{errors:ie,isSubmitting:Z}}=C({resolver:te(ne),defaultValues:{versionDescription:``,...R}});if(!W?.LaunchTemplateId)return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:`Launch template not found.`})]});let Q=W.DefaultVersionNumber,ae=e=>{if(e===`none`){X({...Y(),sourceVersion:void 0,...R});return}let t=G.find(t=>String(t.VersionNumber)===e);X({...Y(),sourceVersion:e,...L(t?.LaunchTemplateData)})},oe=async t=>{await I.mutateAsync({launchTemplateId:e,defaultVersion:String(t)})},se=async t=>{await z.mutateAsync({launchTemplateId:e,versions:[String(t)]})},ce=async()=>{try{await B.mutateAsync(e),t({to:`/ec2/describe-launch-templates`})}finally{U(!1)}},le=async t=>{await V.mutateAsync({...t,launchTemplateId:e}),X({versionDescription:``,sourceVersion:void 0,...R})},$=I.error??z.error;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),B.error&&(0,F.jsx)(w,{error:B.error,msg:`Failed to delete launch template`}),(0,F.jsxs)(`div`,{className:`space-y-6`,children:[(0,F.jsx)(T,{actions:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsxs)(h,{disabled:B.isPending,onClick:()=>U(!0),size:`sm`,variant:`destructive`,children:[(0,F.jsx)(m,{className:`size-4`}),`Delete`]}),(0,F.jsxs)(j,{variant:`secondary`,children:[`default v`,Q]})]}),subtitle:`Launch Template Details`,title:W.LaunchTemplateName??W.LaunchTemplateId}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Launch Template Information`}),(0,F.jsxs)(O.Content,{children:[(0,F.jsx)(k,{label:`Launch Template ID`,value:W.LaunchTemplateId}),(0,F.jsx)(k,{label:`Name`,value:W.LaunchTemplateName}),(0,F.jsx)(k,{label:`Default Version`,value:String(W.DefaultVersionNumber)}),(0,F.jsx)(k,{label:`Latest Version`,value:String(W.LatestVersionNumber)}),(0,F.jsx)(k,{label:`Created`,value:o(W.CreateTime)})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Versions`}),(0,F.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$&&(0,F.jsx)(w,{error:$,msg:`Failed to update version`}),(0,F.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,F.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,F.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Version`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Description`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Default`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Created`}),(0,F.jsx)(`th`,{className:`p-2`,children:(0,F.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,F.jsx)(`tbody`,{children:G.map(t=>{let n=t.VersionNumber,r=n===Q;return(0,F.jsxs)(`tr`,{className:`border-t`,children:[(0,F.jsx)(`td`,{className:`p-2 font-mono`,children:n}),(0,F.jsx)(`td`,{className:`p-2`,children:t.VersionDescription??`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:r?(0,F.jsx)(j,{variant:`secondary`,children:`Default`}):`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:o(t.CreateTime)}),(0,F.jsx)(`td`,{className:`p-2`,children:(0,F.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,F.jsx)(i,{search:{launchTemplateId:e,launchTemplateVersion:String(n)},to:`/ec2/run-instances`,children:(0,F.jsxs)(h,{size:`sm`,variant:`ghost`,children:[(0,F.jsx)(M,{className:`size-4`}),`Launch`]})}),!r&&n!==void 0&&(0,F.jsxs)(h,{disabled:I.isPending,onClick:async()=>await oe(n),size:`sm`,variant:`ghost`,children:[(0,F.jsx)(N,{className:`size-4`}),`Set default`]}),(0,F.jsx)(h,{disabled:r||z.isPending||n===void 0,onClick:async()=>{n!==void 0&&await se(n)},size:`sm`,variant:`ghost`,children:(0,F.jsx)(m,{className:`size-4`})})]})})]},n)})})]})})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Create Version`}),(0,F.jsxs)(`div`,{className:`p-4`,children:[V.error&&(0,F.jsx)(w,{error:V.error,msg:`Failed to create version`}),(0,F.jsxs)(`form`,{className:`space-y-6`,onSubmit:q(le),children:[(0,F.jsxs)(D,{children:[(0,F.jsx)(E,{children:(0,F.jsx)(`label`,{htmlFor:`sourceVersion`,children:`Clone from version`})}),(0,F.jsxs)(p,{onValueChange:e=>ae(e??`none`),value:Y(`sourceVersion`)??`none`,children:[(0,F.jsx)(f,{className:`w-full`,id:`sourceVersion`,children:(0,F.jsx)(l,{})}),(0,F.jsxs)(d,{children:[(0,F.jsx)(u,{value:`none`,children:`none (start blank)`}),G.map(e=>(0,F.jsxs)(u,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber,e.VersionDescription?` — ${e.VersionDescription}`:``]},e.VersionNumber))]})]})]}),(0,F.jsxs)(D,{children:[(0,F.jsx)(E,{children:(0,F.jsx)(`label`,{htmlFor:`versionDescription`,children:`Version Description`})}),(0,F.jsx)(g,{id:`versionDescription`,placeholder:`What changed in this version`,...J(`versionDescription`)})]}),(0,F.jsx)(A,{control:K,errors:ie,register:J}),(0,F.jsx)(h,{disabled:Z||V.isPending,type:`submit`,children:Z||V.isPending?`Creating…`:`Create Version`})]})]})]})]}),(0,F.jsx)(re,{description:`Are you sure you want to delete the launch template "${W.LaunchTemplateName??W.LaunchTemplateId}"? All versions will be deleted. This action cannot be undone.`,isPending:B.isPending,onConfirm:ce,onOpenChange:U,open:H,title:`Delete Launch Template`})]})}export{z as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id28.js b/spinifex/services/spinifexui/frontend/dist/assets/_id28.js index c879201c8..7ff0362ad 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id28.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id28.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./pencil.js";import{t as h}from"./trash-2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,r as y,t as b}from"./field.js";import{a as x,i as S,l as C,n as w,o as T,r as E,s as D,t as O}from"./alert-dialog.js";import{t as k}from"./acm.js";import{t as A}from"./certificate-import-dialog.js";import{O as j,w as M}from"./ec2.js";import{_ as N,a as P,d as F,f as I,g as L,h as R,o as ee,r as z,s as B,t as V,u as H}from"./elbv2.js";import{i as U,n as W,o as G,r as K,s as q,t as J,u as te}from"./elbv22.js";import{a as ne,i as re,n as ie,r as ae,t as oe}from"./zod.js";import{t as Y}from"./error-banner.js";import{t as se}from"./page-heading.js";import{t as ce}from"./_id9.js";import{t as le}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as ue}from"./state-badge.js";import{c as de,i as fe,n as pe,o as me,s as he,t as ge}from"./elbv23.js";import{n as _e,t as ve}from"./attributes-editor.js";import{t as ye}from"./tags-editor.js";import{i as be,n as xe,r as Se,t as Ce}from"./tabs.js";var we=r(),Q=e(n(),1),$=t(),Te=80,Ee=443,De=[],Oe=[];function ke(e){let t=e.CertificateArn?.split(`/`).pop()??e.CertificateArn??``;return e.DomainName?`${e.DomainName} · ${t}`:t}function Ae(e){let t=(0,we.c)(55),{form:n,protocols:r,targetGroups:i,certificates:a,sslPolicies:o}=e,s=a===void 0?De:a,c=o===void 0?Oe:o,{control:u,register:m,getValues:h,setValue:x,formState:S}=n,{errors:C}=S,[w,T]=(0,Q.useState)(!1),E;t[0]===u?E=t[1]:(E={control:u,name:`protocol`},t[0]=u,t[1]=E);let D=ne(E),O=D===`HTTPS`,k;t[2]===D?k=t[3]:(k=he(D),t[2]=D,t[3]=k);let j=k,M;t[4]!==h||t[5]!==x?(M=e=>{if(!e)return;let t=h(`port`);he(e)?(t===Te&&x(`port`,Ee),e===`HTTPS`?h(`sslPolicy`)||x(`sslPolicy`,ge):x(`sslPolicy`,void 0)):(t===Ee&&x(`port`,Te),x(`certificateArn`,void 0),x(`sslPolicy`,void 0))},t[4]=h,t[5]=x,t[6]=M):M=t[6];let N=M,P;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),t[7]=P):P=t[7];let F;t[8]!==N||t[9]!==r?(F=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:e=>{t.onChange(e),N(e)},value:t.value,children:[(0,$.jsx)(f,{className:`w-full`,id:`listener-protocol`,children:(0,$.jsx)(l,{})}),(0,$.jsx)(d,{children:r.map(Pe)})]})},t[8]=N,t[9]=r,t[10]=F):F=t[10];let I;t[11]!==u||t[12]!==F?(I=(0,$.jsxs)(b,{children:[P,(0,$.jsx)(ie,{control:u,name:`protocol`,render:F})]}),t[11]=u,t[12]=F,t[13]=I):I=t[13];let L;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),t[14]=L):L=t[14];let R=!!C.port,ee=j?`443`:`80`,z;t[15]===m?z=t[16]:(z=m(`port`,{valueAsNumber:!0}),t[15]=m,t[16]=z);let B;t[17]!==R||t[18]!==ee||t[19]!==z?(B=(0,$.jsx)(_,{"aria-invalid":R,id:`listener-port`,inputMode:`numeric`,placeholder:ee,type:`number`,...z}),t[17]=R,t[18]=ee,t[19]=z,t[20]=B):B=t[20];let V;t[21]===C.port?V=t[22]:(V=(0,$.jsx)(y,{errors:[C.port]}),t[21]=C.port,t[22]=V);let H;t[23]!==B||t[24]!==V?(H=(0,$.jsxs)(b,{children:[L,B,V]}),t[23]=B,t[24]=V,t[25]=H):H=t[25];let U;t[26]!==s||t[27]!==u||t[28]!==C.certificateArn||t[29]!==w||t[30]!==O||t[31]!==j||t[32]!==x||t[33]!==c?(U=j&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-certificate`,children:`Certificate`})}),(0,$.jsx)(ie,{control:u,name:`certificateArn`,render:e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!C.certificateArn,className:`w-full`,id:`listener-certificate`,children:(0,$.jsx)(l,{placeholder:`Select certificate`})}),(0,$.jsx)(d,{children:s.map(Ne)})]})}}),(0,$.jsx)(y,{errors:[C.certificateArn]}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[s.length===0&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No certificates imported yet.`}),(0,$.jsx)(g,{className:`ml-auto`,onClick:()=>T(!0),size:`sm`,type:`button`,variant:`ghost`,children:`Import certificate…`})]})]}),O&&(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-ssl-policy`,children:`Security policy`})}),(0,$.jsx)(ie,{control:u,name:`sslPolicy`,render:e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??`ELBSecurityPolicy-2016-08`,children:[(0,$.jsx)(f,{className:`w-full`,id:`listener-ssl-policy`,children:(0,$.jsx)(l,{})}),(0,$.jsx)(d,{children:c.map(Me)})]})}})]}),(0,$.jsx)(A,{onImported:e=>x(`certificateArn`,e,{shouldValidate:!0}),onOpenChange:T,open:w})]}),t[26]=s,t[27]=u,t[28]=C.certificateArn,t[29]=w,t[30]=O,t[31]=j,t[32]=x,t[33]=c,t[34]=U):U=t[34];let W;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-default-tg`,children:`Default target group`})}),t[35]=W):W=t[35];let G;t[36]!==C.defaultTargetGroupArn||t[37]!==i?(G=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!C.defaultTargetGroupArn,className:`w-full`,id:`listener-default-tg`,children:(0,$.jsx)(l,{placeholder:`Select target group`})}),(0,$.jsx)(d,{children:i.map(je)})]})},t[36]=C.defaultTargetGroupArn,t[37]=i,t[38]=G):G=t[38];let K;t[39]!==u||t[40]!==G?(K=(0,$.jsx)(ie,{control:u,name:`defaultTargetGroupArn`,render:G}),t[39]=u,t[40]=G,t[41]=K):K=t[41];let q;t[42]===C.defaultTargetGroupArn?q=t[43]:(q=(0,$.jsx)(y,{errors:[C.defaultTargetGroupArn]}),t[42]=C.defaultTargetGroupArn,t[43]=q);let J;t[44]===i.length?J=t[45]:(J=i.length===0&&(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups available in this VPC. Create one first.`}),t[44]=i.length,t[45]=J);let te;t[46]!==K||t[47]!==q||t[48]!==J?(te=(0,$.jsxs)(b,{children:[W,K,q,J]}),t[46]=K,t[47]=q,t[48]=J,t[49]=te):te=t[49];let re;return t[50]!==H||t[51]!==U||t[52]!==te||t[53]!==I?(re=(0,$.jsxs)($.Fragment,{children:[I,H,U,te]}),t[50]=H,t[51]=U,t[52]=te,t[53]=I,t[54]=re):re=t[54],re}function je(e){return(0,$.jsxs)(u,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Me(e){return(0,$.jsx)(u,{value:e.Name??``,children:e.Name},e.Name)}function Ne(e){return(0,$.jsx)(u,{value:e.CertificateArn??``,children:ke(e)},e.CertificateArn)}function Pe(e){return(0,$.jsx)(u,{value:e,children:e},e)}function Fe({listenerArn:e,targetGroups:t}){let{data:n}=i(J(e)),r=z(),a=I(),o=B(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),[d,f]=(0,Q.useState)(),p=n.Rules??[],_=new Map;for(let e of t)e.TargetGroupArn&&e.TargetGroupName&&_.set(e.TargetGroupArn,e.TargetGroupName);return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[r.error&&(0,$.jsx)(Y,{error:r.error,msg:`Failed to create rule`}),a.error&&(0,$.jsx)(Y,{error:a.error,msg:`Failed to modify rule`}),o.error&&(0,$.jsx)(Y,{error:o.error,msg:`Failed to delete rule`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[p.length,` rule`,p.length===1?``:`s`,` (including default)`]}),(0,$.jsx)(g,{onClick:()=>c(!0),size:`sm`,children:`Add rule`})]}),(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Priority`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Conditions`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Forward to`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:p.map(e=>(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Priority}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Ie(e.Conditions,e.IsDefault===!0)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Re(e,_)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:e.IsDefault===!0?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Edit via listener`}):(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`Edit rule ${e.Priority}`,onClick:()=>u(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(m,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete rule ${e.Priority}`,onClick:()=>f(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]},e.RuleArn??e.Priority??`default`))})]})}),s&&(0,$.jsx)(Ue,{isPending:r.isPending,mode:`add`,onOpenChange:c,onSubmit:async t=>{try{await r.mutateAsync({listenerArn:e,priority:t.priority,conditions:t.conditions.map(ze),forwardTargetGroupArn:t.forwardTargetGroupArn}),c(!1)}catch{}},open:s,targetGroups:t}),(0,$.jsx)(Ue,{initialRule:l,isPending:a.isPending,mode:`edit`,onOpenChange:e=>!e&&u(void 0),onSubmit:async t=>{if(l?.RuleArn)try{await a.mutateAsync({ruleArn:l.RuleArn,listenerArn:e,conditions:t.conditions.map(ze),forwardTargetGroupArn:t.forwardTargetGroupArn}),u(void 0)}catch{}},open:l!==void 0,targetGroups:t}),(0,$.jsx)(le,{description:d?`Delete rule with priority ${d.Priority}? This cannot be undone.`:``,isPending:o.isPending,onConfirm:async()=>{if(d?.RuleArn)try{await o.mutateAsync({ruleArn:d.RuleArn,listenerArn:e})}finally{f(void 0)}},onOpenChange:e=>!e&&f(void 0),open:d!==void 0,title:`Delete rule`})]})}function Ie(e,t){return t?`default`:!e||e.length===0?`—`:e.map(e=>{let t=Le(e);return`${e.Field}: ${t.join(`, `)}`}).join(` AND `)}function Le(e){if(e.Field===void 0)return e.Values??[];switch(e.Field){case`host-header`:return e.HostHeaderConfig?.Values??e.Values??[];case`path-pattern`:return e.PathPatternConfig?.Values??e.Values??[];case`http-header`:{let t=e.HttpHeaderConfig?.HttpHeaderName??`?`;return(e.HttpHeaderConfig?.Values??[]).map(e=>`${t}=${e}`)}case`http-request-method`:return e.HttpRequestMethodConfig?.Values??[];case`source-ip`:return e.SourceIpConfig?.Values??[];case`query-string`:return(e.QueryStringConfig?.Values??[]).map(e=>e.Key?`${e.Key}=${e.Value??``}`:e.Value??``);default:return e.Values??[]}}function Re(e,t){let n=e.Actions?.[0];return n?n.Type===`forward`&&n.TargetGroupArn?t.get(n.TargetGroupArn)??n.TargetGroupArn:n.Type??`—`:`—`}function ze(e){let t=e.rawValues.split(/[\n,]/).map(e=>e.trim()).filter(e=>e.length>0);return e.field===`query-string`?{field:e.field,values:[],queryStringPairs:t.map(e=>{let t=e.indexOf(`=`);return t===-1?{value:e}:{key:e.slice(0,t),value:e.slice(t+1)}})}:{field:e.field,values:t,httpHeaderName:e.httpHeaderName}}var Be=1,Ve=[{field:`path-pattern`,rawValues:``}];function He(e){let t=Number(e.Priority??Be),n=e.Conditions?.map(e=>Ye(e))??[];return{priority:Number.isFinite(t)?t:Be,conditions:n.length>0?n:Ve,forwardTargetGroupArn:e.Actions?.[0]?.TargetGroupArn??``}}function Ue(e){let t=(0,we.c)(84),{open:n,onOpenChange:r,onSubmit:i,isPending:a,targetGroups:o,mode:s,initialRule:c}=e,u,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=oe(fe),m={priority:Be,conditions:Ve,forwardTargetGroupArn:``},t[0]=u,t[1]=m):(u=t[0],m=t[1]);let h;t[2]===c?h=t[3]:(h=c?He(c):void 0,t[2]=c,t[3]=h);let k;t[4]===h?k=t[5]:(k={resolver:u,defaultValues:m,values:h},t[4]=h,t[5]=k);let A=re(k),j;t[6]===A.control?j=t[7]:(j={control:A.control,name:`conditions`},t[6]=A.control,t[7]=j);let{fields:M,append:N,remove:P}=ae(j),F;t[8]!==A||t[9]!==i?(F=A.handleSubmit(i),t[8]=A,t[9]=i,t[10]=F):F=t[10];let I=F,L;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(L={maxWidth:`40rem`,width:`calc(100vw - 2rem)`},t[11]=L):L=t[11];let R=s===`add`?`Add rule`:`Edit rule`,ee;t[12]===R?ee=t[13]:(ee=(0,$.jsx)(C,{children:R}),t[12]=R,t[13]=ee);let z;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(x,{children:`Routing rules match incoming requests and forward them to a target group. Rules evaluate in priority order; the listener default applies when no rule matches.`}),t[14]=z):z=t[14];let B;t[15]===ee?B=t[16]:(B=(0,$.jsxs)(D,{children:[ee,z]}),t[15]=ee,t[16]=B);let V;t[17]===I?V=t[18]:(V=e=>{e.preventDefault(),I()},t[17]=I,t[18]=V);let H;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-priority`,children:`Priority`})}),t[19]=H):H=t[19];let U=!!A.formState.errors.priority,W;t[20]===A?W=t[21]:(W=A.register(`priority`,{valueAsNumber:!0}),t[20]=A,t[21]=W);let G;t[22]!==U||t[23]!==W?(G=(0,$.jsx)(_,{"aria-invalid":U,id:`rule-priority`,inputMode:`numeric`,type:`number`,...W}),t[22]=U,t[23]=W,t[24]=G):G=t[24];let K;t[25]===A.formState.errors.priority?K=t[26]:(K=(0,$.jsx)(y,{errors:[A.formState.errors.priority]}),t[25]=A.formState.errors.priority,t[26]=K);let q;t[27]!==G||t[28]!==K?(q=(0,$.jsxs)(b,{children:[H,G,K]}),t[27]=G,t[28]=K,t[29]=q):q=t[29];let J;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(v,{children:`Conditions`}),t[30]=J):J=t[30];let te=M.length>=5,ne;t[31]===N?ne=t[32]:(ne=()=>N({field:`path-pattern`,rawValues:``}),t[31]=N,t[32]=ne);let Y;t[33]!==te||t[34]!==ne?(Y=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[J,(0,$.jsx)(g,{disabled:te,onClick:ne,size:`sm`,type:`button`,variant:`outline`,children:`Add condition`})]}),t[33]=te,t[34]=ne,t[35]=Y):Y=t[35];let se;if(t[36]!==M||t[37]!==A||t[38]!==P){let e;t[40]!==M.length||t[41]!==A||t[42]!==P?(e=(e,t)=>(0,$.jsx)(Ge,{form:A,index:t,onRemove:M.length>1?()=>P(t):void 0},e.id),t[40]=M.length,t[41]=A,t[42]=P,t[43]=e):e=t[43],se=M.map(e),t[36]=M,t[37]=A,t[38]=P,t[39]=se}else se=t[39];let ce;t[44]!==Y||t[45]!==se?(ce=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[Y,se]}),t[44]=Y,t[45]=se,t[46]=ce):ce=t[46];let le;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-forward-tg`,children:`Forward to target group`})}),t[47]=le):le=t[47];let X;t[48]!==A.formState.errors.forwardTargetGroupArn||t[49]!==o?(X=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!A.formState.errors.forwardTargetGroupArn,className:`w-full`,id:`rule-forward-tg`,children:(0,$.jsx)(l,{placeholder:`Select target group`})}),(0,$.jsx)(d,{children:o.map(We)})]})},t[48]=A.formState.errors.forwardTargetGroupArn,t[49]=o,t[50]=X):X=t[50];let Z;t[51]!==A.control||t[52]!==X?(Z=(0,$.jsx)(ie,{control:A.control,name:`forwardTargetGroupArn`,render:X}),t[51]=A.control,t[52]=X,t[53]=Z):Z=t[53];let ue;t[54]===A.formState.errors.forwardTargetGroupArn?ue=t[55]:(ue=(0,$.jsx)(y,{errors:[A.formState.errors.forwardTargetGroupArn]}),t[54]=A.formState.errors.forwardTargetGroupArn,t[55]=ue);let de;t[56]!==Z||t[57]!==ue?(de=(0,$.jsxs)(b,{children:[le,Z,ue]}),t[56]=Z,t[57]=ue,t[58]=de):de=t[58];let pe;t[59]!==V||t[60]!==q||t[61]!==ce||t[62]!==de?(pe=(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4`,onSubmit:V,children:[q,ce,de]}),t[59]=V,t[60]=q,t[61]=ce,t[62]=de,t[63]=pe):pe=t[63];let me;t[64]===a?me=t[65]:(me=(0,$.jsx)(E,{disabled:a,children:`Cancel`}),t[64]=a,t[65]=me);let he;t[66]!==a||t[67]!==s?(he=Xe(s,a),t[66]=a,t[67]=s,t[68]=he):he=t[68];let ge;t[69]!==I||t[70]!==a||t[71]!==he?(ge=(0,$.jsx)(w,{disabled:a,onClick:I,children:he}),t[69]=I,t[70]=a,t[71]=he,t[72]=ge):ge=t[72];let _e;t[73]!==me||t[74]!==ge?(_e=(0,$.jsxs)(T,{children:[me,ge]}),t[73]=me,t[74]=ge,t[75]=_e):_e=t[75];let ve;t[76]!==B||t[77]!==pe||t[78]!==_e?(ve=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:L,children:[B,pe,_e]}),t[76]=B,t[77]=pe,t[78]=_e,t[79]=ve):ve=t[79];let ye;return t[80]!==r||t[81]!==n||t[82]!==ve?(ye=(0,$.jsx)(O,{onOpenChange:r,open:n,children:ve}),t[80]=r,t[81]=n,t[82]=ve,t[83]=ye):ye=t[83],ye}function We(e){return(0,$.jsxs)(u,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Ge(e){let t=(0,we.c)(54),{form:n,index:r,onRemove:i}=e,a,o,s,c,m,x,S,C,w,T;if(t[0]!==n||t[1]!==r||t[2]!==i){let e=n.watch(`conditions.${r}.field`);s=n.formState.errors.conditions?.[r],C=`space-y-2 rounded-md border p-3`;let E=`rule-cond-${r}-field`,D;t[13]===E?D=t[14]:(D=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:E,children:`Type`})}),t[13]=E,t[14]=D);let O=`conditions.${r}.field`,k;t[15]===r?k=t[16]:(k=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value,children:[(0,$.jsx)(f,{className:`w-full`,id:`rule-cond-${r}-field`,children:(0,$.jsx)(l,{})}),(0,$.jsxs)(d,{children:[(0,$.jsx)(u,{value:`path-pattern`,children:`Path pattern`}),(0,$.jsx)(u,{value:`host-header`,children:`Host header`}),(0,$.jsx)(u,{value:`http-header`,children:`HTTP header`}),(0,$.jsx)(u,{value:`http-request-method`,children:`HTTP method`}),(0,$.jsx)(u,{value:`source-ip`,children:`Source IP CIDR`}),(0,$.jsx)(u,{value:`query-string`,children:`Query string`})]})]})},t[15]=r,t[16]=k);let A;t[17]!==n.control||t[18]!==O||t[19]!==k?(A=(0,$.jsx)(ie,{control:n.control,name:O,render:k}),t[17]=n.control,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==D?(j=(0,$.jsxs)(`div`,{className:`flex-1`,children:[D,A]}),t[21]=A,t[22]=D,t[23]=j):j=t[23];let M;t[24]!==r||t[25]!==i?(M=i&&(0,$.jsx)(g,{"aria-label":`Remove condition ${r+1}`,className:`self-end`,onClick:i,size:`sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})}),t[24]=r,t[25]=i,t[26]=M):M=t[26],t[27]!==j||t[28]!==M?(w=(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[j,M]}),t[27]=j,t[28]=M,t[29]=w):w=t[29],T=e===`http-header`&&(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-cond-${r}-hdr-name`,children:`Header name`})}),(0,$.jsx)(_,{"aria-invalid":!!s?.httpHeaderName,id:`rule-cond-${r}-hdr-name`,placeholder:`X-Tenant`,...n.register(`conditions.${r}.httpHeaderName`)}),(0,$.jsx)(y,{errors:[s?.httpHeaderName]})]}),o=b;let N=`rule-cond-${r}-values`,P;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma or newline separated, max 5)`}),t[30]=P):P=t[30],t[31]===N?S=t[32]:(S=(0,$.jsx)(v,{children:(0,$.jsxs)(`label`,{htmlFor:N,children:[`Values`,` `,P]})}),t[31]=N,t[32]=S),a=_,c=!!s?.rawValues,m=`rule-cond-${r}-values`,x=Ke(e),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=m,t[8]=x,t[9]=S,t[10]=C,t[11]=w,t[12]=T}else a=t[3],o=t[4],s=t[5],c=t[6],m=t[7],x=t[8],S=t[9],C=t[10],w=t[11],T=t[12];let E;t[33]!==n||t[34]!==r?(E=n.register(`conditions.${r}.rawValues`),t[33]=n,t[34]=r,t[35]=E):E=t[35];let D;t[36]!==a||t[37]!==c||t[38]!==m||t[39]!==x||t[40]!==E?(D=(0,$.jsx)(a,{"aria-invalid":c,id:m,placeholder:x,...E}),t[36]=a,t[37]=c,t[38]=m,t[39]=x,t[40]=E,t[41]=D):D=t[41];let O=s?.rawValues,k;t[42]===O?k=t[43]:(k=(0,$.jsx)(y,{errors:[O]}),t[42]=O,t[43]=k);let A;t[44]!==o||t[45]!==k||t[46]!==S||t[47]!==D?(A=(0,$.jsxs)(o,{children:[S,D,k]}),t[44]=o,t[45]=k,t[46]=S,t[47]=D,t[48]=A):A=t[48];let j;return t[49]!==A||t[50]!==C||t[51]!==w||t[52]!==T?(j=(0,$.jsxs)(`div`,{className:C,children:[w,T,A]}),t[49]=A,t[50]=C,t[51]=w,t[52]=T,t[53]=j):j=t[53],j}function Ke(e){switch(e){case`path-pattern`:return`/api/*`;case`host-header`:return`*.example.com`;case`http-header`:return`acme`;case`http-request-method`:return`GET, POST`;case`source-ip`:return`10.0.0.0/8`;case`query-string`:return`key=value`;default:return``}}var qe=new Set([`host-header`,`path-pattern`,`http-header`,`http-request-method`,`source-ip`,`query-string`]);function Je(e){return e!==void 0&&qe.has(e)}function Ye(e){let t=Le(e);return{field:Je(e.Field)?e.Field:`path-pattern`,httpHeaderName:e.HttpHeaderConfig?.HttpHeaderName,rawValues:t.join(`, `)}}function Xe(e,t){return t?e===`add`?`Adding…`:`Saving…`:e===`add`?`Add rule`:`Save changes`}function Ze(e){return{protocol:me(e),port:80,defaultTargetGroupArn:``}}function Qe(e,t){let n=t.find(t=>t===e.Protocol)??t[0]??`HTTP`,r=he(n);return{protocol:n,port:e.Port??80,defaultTargetGroupArn:e.DefaultActions?.[0]?.TargetGroupArn??``,certificateArn:r?e.Certificates?.[0]?.CertificateArn:void 0,sslPolicy:n===`HTTPS`?e.SslPolicy:void 0}}function $e(e){if(e.Protocol!==`HTTPS`)return`—`;let t=e.Certificates?.[0]?.CertificateArn?.split(`/`).pop(),n=e.SslPolicy;return t&&n?`${n} · ${t}`:n??t??`—`}function et({loadBalancerArn:e,vpcId:t,lbType:n}){let r=de(n),{data:a}=i(W(e)),{data:o}=i(te),{data:s}=i(k),{data:c}=i(G),l=V(),u=P(),d=H(),[f,p]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)(),[y,b]=(0,Q.useState)(),[x,S]=(0,Q.useState)(),C=a.Listeners??[],w=o.TargetGroups??[],T=w.filter(e=>e.VpcId===t),E=s.CertificateSummaryList??[],D=c.SslPolicies??[],O=new Map;for(let e of w)e.TargetGroupArn&&e.TargetGroupName&&O.set(e.TargetGroupArn,e.TargetGroupName);let A=e=>{let t=e.DefaultActions?.[0];if(!t)return`—`;if(t.Type===`forward`&&t.TargetGroupArn){let e=O.get(t.TargetGroupArn);return e?`forward → ${e}`:`forward → ${t.TargetGroupArn}`}return t.Type??`—`};return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[l.error&&(0,$.jsx)(Y,{error:l.error,msg:`Failed to create listener`}),d.error&&(0,$.jsx)(Y,{error:d.error,msg:`Failed to modify listener`}),u.error&&(0,$.jsx)(Y,{error:u.error,msg:`Failed to delete listener`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[C.length,` listener`,C.length===1?``:`s`]}),(0,$.jsx)(g,{onClick:()=>p(!0),size:`sm`,children:`Add listener`})]}),C.length===0?(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No listeners configured.`}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Protocol`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`TLS`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Default action`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Listener ARN`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:C.map(e=>{let t=e.ListenerArn??``,n=x===t;return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Protocol}),(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Port}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:$e(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:A(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`${n?`Hide`:`Show`} rules for listener ${e.Protocol}:${e.Port}`,onClick:()=>S(n?void 0:t),size:`sm`,variant:`ghost`,children:n?`Hide rules`:`Rules`}),(0,$.jsx)(g,{"aria-label":`Edit listener ${e.Protocol}:${e.Port}`,onClick:()=>v(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(m,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete listener ${e.Protocol}:${e.Port}`,onClick:()=>b(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]}),n&&t&&(0,$.jsx)(`tr`,{className:`border-b bg-muted/30 last:border-0`,children:(0,$.jsx)(`td`,{className:`px-4 py-3`,colSpan:6,children:(0,$.jsx)(Fe,{listenerArn:t,targetGroups:T})})})]},t)})})]})}),f&&(0,$.jsx)(tt,{certificates:E,isPending:l.isPending,lbType:n,onOpenChange:p,onSubmit:async t=>{try{await l.mutateAsync({loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),p(!1)}catch{}},open:f,protocols:r,sslPolicies:D,targetGroups:T}),(0,$.jsx)(nt,{certificates:E,isPending:d.isPending,listener:_,onOpenChange:e=>!e&&v(void 0),onSubmit:async t=>{if(_?.ListenerArn)try{await d.mutateAsync({listenerArn:_.ListenerArn,loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),v(void 0)}catch{}},protocols:r,sslPolicies:D,targetGroups:T}),(0,$.jsx)(le,{description:y?`Delete listener ${y.Protocol}:${y.Port}? This cannot be undone.`:``,isPending:u.isPending,onConfirm:async()=>{if(y?.ListenerArn)try{await u.mutateAsync(y.ListenerArn)}finally{b(void 0)}},onOpenChange:e=>!e&&b(void 0),open:y!==void 0,title:`Delete listener`})]})}function tt(e){let t=(0,we.c)(37),{open:n,onOpenChange:r,lbType:i,protocols:a,targetGroups:o,certificates:s,sslPolicies:c,isPending:l,onSubmit:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=oe(pe),t[0]=d):d=t[0];let f;t[1]===i?f=t[2]:(f=Ze(i),t[1]=i,t[2]=f);let p;t[3]===f?p=t[4]:(p={resolver:d,defaultValues:f},t[3]=f,t[4]=p);let m=re(p),h;t[5]!==m||t[6]!==u?(h=m.handleSubmit(u),t[5]=m,t[6]=u,t[7]=h):h=t[7];let g=h,_;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[8]=_):_=t[8];let v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsxs)(D,{children:[(0,$.jsx)(C,{children:`Add listener`}),(0,$.jsx)(x,{children:`Listeners forward incoming traffic to a default target group.`})]}),t[9]=v):v=t[9];let y;t[10]===g?y=t[11]:(y=e=>{e.preventDefault(),g()},t[10]=g,t[11]=y);let b;t[12]!==s||t[13]!==m||t[14]!==a||t[15]!==c||t[16]!==o?(b=(0,$.jsx)(Ae,{certificates:s,form:m,protocols:a,sslPolicies:c,targetGroups:o}),t[12]=s,t[13]=m,t[14]=a,t[15]=c,t[16]=o,t[17]=b):b=t[17];let k;t[18]!==y||t[19]!==b?(k=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:y,children:b}),t[18]=y,t[19]=b,t[20]=k):k=t[20];let A;t[21]===l?A=t[22]:(A=(0,$.jsx)(E,{disabled:l,children:`Cancel`}),t[21]=l,t[22]=A);let j=l?`Adding…`:`Add listener`,M;t[23]!==g||t[24]!==l||t[25]!==j?(M=(0,$.jsx)(w,{disabled:l,onClick:g,children:j}),t[23]=g,t[24]=l,t[25]=j,t[26]=M):M=t[26];let N;t[27]!==A||t[28]!==M?(N=(0,$.jsxs)(T,{children:[A,M]}),t[27]=A,t[28]=M,t[29]=N):N=t[29];let P;t[30]!==N||t[31]!==k?(P=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:_,children:[v,k,N]}),t[30]=N,t[31]=k,t[32]=P):P=t[32];let F;return t[33]!==r||t[34]!==n||t[35]!==P?(F=(0,$.jsx)(O,{onOpenChange:r,open:n,children:P}),t[33]=r,t[34]=n,t[35]=P,t[36]=F):F=t[36],F}function nt(e){let t=(0,we.c)(39),{listener:n,onOpenChange:r,protocols:i,targetGroups:a,certificates:o,sslPolicies:s,isPending:c,onSubmit:l}=e,u=n!==void 0,d,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=oe(pe),f={protocol:`HTTP`,port:80,defaultTargetGroupArn:``},t[0]=d,t[1]=f):(d=t[0],f=t[1]);let p;t[2]!==n||t[3]!==i?(p=n?Qe(n,i):void 0,t[2]=n,t[3]=i,t[4]=p):p=t[4];let m;t[5]===p?m=t[6]:(m={resolver:d,defaultValues:f,values:p},t[5]=p,t[6]=m);let h=re(m),g;t[7]!==h||t[8]!==l?(g=h.handleSubmit(l),t[7]=h,t[8]=l,t[9]=g):g=t[9];let _=g,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[10]=v):v=t[10];let y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(D,{children:[(0,$.jsx)(C,{children:`Edit listener`}),(0,$.jsx)(x,{children:`Update port, protocol, or default target group. Changes apply without dropping the listener.`})]}),t[11]=y):y=t[11];let b;t[12]===_?b=t[13]:(b=e=>{e.preventDefault(),_()},t[12]=_,t[13]=b);let k;t[14]!==o||t[15]!==h||t[16]!==i||t[17]!==s||t[18]!==a?(k=(0,$.jsx)(Ae,{certificates:o,form:h,protocols:i,sslPolicies:s,targetGroups:a}),t[14]=o,t[15]=h,t[16]=i,t[17]=s,t[18]=a,t[19]=k):k=t[19];let A;t[20]!==b||t[21]!==k?(A=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:b,children:k}),t[20]=b,t[21]=k,t[22]=A):A=t[22];let j;t[23]===c?j=t[24]:(j=(0,$.jsx)(E,{disabled:c,children:`Cancel`}),t[23]=c,t[24]=j);let M=c?`Saving…`:`Save changes`,N;t[25]!==_||t[26]!==c||t[27]!==M?(N=(0,$.jsx)(w,{disabled:c,onClick:_,children:M}),t[25]=_,t[26]=c,t[27]=M,t[28]=N):N=t[28];let P;t[29]!==j||t[30]!==N?(P=(0,$.jsxs)(T,{children:[j,N]}),t[29]=j,t[30]=N,t[31]=P):P=t[31];let F;t[32]!==A||t[33]!==P?(F=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:v,children:[y,A,P]}),t[32]=A,t[33]=P,t[34]=F):F=t[34];let I;return t[35]!==r||t[36]!==u||t[37]!==F?(I=(0,$.jsx)(O,{onOpenChange:r,open:u,children:F}),t[35]=r,t[36]=u,t[37]=F,t[38]=I):I=t[38],I}function rt(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function it(e){let t=(0,we.c)(48),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=rt(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]===u?b=t[9]:(b=new Set(u),t[8]=u,t[9]=b);let x=b,S;t[10]!==v||t[11]!==y||t[12]!==i||t[13]!==u?(S=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[10]=v,t[11]=y,t[12]=i,t[13]=u,t[14]=S):S=t[14];let C;t[15]===o?C=t[16]:(C=o&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:o.message||`Failed to update security groups`}),t[15]=o,t[16]=C);let w;t[17]!==v||t[18]!==s?(w=s&&!v&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-emerald-500 bg-emerald-500/10 p-3 text-sm text-emerald-700 dark:text-emerald-400`,role:`status`,children:`Security groups updated.`}),t[17]=v,t[18]=s,t[19]=w):w=t[19];let T;t[20]!==n||t[21]!==x?(T=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No security groups in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:x.has(e.GroupId??``),onChange:()=>p(e.GroupId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId)),t[20]=n,t[21]=x,t[22]=T):T=t[22];let E;t[23]===y?E=t[24]:(E=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one security group is required.`}),t[23]=y,t[24]=E);let D;t[25]!==E||t[26]!==T?(D=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[T,E]}),t[25]=E,t[26]=T,t[27]=D):D=t[27];let O=v?`Unsaved changes`:`No changes`,k;t[28]===O?k=t[29]:(k=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:O}),t[28]=O,t[29]=k);let A=a||!v,j;t[30]!==h||t[31]!==A?(j=(0,$.jsx)(g,{disabled:A,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[30]=h,t[31]=A,t[32]=j):j=t[32];let M=a||!v||y,N=a?`Saving…`:`Save changes`,P;t[33]!==M||t[34]!==N?(P=(0,$.jsx)(g,{disabled:M,size:`sm`,type:`submit`,children:N}),t[33]=M,t[34]=N,t[35]=P):P=t[35];let F;t[36]!==k||t[37]!==j||t[38]!==P?(F=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[k,j,P]}),t[36]=k,t[37]=j,t[38]=P,t[39]=F):F=t[39];let I;t[40]!==D||t[41]!==F?(I=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[D,F]}),t[40]=D,t[41]=F,t[42]=I):I=t[42];let L;return t[43]!==I||t[44]!==S||t[45]!==C||t[46]!==w?(L=(0,$.jsxs)(`form`,{onSubmit:S,children:[C,w,I]}),t[43]=I,t[44]=S,t[45]=C,t[46]=w,t[47]=L):L=t[47],L}function at(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function ot(e){let t=s(e.Tags),n=e.AvailabilityZone?` · ${e.AvailabilityZone}`:``,r=e.CidrBlock?` (${e.CidrBlock})`:``;return`${e.SubnetId}${t?` — ${t}`:``}${r}${n}`}function st(e){let t=(0,we.c)(49),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=at(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]===u?b=t[9]:(b=new Set(u),t[8]=u,t[9]=b);let x=b,S;t[10]!==v||t[11]!==y||t[12]!==i||t[13]!==u?(S=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[10]=v,t[11]=y,t[12]=i,t[13]=u,t[14]=S):S=t[14];let C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-amber-500 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-400`,role:`note`,children:`Applying a subnet change re-homes the load balancer by relaunching its underlying system VM. Expect a brief data-plane interruption while it restarts.`}),t[15]=C):C=t[15];let w;t[16]===o?w=t[17]:(w=o&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:o.message||`Failed to update subnets`}),t[16]=o,t[17]=w);let T;t[18]!==v||t[19]!==s?(T=s&&!v&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-emerald-500 bg-emerald-500/10 p-3 text-sm text-emerald-700 dark:text-emerald-400`,role:`status`,children:`Subnets updated.`}),t[18]=v,t[19]=s,t[20]=T):T=t[20];let E;t[21]!==n||t[22]!==x?(E=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnets in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:x.has(e.SubnetId??``),onChange:()=>p(e.SubnetId??``),type:`checkbox`}),(0,$.jsx)(`span`,{className:`font-mono`,children:ot(e)})]},e.SubnetId)),t[21]=n,t[22]=x,t[23]=E):E=t[23];let D;t[24]===y?D=t[25]:(D=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one subnet is required.`}),t[24]=y,t[25]=D);let O;t[26]!==E||t[27]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[E,D]}),t[26]=E,t[27]=D,t[28]=O):O=t[28];let k=v?`Unsaved changes`:`No changes`,A;t[29]===k?A=t[30]:(A=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:k}),t[29]=k,t[30]=A);let j=a||!v,M;t[31]!==h||t[32]!==j?(M=(0,$.jsx)(g,{disabled:j,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[31]=h,t[32]=j,t[33]=M):M=t[33];let N=a||!v||y,P=a?`Saving…`:`Save changes`,F;t[34]!==N||t[35]!==P?(F=(0,$.jsx)(g,{disabled:N,size:`sm`,type:`submit`,children:P}),t[34]=N,t[35]=P,t[36]=F):F=t[36];let I;t[37]!==A||t[38]!==M||t[39]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[A,M,F]}),t[37]=A,t[38]=M,t[39]=F,t[40]=I):I=t[40];let L;t[41]!==O||t[42]!==I?(L=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[O,I]}),t[41]=O,t[42]=I,t[43]=L):L=t[43];let R;return t[44]!==L||t[45]!==S||t[46]!==w||t[47]!==T?(R=(0,$.jsxs)(`form`,{onSubmit:S,children:[C,w,T,L]}),t[44]=L,t[45]=S,t[46]=w,t[47]=T,t[48]=R):R=t[48],R}function ct({arn:e}){let t=a(),{data:n}=i(U(e)),{data:r}=i(K(e)),{data:l}=i(q([e])),{data:u}=i(j),{data:d}=i(M),f=ee(),p=F(),m=N(),_=R(),v=L(),[y,b]=(0,Q.useState)(!1),x=n.LoadBalancers?.[0];if(!x?.LoadBalancerArn)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`Load balancer not found.`})]});let S=async()=>{try{await f.mutateAsync(e),t({to:`/ec2/describe-load-balancers`})}finally{b(!1)}},C=u.Subnets??[],w=e=>{let t=C.find(t=>t.SubnetId===e);if(!t)return e;let n=s(t.Tags),r=t.CidrBlock?` (${t.CidrBlock})`:``;return n?`${e} — ${n}${r}`:`${e}${r}`},T=r.Attributes??[],E=l?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[],D=(x.SecurityGroups??[]).filter(e=>e!==void 0),O=(d.SecurityGroups??[]).filter(e=>e.VpcId===x.VpcId),k=C.filter(e=>e.VpcId===x.VpcId),A=(x.AvailabilityZones??[]).map(e=>e.SubnetId).filter(e=>e!==void 0),P=x.Type===`network`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),f.error&&(0,$.jsx)(Y,{error:f.error,msg:`Failed to delete load balancer`}),(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsx)(se,{actions:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(g,{onClick:()=>b(!0),size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),(0,$.jsx)(ue,{state:x.State?.Code})]}),subtitle:`Load Balancer Details`,title:x.LoadBalancerName??x.LoadBalancerArn}),(0,$.jsxs)(Ce,{defaultValue:`overview`,children:[(0,$.jsxs)(xe,{children:[(0,$.jsx)(be,{value:`overview`,children:`Overview`}),(0,$.jsx)(be,{value:`listeners`,children:`Listeners`}),(0,$.jsx)(be,{value:`subnets`,children:`Subnets`}),!P&&(0,$.jsx)(be,{value:`security-groups`,children:`Security groups`}),(0,$.jsx)(be,{value:`attributes`,children:`Attributes`}),(0,$.jsx)(be,{value:`tags`,children:`Tags`})]}),(0,$.jsxs)(Se,{value:`overview`,children:[(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Load balancer`}),(0,$.jsxs)(X.Content,{children:[(0,$.jsx)(Z,{label:`ARN`,value:x.LoadBalancerArn}),(0,$.jsx)(Z,{label:`DNS name`,value:x.DNSName}),(0,$.jsx)(Z,{label:`State`,value:x.State?.Reason?`${x.State.Code} — ${x.State.Reason}`:x.State?.Code}),(0,$.jsx)(Z,{label:`Type`,value:x.Type}),(0,$.jsx)(Z,{label:`Scheme`,value:x.Scheme}),(0,$.jsx)(Z,{label:`IP address type`,value:x.IpAddressType}),(0,$.jsx)(Z,{label:`VPC`,value:x.VpcId}),(0,$.jsx)(Z,{label:`Created at`,value:o(x.CreatedTime)})]})]}),(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Availability zones`}),(0,$.jsx)(X.Content,{children:(x.AvailabilityZones??[]).map(e=>(0,$.jsx)(Z,{label:e.ZoneName??`—`,value:e.SubnetId?w(e.SubnetId):void 0},`${e.ZoneName}-${e.SubnetId}`))})]}),(x.SecurityGroups??[]).length>0&&(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Security groups`}),(0,$.jsx)(X.Content,{children:(x.SecurityGroups??[]).map(e=>(0,$.jsx)(Z,{label:`Security group`,value:e},e))})]})]}),(0,$.jsx)(Se,{value:`listeners`,children:(0,$.jsx)(et,{lbType:P?`network`:`application`,loadBalancerArn:e,vpcId:x.VpcId})}),(0,$.jsx)(Se,{value:`subnets`,children:(0,$.jsx)(st,{available:k,current:A,error:v.error,isPending:v.isPending,isSuccess:v.isSuccess,onSubmit:t=>v.mutate({loadBalancerArn:e,subnetIds:t})})}),!P&&(0,$.jsx)(Se,{value:`security-groups`,children:(0,$.jsx)(it,{available:O,current:D,error:_.error,isPending:_.isPending,isSuccess:_.isSuccess,onSubmit:t=>_.mutate({loadBalancerArn:e,securityGroupIds:t})})}),(0,$.jsx)(Se,{value:`attributes`,children:(0,$.jsx)(ve,{attributes:T,error:p.error,isPending:p.isPending,isSuccess:p.isSuccess,onSubmit:t=>{p.mutate({loadBalancerArn:e,attributes:t})},specs:_e})}),(0,$.jsx)(Se,{value:`tags`,children:(0,$.jsx)(ye,{error:m.error,isPending:m.isPending,isSuccess:m.isSuccess,onSubmit:t=>m.mutate({resourceArn:e,tags:t,initialKeys:E.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:E})})]})]}),(0,$.jsx)(le,{description:`Are you sure you want to delete load balancer "${x.LoadBalancerName??x.LoadBalancerArn}"? This action cannot be undone.`,isPending:f.isPending,onConfirm:S,onOpenChange:b,open:y,title:`Delete load balancer`})]})}function lt(){let e=(0,we.c)(2),{id:t}=ce.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,$.jsx)(ct,{arn:n}),e[0]=n,e[1]=r),r}export{lt as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./pencil.js";import{t as h}from"./trash-2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{t as v}from"./acm.js";import{t as y}from"./certificate-import-dialog.js";import{O as b,w as x}from"./ec2.js";import{_ as S,a as C,d as w,f as T,g as E,h as D,o as O,r as k,s as A,t as j,u as M}from"./elbv2.js";import{i as N,n as P,o as F,r as I,s as L,t as R,u as z}from"./elbv22.js";import{t as B}from"./_id9.js";import{a as V,i as H,n as ee,r as te,t as U}from"./zod.js";import{t as W}from"./error-banner.js";import{t as G}from"./page-heading.js";import{a as K,r as ne,t as q}from"./field.js";import{a as J,i as Y,l as re,n as ie,o as ae,r as oe,s as se,t as ce}from"./alert-dialog.js";import{t as le}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as ue}from"./state-badge.js";import{c as de,i as fe,n as pe,o as me,s as he,t as ge}from"./elbv23.js";import{n as _e,t as ve}from"./attributes-editor.js";import{t as ye}from"./tags-editor.js";import{i as be,n as xe,r as Se,t as Ce}from"./tabs.js";var we=r(),Q=e(n(),1),$=t(),Te=80,Ee=443,De=[],Oe=[];function ke(e){let t=e.CertificateArn?.split(`/`).pop()??e.CertificateArn??``;return e.DomainName?`${e.DomainName} · ${t}`:t}function Ae(e){let t=(0,we.c)(55),{form:n,protocols:r,targetGroups:i,certificates:a,sslPolicies:o}=e,s=a===void 0?De:a,c=o===void 0?Oe:o,{control:u,register:m,getValues:h,setValue:v,formState:b}=n,{errors:x}=b,[S,C]=(0,Q.useState)(!1),w;t[0]===u?w=t[1]:(w={control:u,name:`protocol`},t[0]=u,t[1]=w);let T=V(w),E=T===`HTTPS`,D;t[2]===T?D=t[3]:(D=he(T),t[2]=T,t[3]=D);let O=D,k;t[4]!==h||t[5]!==v?(k=e=>{if(!e)return;let t=h(`port`);he(e)?(t===Te&&v(`port`,Ee),e===`HTTPS`?h(`sslPolicy`)||v(`sslPolicy`,ge):v(`sslPolicy`,void 0)):(t===Ee&&v(`port`,Te),v(`certificateArn`,void 0),v(`sslPolicy`,void 0))},t[4]=h,t[5]=v,t[6]=k):k=t[6];let A=k,j;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),t[7]=j):j=t[7];let M;t[8]!==A||t[9]!==r?(M=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:e=>{t.onChange(e),A(e)},value:t.value,children:[(0,$.jsx)(f,{className:`w-full`,id:`listener-protocol`,children:(0,$.jsx)(l,{})}),(0,$.jsx)(d,{children:r.map(Pe)})]})},t[8]=A,t[9]=r,t[10]=M):M=t[10];let N;t[11]!==u||t[12]!==M?(N=(0,$.jsxs)(q,{children:[j,(0,$.jsx)(ee,{control:u,name:`protocol`,render:M})]}),t[11]=u,t[12]=M,t[13]=N):N=t[13];let P;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),t[14]=P):P=t[14];let F=!!x.port,I=O?`443`:`80`,L;t[15]===m?L=t[16]:(L=m(`port`,{valueAsNumber:!0}),t[15]=m,t[16]=L);let R;t[17]!==F||t[18]!==I||t[19]!==L?(R=(0,$.jsx)(_,{"aria-invalid":F,id:`listener-port`,inputMode:`numeric`,placeholder:I,type:`number`,...L}),t[17]=F,t[18]=I,t[19]=L,t[20]=R):R=t[20];let z;t[21]===x.port?z=t[22]:(z=(0,$.jsx)(ne,{errors:[x.port]}),t[21]=x.port,t[22]=z);let B;t[23]!==R||t[24]!==z?(B=(0,$.jsxs)(q,{children:[P,R,z]}),t[23]=R,t[24]=z,t[25]=B):B=t[25];let H;t[26]!==s||t[27]!==u||t[28]!==x.certificateArn||t[29]!==S||t[30]!==E||t[31]!==O||t[32]!==v||t[33]!==c?(H=O&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{children:[(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`listener-certificate`,children:`Certificate`})}),(0,$.jsx)(ee,{control:u,name:`certificateArn`,render:e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!x.certificateArn,className:`w-full`,id:`listener-certificate`,children:(0,$.jsx)(l,{placeholder:`Select certificate`})}),(0,$.jsx)(d,{children:s.map(Ne)})]})}}),(0,$.jsx)(ne,{errors:[x.certificateArn]}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[s.length===0&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No certificates imported yet.`}),(0,$.jsx)(g,{className:`ml-auto`,onClick:()=>C(!0),size:`sm`,type:`button`,variant:`ghost`,children:`Import certificate…`})]})]}),E&&(0,$.jsxs)(q,{children:[(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`listener-ssl-policy`,children:`Security policy`})}),(0,$.jsx)(ee,{control:u,name:`sslPolicy`,render:e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??`ELBSecurityPolicy-2016-08`,children:[(0,$.jsx)(f,{className:`w-full`,id:`listener-ssl-policy`,children:(0,$.jsx)(l,{})}),(0,$.jsx)(d,{children:c.map(Me)})]})}})]}),(0,$.jsx)(y,{onImported:e=>v(`certificateArn`,e,{shouldValidate:!0}),onOpenChange:C,open:S})]}),t[26]=s,t[27]=u,t[28]=x.certificateArn,t[29]=S,t[30]=E,t[31]=O,t[32]=v,t[33]=c,t[34]=H):H=t[34];let te;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`listener-default-tg`,children:`Default target group`})}),t[35]=te):te=t[35];let U;t[36]!==x.defaultTargetGroupArn||t[37]!==i?(U=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!x.defaultTargetGroupArn,className:`w-full`,id:`listener-default-tg`,children:(0,$.jsx)(l,{placeholder:`Select target group`})}),(0,$.jsx)(d,{children:i.map(je)})]})},t[36]=x.defaultTargetGroupArn,t[37]=i,t[38]=U):U=t[38];let W;t[39]!==u||t[40]!==U?(W=(0,$.jsx)(ee,{control:u,name:`defaultTargetGroupArn`,render:U}),t[39]=u,t[40]=U,t[41]=W):W=t[41];let G;t[42]===x.defaultTargetGroupArn?G=t[43]:(G=(0,$.jsx)(ne,{errors:[x.defaultTargetGroupArn]}),t[42]=x.defaultTargetGroupArn,t[43]=G);let J;t[44]===i.length?J=t[45]:(J=i.length===0&&(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups available in this VPC. Create one first.`}),t[44]=i.length,t[45]=J);let Y;t[46]!==W||t[47]!==G||t[48]!==J?(Y=(0,$.jsxs)(q,{children:[te,W,G,J]}),t[46]=W,t[47]=G,t[48]=J,t[49]=Y):Y=t[49];let re;return t[50]!==B||t[51]!==H||t[52]!==Y||t[53]!==N?(re=(0,$.jsxs)($.Fragment,{children:[N,B,H,Y]}),t[50]=B,t[51]=H,t[52]=Y,t[53]=N,t[54]=re):re=t[54],re}function je(e){return(0,$.jsxs)(u,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Me(e){return(0,$.jsx)(u,{value:e.Name??``,children:e.Name},e.Name)}function Ne(e){return(0,$.jsx)(u,{value:e.CertificateArn??``,children:ke(e)},e.CertificateArn)}function Pe(e){return(0,$.jsx)(u,{value:e,children:e},e)}function Fe({listenerArn:e,targetGroups:t}){let{data:n}=i(R(e)),r=k(),a=T(),o=A(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),[d,f]=(0,Q.useState)(),p=n.Rules??[],_=new Map;for(let e of t)e.TargetGroupArn&&e.TargetGroupName&&_.set(e.TargetGroupArn,e.TargetGroupName);return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[r.error&&(0,$.jsx)(W,{error:r.error,msg:`Failed to create rule`}),a.error&&(0,$.jsx)(W,{error:a.error,msg:`Failed to modify rule`}),o.error&&(0,$.jsx)(W,{error:o.error,msg:`Failed to delete rule`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[p.length,` rule`,p.length===1?``:`s`,` (including default)`]}),(0,$.jsx)(g,{onClick:()=>c(!0),size:`sm`,children:`Add rule`})]}),(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Priority`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Conditions`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Forward to`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:p.map(e=>(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Priority}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Ie(e.Conditions,e.IsDefault===!0)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Re(e,_)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:e.IsDefault===!0?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Edit via listener`}):(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`Edit rule ${e.Priority}`,onClick:()=>u(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(m,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete rule ${e.Priority}`,onClick:()=>f(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]},e.RuleArn??e.Priority??`default`))})]})}),s&&(0,$.jsx)(Ue,{isPending:r.isPending,mode:`add`,onOpenChange:c,onSubmit:async t=>{try{await r.mutateAsync({listenerArn:e,priority:t.priority,conditions:t.conditions.map(ze),forwardTargetGroupArn:t.forwardTargetGroupArn}),c(!1)}catch{}},open:s,targetGroups:t}),(0,$.jsx)(Ue,{initialRule:l,isPending:a.isPending,mode:`edit`,onOpenChange:e=>!e&&u(void 0),onSubmit:async t=>{if(l?.RuleArn)try{await a.mutateAsync({ruleArn:l.RuleArn,listenerArn:e,conditions:t.conditions.map(ze),forwardTargetGroupArn:t.forwardTargetGroupArn}),u(void 0)}catch{}},open:l!==void 0,targetGroups:t}),(0,$.jsx)(le,{description:d?`Delete rule with priority ${d.Priority}? This cannot be undone.`:``,isPending:o.isPending,onConfirm:async()=>{if(d?.RuleArn)try{await o.mutateAsync({ruleArn:d.RuleArn,listenerArn:e})}finally{f(void 0)}},onOpenChange:e=>!e&&f(void 0),open:d!==void 0,title:`Delete rule`})]})}function Ie(e,t){return t?`default`:!e||e.length===0?`—`:e.map(e=>{let t=Le(e);return`${e.Field}: ${t.join(`, `)}`}).join(` AND `)}function Le(e){if(e.Field===void 0)return e.Values??[];switch(e.Field){case`host-header`:return e.HostHeaderConfig?.Values??e.Values??[];case`path-pattern`:return e.PathPatternConfig?.Values??e.Values??[];case`http-header`:{let t=e.HttpHeaderConfig?.HttpHeaderName??`?`;return(e.HttpHeaderConfig?.Values??[]).map(e=>`${t}=${e}`)}case`http-request-method`:return e.HttpRequestMethodConfig?.Values??[];case`source-ip`:return e.SourceIpConfig?.Values??[];case`query-string`:return(e.QueryStringConfig?.Values??[]).map(e=>e.Key?`${e.Key}=${e.Value??``}`:e.Value??``);default:return e.Values??[]}}function Re(e,t){let n=e.Actions?.[0];return n?n.Type===`forward`&&n.TargetGroupArn?t.get(n.TargetGroupArn)??n.TargetGroupArn:n.Type??`—`:`—`}function ze(e){let t=e.rawValues.split(/[\n,]/).map(e=>e.trim()).filter(e=>e.length>0);return e.field===`query-string`?{field:e.field,values:[],queryStringPairs:t.map(e=>{let t=e.indexOf(`=`);return t===-1?{value:e}:{key:e.slice(0,t),value:e.slice(t+1)}})}:{field:e.field,values:t,httpHeaderName:e.httpHeaderName}}var Be=1,Ve=[{field:`path-pattern`,rawValues:``}];function He(e){let t=Number(e.Priority??Be),n=e.Conditions?.map(e=>Ye(e))??[];return{priority:Number.isFinite(t)?t:Be,conditions:n.length>0?n:Ve,forwardTargetGroupArn:e.Actions?.[0]?.TargetGroupArn??``}}function Ue(e){let t=(0,we.c)(84),{open:n,onOpenChange:r,onSubmit:i,isPending:a,targetGroups:o,mode:s,initialRule:c}=e,u,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=U(fe),m={priority:Be,conditions:Ve,forwardTargetGroupArn:``},t[0]=u,t[1]=m):(u=t[0],m=t[1]);let h;t[2]===c?h=t[3]:(h=c?He(c):void 0,t[2]=c,t[3]=h);let v;t[4]===h?v=t[5]:(v={resolver:u,defaultValues:m,values:h},t[4]=h,t[5]=v);let y=H(v),b;t[6]===y.control?b=t[7]:(b={control:y.control,name:`conditions`},t[6]=y.control,t[7]=b);let{fields:x,append:S,remove:C}=te(b),w;t[8]!==y||t[9]!==i?(w=y.handleSubmit(i),t[8]=y,t[9]=i,t[10]=w):w=t[10];let T=w,E;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(E={maxWidth:`40rem`,width:`calc(100vw - 2rem)`},t[11]=E):E=t[11];let D=s===`add`?`Add rule`:`Edit rule`,O;t[12]===D?O=t[13]:(O=(0,$.jsx)(re,{children:D}),t[12]=D,t[13]=O);let k;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(J,{children:`Routing rules match incoming requests and forward them to a target group. Rules evaluate in priority order; the listener default applies when no rule matches.`}),t[14]=k):k=t[14];let A;t[15]===O?A=t[16]:(A=(0,$.jsxs)(se,{children:[O,k]}),t[15]=O,t[16]=A);let j;t[17]===T?j=t[18]:(j=e=>{e.preventDefault(),T()},t[17]=T,t[18]=j);let M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`rule-priority`,children:`Priority`})}),t[19]=M):M=t[19];let N=!!y.formState.errors.priority,P;t[20]===y?P=t[21]:(P=y.register(`priority`,{valueAsNumber:!0}),t[20]=y,t[21]=P);let F;t[22]!==N||t[23]!==P?(F=(0,$.jsx)(_,{"aria-invalid":N,id:`rule-priority`,inputMode:`numeric`,type:`number`,...P}),t[22]=N,t[23]=P,t[24]=F):F=t[24];let I;t[25]===y.formState.errors.priority?I=t[26]:(I=(0,$.jsx)(ne,{errors:[y.formState.errors.priority]}),t[25]=y.formState.errors.priority,t[26]=I);let L;t[27]!==F||t[28]!==I?(L=(0,$.jsxs)(q,{children:[M,F,I]}),t[27]=F,t[28]=I,t[29]=L):L=t[29];let R;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(K,{children:`Conditions`}),t[30]=R):R=t[30];let z=x.length>=5,B;t[31]===S?B=t[32]:(B=()=>S({field:`path-pattern`,rawValues:``}),t[31]=S,t[32]=B);let V;t[33]!==z||t[34]!==B?(V=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[R,(0,$.jsx)(g,{disabled:z,onClick:B,size:`sm`,type:`button`,variant:`outline`,children:`Add condition`})]}),t[33]=z,t[34]=B,t[35]=V):V=t[35];let W;if(t[36]!==x||t[37]!==y||t[38]!==C){let e;t[40]!==x.length||t[41]!==y||t[42]!==C?(e=(e,t)=>(0,$.jsx)(Ge,{form:y,index:t,onRemove:x.length>1?()=>C(t):void 0},e.id),t[40]=x.length,t[41]=y,t[42]=C,t[43]=e):e=t[43],W=x.map(e),t[36]=x,t[37]=y,t[38]=C,t[39]=W}else W=t[39];let G;t[44]!==V||t[45]!==W?(G=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[V,W]}),t[44]=V,t[45]=W,t[46]=G):G=t[46];let le;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`rule-forward-tg`,children:`Forward to target group`})}),t[47]=le):le=t[47];let X;t[48]!==y.formState.errors.forwardTargetGroupArn||t[49]!==o?(X=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!y.formState.errors.forwardTargetGroupArn,className:`w-full`,id:`rule-forward-tg`,children:(0,$.jsx)(l,{placeholder:`Select target group`})}),(0,$.jsx)(d,{children:o.map(We)})]})},t[48]=y.formState.errors.forwardTargetGroupArn,t[49]=o,t[50]=X):X=t[50];let Z;t[51]!==y.control||t[52]!==X?(Z=(0,$.jsx)(ee,{control:y.control,name:`forwardTargetGroupArn`,render:X}),t[51]=y.control,t[52]=X,t[53]=Z):Z=t[53];let ue;t[54]===y.formState.errors.forwardTargetGroupArn?ue=t[55]:(ue=(0,$.jsx)(ne,{errors:[y.formState.errors.forwardTargetGroupArn]}),t[54]=y.formState.errors.forwardTargetGroupArn,t[55]=ue);let de;t[56]!==Z||t[57]!==ue?(de=(0,$.jsxs)(q,{children:[le,Z,ue]}),t[56]=Z,t[57]=ue,t[58]=de):de=t[58];let pe;t[59]!==j||t[60]!==L||t[61]!==G||t[62]!==de?(pe=(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4`,onSubmit:j,children:[L,G,de]}),t[59]=j,t[60]=L,t[61]=G,t[62]=de,t[63]=pe):pe=t[63];let me;t[64]===a?me=t[65]:(me=(0,$.jsx)(oe,{disabled:a,children:`Cancel`}),t[64]=a,t[65]=me);let he;t[66]!==a||t[67]!==s?(he=Xe(s,a),t[66]=a,t[67]=s,t[68]=he):he=t[68];let ge;t[69]!==T||t[70]!==a||t[71]!==he?(ge=(0,$.jsx)(ie,{disabled:a,onClick:T,children:he}),t[69]=T,t[70]=a,t[71]=he,t[72]=ge):ge=t[72];let _e;t[73]!==me||t[74]!==ge?(_e=(0,$.jsxs)(ae,{children:[me,ge]}),t[73]=me,t[74]=ge,t[75]=_e):_e=t[75];let ve;t[76]!==A||t[77]!==pe||t[78]!==_e?(ve=(0,$.jsxs)(Y,{className:`grid-cols-[minmax(0,1fr)]`,style:E,children:[A,pe,_e]}),t[76]=A,t[77]=pe,t[78]=_e,t[79]=ve):ve=t[79];let ye;return t[80]!==r||t[81]!==n||t[82]!==ve?(ye=(0,$.jsx)(ce,{onOpenChange:r,open:n,children:ve}),t[80]=r,t[81]=n,t[82]=ve,t[83]=ye):ye=t[83],ye}function We(e){return(0,$.jsxs)(u,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Ge(e){let t=(0,we.c)(54),{form:n,index:r,onRemove:i}=e,a,o,s,c,m,v,y,b,x,S;if(t[0]!==n||t[1]!==r||t[2]!==i){let e=n.watch(`conditions.${r}.field`);s=n.formState.errors.conditions?.[r],b=`space-y-2 rounded-md border p-3`;let C=`rule-cond-${r}-field`,w;t[13]===C?w=t[14]:(w=(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:C,children:`Type`})}),t[13]=C,t[14]=w);let T=`conditions.${r}.field`,E;t[15]===r?E=t[16]:(E=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value,children:[(0,$.jsx)(f,{className:`w-full`,id:`rule-cond-${r}-field`,children:(0,$.jsx)(l,{})}),(0,$.jsxs)(d,{children:[(0,$.jsx)(u,{value:`path-pattern`,children:`Path pattern`}),(0,$.jsx)(u,{value:`host-header`,children:`Host header`}),(0,$.jsx)(u,{value:`http-header`,children:`HTTP header`}),(0,$.jsx)(u,{value:`http-request-method`,children:`HTTP method`}),(0,$.jsx)(u,{value:`source-ip`,children:`Source IP CIDR`}),(0,$.jsx)(u,{value:`query-string`,children:`Query string`})]})]})},t[15]=r,t[16]=E);let D;t[17]!==n.control||t[18]!==T||t[19]!==E?(D=(0,$.jsx)(ee,{control:n.control,name:T,render:E}),t[17]=n.control,t[18]=T,t[19]=E,t[20]=D):D=t[20];let O;t[21]!==D||t[22]!==w?(O=(0,$.jsxs)(`div`,{className:`flex-1`,children:[w,D]}),t[21]=D,t[22]=w,t[23]=O):O=t[23];let k;t[24]!==r||t[25]!==i?(k=i&&(0,$.jsx)(g,{"aria-label":`Remove condition ${r+1}`,className:`self-end`,onClick:i,size:`sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})}),t[24]=r,t[25]=i,t[26]=k):k=t[26],t[27]!==O||t[28]!==k?(x=(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[O,k]}),t[27]=O,t[28]=k,t[29]=x):x=t[29],S=e===`http-header`&&(0,$.jsxs)(q,{children:[(0,$.jsx)(K,{children:(0,$.jsx)(`label`,{htmlFor:`rule-cond-${r}-hdr-name`,children:`Header name`})}),(0,$.jsx)(_,{"aria-invalid":!!s?.httpHeaderName,id:`rule-cond-${r}-hdr-name`,placeholder:`X-Tenant`,...n.register(`conditions.${r}.httpHeaderName`)}),(0,$.jsx)(ne,{errors:[s?.httpHeaderName]})]}),o=q;let A=`rule-cond-${r}-values`,j;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma or newline separated, max 5)`}),t[30]=j):j=t[30],t[31]===A?y=t[32]:(y=(0,$.jsx)(K,{children:(0,$.jsxs)(`label`,{htmlFor:A,children:[`Values`,` `,j]})}),t[31]=A,t[32]=y),a=_,c=!!s?.rawValues,m=`rule-cond-${r}-values`,v=Ke(e),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=m,t[8]=v,t[9]=y,t[10]=b,t[11]=x,t[12]=S}else a=t[3],o=t[4],s=t[5],c=t[6],m=t[7],v=t[8],y=t[9],b=t[10],x=t[11],S=t[12];let C;t[33]!==n||t[34]!==r?(C=n.register(`conditions.${r}.rawValues`),t[33]=n,t[34]=r,t[35]=C):C=t[35];let w;t[36]!==a||t[37]!==c||t[38]!==m||t[39]!==v||t[40]!==C?(w=(0,$.jsx)(a,{"aria-invalid":c,id:m,placeholder:v,...C}),t[36]=a,t[37]=c,t[38]=m,t[39]=v,t[40]=C,t[41]=w):w=t[41];let T=s?.rawValues,E;t[42]===T?E=t[43]:(E=(0,$.jsx)(ne,{errors:[T]}),t[42]=T,t[43]=E);let D;t[44]!==o||t[45]!==E||t[46]!==y||t[47]!==w?(D=(0,$.jsxs)(o,{children:[y,w,E]}),t[44]=o,t[45]=E,t[46]=y,t[47]=w,t[48]=D):D=t[48];let O;return t[49]!==D||t[50]!==b||t[51]!==x||t[52]!==S?(O=(0,$.jsxs)(`div`,{className:b,children:[x,S,D]}),t[49]=D,t[50]=b,t[51]=x,t[52]=S,t[53]=O):O=t[53],O}function Ke(e){switch(e){case`path-pattern`:return`/api/*`;case`host-header`:return`*.example.com`;case`http-header`:return`acme`;case`http-request-method`:return`GET, POST`;case`source-ip`:return`10.0.0.0/8`;case`query-string`:return`key=value`;default:return``}}var qe=new Set([`host-header`,`path-pattern`,`http-header`,`http-request-method`,`source-ip`,`query-string`]);function Je(e){return e!==void 0&&qe.has(e)}function Ye(e){let t=Le(e);return{field:Je(e.Field)?e.Field:`path-pattern`,httpHeaderName:e.HttpHeaderConfig?.HttpHeaderName,rawValues:t.join(`, `)}}function Xe(e,t){return t?e===`add`?`Adding…`:`Saving…`:e===`add`?`Add rule`:`Save changes`}function Ze(e){return{protocol:me(e),port:80,defaultTargetGroupArn:``}}function Qe(e,t){let n=t.find(t=>t===e.Protocol)??t[0]??`HTTP`,r=he(n);return{protocol:n,port:e.Port??80,defaultTargetGroupArn:e.DefaultActions?.[0]?.TargetGroupArn??``,certificateArn:r?e.Certificates?.[0]?.CertificateArn:void 0,sslPolicy:n===`HTTPS`?e.SslPolicy:void 0}}function $e(e){if(e.Protocol!==`HTTPS`)return`—`;let t=e.Certificates?.[0]?.CertificateArn?.split(`/`).pop(),n=e.SslPolicy;return t&&n?`${n} · ${t}`:n??t??`—`}function et({loadBalancerArn:e,vpcId:t,lbType:n}){let r=de(n),{data:a}=i(P(e)),{data:o}=i(z),{data:s}=i(v),{data:c}=i(F),l=j(),u=C(),d=M(),[f,p]=(0,Q.useState)(!1),[_,y]=(0,Q.useState)(),[b,x]=(0,Q.useState)(),[S,w]=(0,Q.useState)(),T=a.Listeners??[],E=o.TargetGroups??[],D=E.filter(e=>e.VpcId===t),O=s.CertificateSummaryList??[],k=c.SslPolicies??[],A=new Map;for(let e of E)e.TargetGroupArn&&e.TargetGroupName&&A.set(e.TargetGroupArn,e.TargetGroupName);let N=e=>{let t=e.DefaultActions?.[0];if(!t)return`—`;if(t.Type===`forward`&&t.TargetGroupArn){let e=A.get(t.TargetGroupArn);return e?`forward → ${e}`:`forward → ${t.TargetGroupArn}`}return t.Type??`—`};return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[l.error&&(0,$.jsx)(W,{error:l.error,msg:`Failed to create listener`}),d.error&&(0,$.jsx)(W,{error:d.error,msg:`Failed to modify listener`}),u.error&&(0,$.jsx)(W,{error:u.error,msg:`Failed to delete listener`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[T.length,` listener`,T.length===1?``:`s`]}),(0,$.jsx)(g,{onClick:()=>p(!0),size:`sm`,children:`Add listener`})]}),T.length===0?(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No listeners configured.`}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Protocol`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`TLS`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Default action`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Listener ARN`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:T.map(e=>{let t=e.ListenerArn??``,n=S===t;return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Protocol}),(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Port}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:$e(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:N(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`${n?`Hide`:`Show`} rules for listener ${e.Protocol}:${e.Port}`,onClick:()=>w(n?void 0:t),size:`sm`,variant:`ghost`,children:n?`Hide rules`:`Rules`}),(0,$.jsx)(g,{"aria-label":`Edit listener ${e.Protocol}:${e.Port}`,onClick:()=>y(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(m,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete listener ${e.Protocol}:${e.Port}`,onClick:()=>x(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]}),n&&t&&(0,$.jsx)(`tr`,{className:`border-b bg-muted/30 last:border-0`,children:(0,$.jsx)(`td`,{className:`px-4 py-3`,colSpan:6,children:(0,$.jsx)(Fe,{listenerArn:t,targetGroups:D})})})]},t)})})]})}),f&&(0,$.jsx)(tt,{certificates:O,isPending:l.isPending,lbType:n,onOpenChange:p,onSubmit:async t=>{try{await l.mutateAsync({loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),p(!1)}catch{}},open:f,protocols:r,sslPolicies:k,targetGroups:D}),(0,$.jsx)(nt,{certificates:O,isPending:d.isPending,listener:_,onOpenChange:e=>!e&&y(void 0),onSubmit:async t=>{if(_?.ListenerArn)try{await d.mutateAsync({listenerArn:_.ListenerArn,loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),y(void 0)}catch{}},protocols:r,sslPolicies:k,targetGroups:D}),(0,$.jsx)(le,{description:b?`Delete listener ${b.Protocol}:${b.Port}? This cannot be undone.`:``,isPending:u.isPending,onConfirm:async()=>{if(b?.ListenerArn)try{await u.mutateAsync(b.ListenerArn)}finally{x(void 0)}},onOpenChange:e=>!e&&x(void 0),open:b!==void 0,title:`Delete listener`})]})}function tt(e){let t=(0,we.c)(37),{open:n,onOpenChange:r,lbType:i,protocols:a,targetGroups:o,certificates:s,sslPolicies:c,isPending:l,onSubmit:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=U(pe),t[0]=d):d=t[0];let f;t[1]===i?f=t[2]:(f=Ze(i),t[1]=i,t[2]=f);let p;t[3]===f?p=t[4]:(p={resolver:d,defaultValues:f},t[3]=f,t[4]=p);let m=H(p),h;t[5]!==m||t[6]!==u?(h=m.handleSubmit(u),t[5]=m,t[6]=u,t[7]=h):h=t[7];let g=h,_;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[8]=_):_=t[8];let v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsxs)(se,{children:[(0,$.jsx)(re,{children:`Add listener`}),(0,$.jsx)(J,{children:`Listeners forward incoming traffic to a default target group.`})]}),t[9]=v):v=t[9];let y;t[10]===g?y=t[11]:(y=e=>{e.preventDefault(),g()},t[10]=g,t[11]=y);let b;t[12]!==s||t[13]!==m||t[14]!==a||t[15]!==c||t[16]!==o?(b=(0,$.jsx)(Ae,{certificates:s,form:m,protocols:a,sslPolicies:c,targetGroups:o}),t[12]=s,t[13]=m,t[14]=a,t[15]=c,t[16]=o,t[17]=b):b=t[17];let x;t[18]!==y||t[19]!==b?(x=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:y,children:b}),t[18]=y,t[19]=b,t[20]=x):x=t[20];let S;t[21]===l?S=t[22]:(S=(0,$.jsx)(oe,{disabled:l,children:`Cancel`}),t[21]=l,t[22]=S);let C=l?`Adding…`:`Add listener`,w;t[23]!==g||t[24]!==l||t[25]!==C?(w=(0,$.jsx)(ie,{disabled:l,onClick:g,children:C}),t[23]=g,t[24]=l,t[25]=C,t[26]=w):w=t[26];let T;t[27]!==S||t[28]!==w?(T=(0,$.jsxs)(ae,{children:[S,w]}),t[27]=S,t[28]=w,t[29]=T):T=t[29];let E;t[30]!==T||t[31]!==x?(E=(0,$.jsxs)(Y,{className:`grid-cols-[minmax(0,1fr)]`,style:_,children:[v,x,T]}),t[30]=T,t[31]=x,t[32]=E):E=t[32];let D;return t[33]!==r||t[34]!==n||t[35]!==E?(D=(0,$.jsx)(ce,{onOpenChange:r,open:n,children:E}),t[33]=r,t[34]=n,t[35]=E,t[36]=D):D=t[36],D}function nt(e){let t=(0,we.c)(39),{listener:n,onOpenChange:r,protocols:i,targetGroups:a,certificates:o,sslPolicies:s,isPending:c,onSubmit:l}=e,u=n!==void 0,d,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=U(pe),f={protocol:`HTTP`,port:80,defaultTargetGroupArn:``},t[0]=d,t[1]=f):(d=t[0],f=t[1]);let p;t[2]!==n||t[3]!==i?(p=n?Qe(n,i):void 0,t[2]=n,t[3]=i,t[4]=p):p=t[4];let m;t[5]===p?m=t[6]:(m={resolver:d,defaultValues:f,values:p},t[5]=p,t[6]=m);let h=H(m),g;t[7]!==h||t[8]!==l?(g=h.handleSubmit(l),t[7]=h,t[8]=l,t[9]=g):g=t[9];let _=g,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[10]=v):v=t[10];let y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(se,{children:[(0,$.jsx)(re,{children:`Edit listener`}),(0,$.jsx)(J,{children:`Update port, protocol, or default target group. Changes apply without dropping the listener.`})]}),t[11]=y):y=t[11];let b;t[12]===_?b=t[13]:(b=e=>{e.preventDefault(),_()},t[12]=_,t[13]=b);let x;t[14]!==o||t[15]!==h||t[16]!==i||t[17]!==s||t[18]!==a?(x=(0,$.jsx)(Ae,{certificates:o,form:h,protocols:i,sslPolicies:s,targetGroups:a}),t[14]=o,t[15]=h,t[16]=i,t[17]=s,t[18]=a,t[19]=x):x=t[19];let S;t[20]!==b||t[21]!==x?(S=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:b,children:x}),t[20]=b,t[21]=x,t[22]=S):S=t[22];let C;t[23]===c?C=t[24]:(C=(0,$.jsx)(oe,{disabled:c,children:`Cancel`}),t[23]=c,t[24]=C);let w=c?`Saving…`:`Save changes`,T;t[25]!==_||t[26]!==c||t[27]!==w?(T=(0,$.jsx)(ie,{disabled:c,onClick:_,children:w}),t[25]=_,t[26]=c,t[27]=w,t[28]=T):T=t[28];let E;t[29]!==C||t[30]!==T?(E=(0,$.jsxs)(ae,{children:[C,T]}),t[29]=C,t[30]=T,t[31]=E):E=t[31];let D;t[32]!==S||t[33]!==E?(D=(0,$.jsxs)(Y,{className:`grid-cols-[minmax(0,1fr)]`,style:v,children:[y,S,E]}),t[32]=S,t[33]=E,t[34]=D):D=t[34];let O;return t[35]!==r||t[36]!==u||t[37]!==D?(O=(0,$.jsx)(ce,{onOpenChange:r,open:u,children:D}),t[35]=r,t[36]=u,t[37]=D,t[38]=O):O=t[38],O}function rt(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function it(e){let t=(0,we.c)(48),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=rt(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]===u?b=t[9]:(b=new Set(u),t[8]=u,t[9]=b);let x=b,S;t[10]!==v||t[11]!==y||t[12]!==i||t[13]!==u?(S=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[10]=v,t[11]=y,t[12]=i,t[13]=u,t[14]=S):S=t[14];let C;t[15]===o?C=t[16]:(C=o&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:o.message||`Failed to update security groups`}),t[15]=o,t[16]=C);let w;t[17]!==v||t[18]!==s?(w=s&&!v&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-emerald-500 bg-emerald-500/10 p-3 text-sm text-emerald-700 dark:text-emerald-400`,role:`status`,children:`Security groups updated.`}),t[17]=v,t[18]=s,t[19]=w):w=t[19];let T;t[20]!==n||t[21]!==x?(T=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No security groups in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:x.has(e.GroupId??``),onChange:()=>p(e.GroupId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId)),t[20]=n,t[21]=x,t[22]=T):T=t[22];let E;t[23]===y?E=t[24]:(E=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one security group is required.`}),t[23]=y,t[24]=E);let D;t[25]!==E||t[26]!==T?(D=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[T,E]}),t[25]=E,t[26]=T,t[27]=D):D=t[27];let O=v?`Unsaved changes`:`No changes`,k;t[28]===O?k=t[29]:(k=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:O}),t[28]=O,t[29]=k);let A=a||!v,j;t[30]!==h||t[31]!==A?(j=(0,$.jsx)(g,{disabled:A,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[30]=h,t[31]=A,t[32]=j):j=t[32];let M=a||!v||y,N=a?`Saving…`:`Save changes`,P;t[33]!==M||t[34]!==N?(P=(0,$.jsx)(g,{disabled:M,size:`sm`,type:`submit`,children:N}),t[33]=M,t[34]=N,t[35]=P):P=t[35];let F;t[36]!==k||t[37]!==j||t[38]!==P?(F=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[k,j,P]}),t[36]=k,t[37]=j,t[38]=P,t[39]=F):F=t[39];let I;t[40]!==D||t[41]!==F?(I=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[D,F]}),t[40]=D,t[41]=F,t[42]=I):I=t[42];let L;return t[43]!==I||t[44]!==S||t[45]!==C||t[46]!==w?(L=(0,$.jsxs)(`form`,{onSubmit:S,children:[C,w,I]}),t[43]=I,t[44]=S,t[45]=C,t[46]=w,t[47]=L):L=t[47],L}function at(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function ot(e){let t=s(e.Tags),n=e.AvailabilityZone?` · ${e.AvailabilityZone}`:``,r=e.CidrBlock?` (${e.CidrBlock})`:``;return`${e.SubnetId}${t?` — ${t}`:``}${r}${n}`}function st(e){let t=(0,we.c)(49),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=at(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]===u?b=t[9]:(b=new Set(u),t[8]=u,t[9]=b);let x=b,S;t[10]!==v||t[11]!==y||t[12]!==i||t[13]!==u?(S=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[10]=v,t[11]=y,t[12]=i,t[13]=u,t[14]=S):S=t[14];let C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-amber-500 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-400`,role:`note`,children:`Applying a subnet change re-homes the load balancer by relaunching its underlying system VM. Expect a brief data-plane interruption while it restarts.`}),t[15]=C):C=t[15];let w;t[16]===o?w=t[17]:(w=o&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:o.message||`Failed to update subnets`}),t[16]=o,t[17]=w);let T;t[18]!==v||t[19]!==s?(T=s&&!v&&(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-emerald-500 bg-emerald-500/10 p-3 text-sm text-emerald-700 dark:text-emerald-400`,role:`status`,children:`Subnets updated.`}),t[18]=v,t[19]=s,t[20]=T):T=t[20];let E;t[21]!==n||t[22]!==x?(E=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnets in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:x.has(e.SubnetId??``),onChange:()=>p(e.SubnetId??``),type:`checkbox`}),(0,$.jsx)(`span`,{className:`font-mono`,children:ot(e)})]},e.SubnetId)),t[21]=n,t[22]=x,t[23]=E):E=t[23];let D;t[24]===y?D=t[25]:(D=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one subnet is required.`}),t[24]=y,t[25]=D);let O;t[26]!==E||t[27]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[E,D]}),t[26]=E,t[27]=D,t[28]=O):O=t[28];let k=v?`Unsaved changes`:`No changes`,A;t[29]===k?A=t[30]:(A=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:k}),t[29]=k,t[30]=A);let j=a||!v,M;t[31]!==h||t[32]!==j?(M=(0,$.jsx)(g,{disabled:j,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[31]=h,t[32]=j,t[33]=M):M=t[33];let N=a||!v||y,P=a?`Saving…`:`Save changes`,F;t[34]!==N||t[35]!==P?(F=(0,$.jsx)(g,{disabled:N,size:`sm`,type:`submit`,children:P}),t[34]=N,t[35]=P,t[36]=F):F=t[36];let I;t[37]!==A||t[38]!==M||t[39]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[A,M,F]}),t[37]=A,t[38]=M,t[39]=F,t[40]=I):I=t[40];let L;t[41]!==O||t[42]!==I?(L=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[O,I]}),t[41]=O,t[42]=I,t[43]=L):L=t[43];let R;return t[44]!==L||t[45]!==S||t[46]!==w||t[47]!==T?(R=(0,$.jsxs)(`form`,{onSubmit:S,children:[C,w,T,L]}),t[44]=L,t[45]=S,t[46]=w,t[47]=T,t[48]=R):R=t[48],R}function ct({arn:e}){let t=a(),{data:n}=i(N(e)),{data:r}=i(I(e)),{data:l}=i(L([e])),{data:u}=i(b),{data:d}=i(x),f=O(),p=w(),m=S(),_=D(),v=E(),[y,C]=(0,Q.useState)(!1),T=n.LoadBalancers?.[0];if(!T?.LoadBalancerArn)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`Load balancer not found.`})]});let k=async()=>{try{await f.mutateAsync(e),t({to:`/ec2/describe-load-balancers`})}finally{C(!1)}},A=u.Subnets??[],j=e=>{let t=A.find(t=>t.SubnetId===e);if(!t)return e;let n=s(t.Tags),r=t.CidrBlock?` (${t.CidrBlock})`:``;return n?`${e} — ${n}${r}`:`${e}${r}`},M=r.Attributes??[],P=l?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[],F=(T.SecurityGroups??[]).filter(e=>e!==void 0),R=(d.SecurityGroups??[]).filter(e=>e.VpcId===T.VpcId),z=A.filter(e=>e.VpcId===T.VpcId),B=(T.AvailabilityZones??[]).map(e=>e.SubnetId).filter(e=>e!==void 0),V=T.Type===`network`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),f.error&&(0,$.jsx)(W,{error:f.error,msg:`Failed to delete load balancer`}),(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsx)(G,{actions:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(g,{onClick:()=>C(!0),size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),(0,$.jsx)(ue,{state:T.State?.Code})]}),subtitle:`Load Balancer Details`,title:T.LoadBalancerName??T.LoadBalancerArn}),(0,$.jsxs)(Ce,{defaultValue:`overview`,children:[(0,$.jsxs)(xe,{children:[(0,$.jsx)(be,{value:`overview`,children:`Overview`}),(0,$.jsx)(be,{value:`listeners`,children:`Listeners`}),(0,$.jsx)(be,{value:`subnets`,children:`Subnets`}),!V&&(0,$.jsx)(be,{value:`security-groups`,children:`Security groups`}),(0,$.jsx)(be,{value:`attributes`,children:`Attributes`}),(0,$.jsx)(be,{value:`tags`,children:`Tags`})]}),(0,$.jsxs)(Se,{value:`overview`,children:[(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Load balancer`}),(0,$.jsxs)(X.Content,{children:[(0,$.jsx)(Z,{label:`ARN`,value:T.LoadBalancerArn}),(0,$.jsx)(Z,{label:`DNS name`,value:T.DNSName}),(0,$.jsx)(Z,{label:`State`,value:T.State?.Reason?`${T.State.Code} — ${T.State.Reason}`:T.State?.Code}),(0,$.jsx)(Z,{label:`Type`,value:T.Type}),(0,$.jsx)(Z,{label:`Scheme`,value:T.Scheme}),(0,$.jsx)(Z,{label:`IP address type`,value:T.IpAddressType}),(0,$.jsx)(Z,{label:`VPC`,value:T.VpcId}),(0,$.jsx)(Z,{label:`Created at`,value:o(T.CreatedTime)})]})]}),(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Availability zones`}),(0,$.jsx)(X.Content,{children:(T.AvailabilityZones??[]).map(e=>(0,$.jsx)(Z,{label:e.ZoneName??`—`,value:e.SubnetId?j(e.SubnetId):void 0},`${e.ZoneName}-${e.SubnetId}`))})]}),(T.SecurityGroups??[]).length>0&&(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Security groups`}),(0,$.jsx)(X.Content,{children:(T.SecurityGroups??[]).map(e=>(0,$.jsx)(Z,{label:`Security group`,value:e},e))})]})]}),(0,$.jsx)(Se,{value:`listeners`,children:(0,$.jsx)(et,{lbType:V?`network`:`application`,loadBalancerArn:e,vpcId:T.VpcId})}),(0,$.jsx)(Se,{value:`subnets`,children:(0,$.jsx)(st,{available:z,current:B,error:v.error,isPending:v.isPending,isSuccess:v.isSuccess,onSubmit:t=>v.mutate({loadBalancerArn:e,subnetIds:t})})}),!V&&(0,$.jsx)(Se,{value:`security-groups`,children:(0,$.jsx)(it,{available:R,current:F,error:_.error,isPending:_.isPending,isSuccess:_.isSuccess,onSubmit:t=>_.mutate({loadBalancerArn:e,securityGroupIds:t})})}),(0,$.jsx)(Se,{value:`attributes`,children:(0,$.jsx)(ve,{attributes:M,error:p.error,isPending:p.isPending,isSuccess:p.isSuccess,onSubmit:t=>{p.mutate({loadBalancerArn:e,attributes:t})},specs:_e})}),(0,$.jsx)(Se,{value:`tags`,children:(0,$.jsx)(ye,{error:m.error,isPending:m.isPending,isSuccess:m.isSuccess,onSubmit:t=>m.mutate({resourceArn:e,tags:t,initialKeys:P.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:P})})]})]}),(0,$.jsx)(le,{description:`Are you sure you want to delete load balancer "${T.LoadBalancerName??T.LoadBalancerArn}"? This action cannot be undone.`,isPending:f.isPending,onConfirm:k,onOpenChange:C,open:y,title:`Delete load balancer`})]})}function lt(){let e=(0,we.c)(2),{id:t}=B.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,$.jsx)(ct,{arn:n}),e[0]=n,e[1]=r),r}export{lt as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id29.js b/spinifex/services/spinifexui/frontend/dist/assets/_id29.js index ccf1d0367..cf06a27b4 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id29.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id29.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{g as u}from"./ec2.js";import{j as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id10.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),x=d(),[S,C]=(0,y.useState)(!1),w=n.NatGateways?.[0],T=async()=>{try{await x.mutateAsync(e),t({to:`/ec2/describe-nat-gateways`})}finally{C(!1)}};if(!w?.NatGatewayId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`NAT Gateway not found.`})]});let E=o(w.Tags),D=w.NatGatewayAddresses?.[0];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),x.error&&(0,b.jsx)(f,{error:x.error,msg:`Failed to delete NAT Gateway`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{disabled:x.isPending,onClick:()=>C(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:w.State})]}),subtitle:`NAT Gateway Details`,title:E?`${w.NatGatewayId} (${E})`:w.NatGatewayId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`NAT Gateway Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`NAT Gateway ID`,value:w.NatGatewayId}),(0,b.jsx)(_,{label:`State`,value:w.State}),(0,b.jsx)(_,{label:`Connectivity`,value:w.ConnectivityType}),(0,b.jsx)(_,{label:`Subnet ID`,value:w.SubnetId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.SubnetId},to:`/ec2/describe-subnets/$id`,children:w.SubnetId}):`—`}),(0,b.jsx)(_,{label:`VPC ID`,value:w.VpcId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.VpcId},to:`/ec2/describe-vpcs/$id`,children:w.VpcId}):`—`}),(0,b.jsx)(_,{label:`Public IP`,value:D?.PublicIp??`—`}),(0,b.jsx)(_,{label:`Allocation ID`,value:D?.AllocationId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:D.AllocationId},to:`/ec2/describe-addresses/$id`,children:D.AllocationId}):`—`})]})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the NAT Gateway "${w.NatGatewayId}"? This action cannot be undone. The associated Elastic IP is not released.`,isPending:x.isPending,onConfirm:T,onOpenChange:C,open:S,title:`Delete NAT Gateway`})]})}export{x as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{g as u}from"./ec2.js";import{j as d}from"./ec22.js";import{t as f}from"./_id10.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=f.useParams(),t=a(),{data:n}=r(u(e)),x=d(),[S,C]=(0,y.useState)(!1),w=n.NatGateways?.[0],T=async()=>{try{await x.mutateAsync(e),t({to:`/ec2/describe-nat-gateways`})}finally{C(!1)}};if(!w?.NatGatewayId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`NAT Gateway not found.`})]});let E=o(w.Tags),D=w.NatGatewayAddresses?.[0];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),x.error&&(0,b.jsx)(p,{error:x.error,msg:`Failed to delete NAT Gateway`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{disabled:x.isPending,onClick:()=>C(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:w.State})]}),subtitle:`NAT Gateway Details`,title:E?`${w.NatGatewayId} (${E})`:w.NatGatewayId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`NAT Gateway Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`NAT Gateway ID`,value:w.NatGatewayId}),(0,b.jsx)(_,{label:`State`,value:w.State}),(0,b.jsx)(_,{label:`Connectivity`,value:w.ConnectivityType}),(0,b.jsx)(_,{label:`Subnet ID`,value:w.SubnetId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.SubnetId},to:`/ec2/describe-subnets/$id`,children:w.SubnetId}):`—`}),(0,b.jsx)(_,{label:`VPC ID`,value:w.VpcId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.VpcId},to:`/ec2/describe-vpcs/$id`,children:w.VpcId}):`—`}),(0,b.jsx)(_,{label:`Public IP`,value:D?.PublicIp??`—`}),(0,b.jsx)(_,{label:`Allocation ID`,value:D?.AllocationId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:D.AllocationId},to:`/ec2/describe-addresses/$id`,children:D.AllocationId}):`—`})]})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the NAT Gateway "${w.NatGatewayId}"? This action cannot be undone. The associated Elastic IP is not released.`,isPending:x.isPending,onConfirm:T,onOpenChange:C,open:S,title:`Delete NAT Gateway`})]})}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id3.js b/spinifex/services/spinifexui/frontend/dist/assets/_id3.js index e0767951f..d6cc376f7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id3.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id22.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,t as i}from"./ec2.js";var a=e(`/_auth/ec2/(elastic-ips)/describe-addresses/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Elastic IP | Mulga`}]}),component:t(()=>n(()=>import(`./_id22.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id22.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,t as i}from"./ec2.js";var a=e(`/_auth/ec2/(elastic-ips)/describe-addresses/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Elastic IP | Mulga`}]}),component:t(()=>n(()=>import(`./_id22.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id30.js b/spinifex/services/spinifexui/frontend/dist/assets/_id30.js index 035097236..329a86d26 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id30.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id30.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{l,v as u}from"./ec2.js";import{M as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id11.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),{data:x}=r(l),S=d(),[C,w]=(0,y.useState)(!1),T=n.PlacementGroups?.[0],E=x.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.Placement?.GroupName===T?.GroupName)??[];return T?.GroupId?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),S.error&&(0,b.jsx)(f,{error:S.error,msg:`Failed to delete placement group`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(c,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(s,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:T.State})]}),subtitle:`Placement Group Details`,title:T.GroupName??T.GroupId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Placement Group Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Group ID`,value:T.GroupId}),(0,b.jsx)(_,{label:`Group Name`,value:T.GroupName}),(0,b.jsx)(_,{label:`Strategy`,value:T.Strategy}),(0,b.jsx)(_,{label:`State`,value:T.State}),(0,b.jsx)(_,{label:`Spread Level`,value:T.SpreadLevel})]})]}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Instances`}),E.length>0?E.map(e=>(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Instance ID`,value:e.InstanceId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,b.jsx)(_,{label:`State`,value:e.State?.Name}),(0,b.jsx)(_,{label:`Instance Type`,value:e.InstanceType}),(0,b.jsx)(_,{label:`Availability Zone`,value:e.Placement?.AvailabilityZone})]},e.InstanceId)):(0,b.jsx)(g.Content,{children:(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`No instances in this placement group.`})})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the placement group "${T.GroupName}"? The group must have no running instances.`,isPending:S.isPending,onConfirm:async()=>{if(T?.GroupName)try{await S.mutateAsync(T.GroupName),t({to:`/ec2/describe-placement-groups`})}finally{w(!1)}},onOpenChange:w,open:C,title:`Delete Placement Group`})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Placement group not found.`})]})}export{x as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{l,v as u}from"./ec2.js";import{M as d}from"./ec22.js";import{t as f}from"./_id11.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=f.useParams(),t=a(),{data:n}=r(u(e)),{data:x}=r(l),S=d(),[C,w]=(0,y.useState)(!1),T=n.PlacementGroups?.[0],E=x.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.Placement?.GroupName===T?.GroupName)??[];return T?.GroupId?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),S.error&&(0,b.jsx)(p,{error:S.error,msg:`Failed to delete placement group`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(c,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(s,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:T.State})]}),subtitle:`Placement Group Details`,title:T.GroupName??T.GroupId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Placement Group Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Group ID`,value:T.GroupId}),(0,b.jsx)(_,{label:`Group Name`,value:T.GroupName}),(0,b.jsx)(_,{label:`Strategy`,value:T.Strategy}),(0,b.jsx)(_,{label:`State`,value:T.State}),(0,b.jsx)(_,{label:`Spread Level`,value:T.SpreadLevel})]})]}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Instances`}),E.length>0?E.map(e=>(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Instance ID`,value:e.InstanceId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,b.jsx)(_,{label:`State`,value:e.State?.Name}),(0,b.jsx)(_,{label:`Instance Type`,value:e.InstanceType}),(0,b.jsx)(_,{label:`Availability Zone`,value:e.Placement?.AvailabilityZone})]},e.InstanceId)):(0,b.jsx)(g.Content,{children:(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`No instances in this placement group.`})})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the placement group "${T.GroupName}"? The group must have no running instances.`,isPending:S.isPending,onConfirm:async()=>{if(T?.GroupName)try{await S.mutateAsync(T.GroupName),t({to:`/ec2/describe-placement-groups`})}finally{w(!1)}},onOpenChange:w,open:C,title:`Delete Placement Group`})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Placement group not found.`})]})}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id31.js b/spinifex/services/spinifexui/frontend/dist/assets/_id31.js index bd5df5558..142c92779 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id31.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id31.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as ee}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{a as h,r as g,t as _}from"./field.js";import{O as v,_ as y,d as b,x}from"./ec2.js";import{G as S,N as C,P as w,a as te,y as ne}from"./ec22.js";import{a as re,i as T,n as E,t as D}from"./zod.js";import{t as O}from"./error-banner.js";import{t as k}from"./page-heading.js";import{d as ie,r as A}from"./ec23.js";import{t as ae}from"./_id12.js";import{t as oe}from"./delete-confirmation-dialog.js";import{n as j,t as M}from"./detail-row.js";import{t as se}from"./badge.js";var N=e(n()),P=t();function F(e){return e.GatewayId??e.NatGatewayId??e.NetworkInterfaceId??e.InstanceId??e.VpcPeeringConnectionId??`—`}function I(){let{id:e}=ae.useParams(),t=ee(),{data:n}=r(x(e)),{data:I}=r(b),{data:L}=r(y),{data:R}=r(v),z=w(),B=ne(),V=C(),H=te(),U=S(),[W,G]=(0,N.useState)(!1),K=n.RouteTables?.[0],q=T({resolver:D(ie),defaultValues:{destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``}}),ce=re({control:q.control,name:`targetType`}),J=T({resolver:D(A),defaultValues:{subnetId:``}});if(!K?.RouteTableId)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`Route Table not found.`})]});let Y=K.RouteTableId,X=a(K.Tags),Z=K.Associations?.some(e=>e.Main)??!1,Q=K.Routes??[],$=(K.Associations??[]).filter(e=>e.SubnetId),le=(I.InternetGateways??[]).filter(e=>e.Attachments?.some(e=>e.VpcId===K.VpcId)),ue=(L.NatGateways??[]).filter(e=>e.VpcId===K.VpcId&&e.State===`available`),de=new Set($.map(e=>e.SubnetId)),fe=(R.Subnets??[]).filter(e=>e.VpcId===K.VpcId&&!de.has(e.SubnetId)),pe=async()=>{try{await z.mutateAsync(Y),t({to:`/ec2/describe-route-tables`})}finally{G(!1)}},me=async e=>{await B.mutateAsync({routeTableId:Y,destinationCidrBlock:e.destinationCidrBlock,gatewayId:e.targetType===`igw`?e.targetId:void 0,natGatewayId:e.targetType===`nat`?e.targetId:void 0}),q.reset({destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``})},he=async e=>{await H.mutateAsync({routeTableId:Y,subnetId:e.subnetId}),J.reset({subnetId:``})};return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),z.error&&(0,P.jsx)(O,{error:z.error,msg:`Failed to delete Route Table`}),(0,P.jsxs)(`div`,{className:`space-y-6`,children:[(0,P.jsx)(k,{actions:(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(p,{disabled:Z||z.isPending,onClick:()=>G(!0),size:`sm`,variant:`destructive`,children:[(0,P.jsx)(f,{className:`size-4`}),`Delete`]}),Z&&(0,P.jsx)(se,{variant:`secondary`,children:`Main`})]}),subtitle:`Route Table Details`,title:X?`${K.RouteTableId} (${X})`:K.RouteTableId}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Route Table Information`}),(0,P.jsxs)(j.Content,{children:[(0,P.jsx)(M,{label:`Route Table ID`,value:K.RouteTableId}),(0,P.jsx)(M,{label:`Main`,value:Z?`Yes`:`No`}),(0,P.jsx)(M,{label:`VPC ID`,value:K.VpcId?(0,P.jsx)(i,{className:`text-primary hover:underline`,params:{id:K.VpcId},to:`/ec2/describe-vpcs/$id`,children:K.VpcId}):`—`}),(0,P.jsx)(M,{label:`Owner ID`,value:K.OwnerId??`—`})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Routes`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,P.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,P.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,P.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Destination`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Target`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Status`}),(0,P.jsx)(`th`,{className:`p-2`,children:(0,P.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,P.jsx)(`tbody`,{children:Q.length>0?Q.map(e=>{let t=e.DestinationCidrBlock??e.DestinationPrefixListId??`—`,n=e.GatewayId===`local`,r=e.DestinationCidrBlock;return(0,P.jsxs)(`tr`,{className:`border-t`,children:[(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:t}),(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:F(e)}),(0,P.jsx)(`td`,{className:`p-2`,children:e.State??`—`}),(0,P.jsx)(`td`,{className:`p-2 text-right`,children:!n&&r&&(0,P.jsx)(p,{disabled:V.isPending,onClick:async()=>await V.mutateAsync({routeTableId:Y,destinationCidrBlock:r}),size:`sm`,variant:`ghost`,children:(0,P.jsx)(f,{className:`size-4`})})})]},t)}):(0,P.jsx)(`tr`,{children:(0,P.jsx)(`td`,{className:`p-2 text-muted-foreground`,colSpan:4,children:`No routes.`})})})]})}),(B.error??V.error)&&(0,P.jsx)(O,{error:B.error??V.error??void 0,msg:`Failed to update route`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_1fr_1fr_auto]`,onSubmit:q.handleSubmit(me),children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`destinationCidrBlock`,children:`Destination`})}),(0,P.jsx)(m,{id:`destinationCidrBlock`,placeholder:`0.0.0.0/0`,...q.register(`destinationCidrBlock`)}),(0,P.jsx)(g,{errors:[q.formState.errors.destinationCidrBlock]})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`targetType`,children:`Target type`})}),(0,P.jsx)(E,{control:q.control,name:`targetType`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>{e.onChange(t),q.setValue(`targetId`,``)},value:e.value,children:[(0,P.jsx)(u,{className:`w-full`,id:`targetType`,children:(0,P.jsx)(s,{})}),(0,P.jsxs)(l,{children:[(0,P.jsx)(c,{value:`igw`,children:`Internet Gateway`}),(0,P.jsx)(c,{value:`nat`,children:`NAT Gateway`})]})]})})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`targetId`,children:`Target`})}),(0,P.jsx)(E,{control:q.control,name:`targetId`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(u,{"aria-invalid":!!q.formState.errors.targetId,className:`w-full`,id:`targetId`,children:(0,P.jsx)(s,{placeholder:`Select target`})}),(0,P.jsx)(l,{children:ce===`igw`?le.map(e=>(0,P.jsx)(c,{value:e.InternetGatewayId??``,children:e.InternetGatewayId},e.InternetGatewayId)):ue.map(e=>(0,P.jsx)(c,{value:e.NatGatewayId??``,children:e.NatGatewayId},e.NatGatewayId))})]})}),(0,P.jsx)(g,{errors:[q.formState.errors.targetId]})]}),(0,P.jsx)(p,{disabled:B.isPending,size:`sm`,type:`submit`,children:`Add route`})]})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Subnet Associations`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$.length>0?(0,P.jsx)(`ul`,{className:`space-y-2`,children:$.map(e=>{let t=e.RouteTableAssociationId;return(0,P.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border p-2 text-sm`,children:[(0,P.jsx)(i,{className:`font-mono text-primary hover:underline`,params:{id:e.SubnetId??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetId}),(0,P.jsx)(p,{disabled:!t||U.isPending,onClick:async()=>{t&&await U.mutateAsync(t)},size:`sm`,variant:`ghost`,children:(0,P.jsx)(f,{className:`size-4`})})]},t)})}):(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnet associations.`}),(H.error??U.error)&&(0,P.jsx)(O,{error:H.error??U.error??void 0,msg:`Failed to update association`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_auto]`,onSubmit:J.handleSubmit(he),children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`subnetId`,children:`Associate subnet`})}),(0,P.jsx)(E,{control:J.control,name:`subnetId`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(u,{"aria-invalid":!!J.formState.errors.subnetId,className:`w-full`,id:`subnetId`,children:(0,P.jsx)(s,{placeholder:`Select a subnet`})}),(0,P.jsx)(l,{children:fe.map(e=>{let t=a(e.Tags);return(0,P.jsx)(c,{value:e.SubnetId??``,children:t?`${e.SubnetId} (${t})`:`${e.SubnetId} (${e.CidrBlock})`},e.SubnetId)})})]})}),(0,P.jsx)(g,{errors:[J.formState.errors.subnetId]})]}),(0,P.jsx)(p,{disabled:H.isPending,size:`sm`,type:`submit`,children:`Associate`})]})]})]})]}),(0,P.jsx)(oe,{description:`Are you sure you want to delete the Route Table "${K.RouteTableId}"? This action cannot be undone.`,isPending:z.isPending,onConfirm:pe,onOpenChange:G,open:W,title:`Delete Route Table`})]})}export{I as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./trash-2.js";import{t as m}from"./button.js";import{t as h}from"./input.js";import{O as g,_ as ee,d as te,x as _}from"./ec2.js";import{G as v,N as y,P as b,a as x,y as S}from"./ec22.js";import{t as C}from"./_id12.js";import{a as ne,i as w,n as T,t as E}from"./zod.js";import{t as D}from"./error-banner.js";import{t as re}from"./page-heading.js";import{a as O,r as k,t as A}from"./field.js";import{d as ie,r as ae}from"./ec23.js";import{t as oe}from"./delete-confirmation-dialog.js";import{n as j,t as M}from"./detail-row.js";import{t as se}from"./badge.js";var N=e(n()),P=t();function F(e){return e.GatewayId??e.NatGatewayId??e.NetworkInterfaceId??e.InstanceId??e.VpcPeeringConnectionId??`—`}function I(){let{id:e}=C.useParams(),t=a(),{data:n}=r(_(e)),{data:I}=r(te),{data:L}=r(ee),{data:R}=r(g),z=b(),B=S(),V=y(),H=x(),U=v(),[W,G]=(0,N.useState)(!1),K=n.RouteTables?.[0],q=w({resolver:E(ie),defaultValues:{destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``}}),ce=ne({control:q.control,name:`targetType`}),J=w({resolver:E(ae),defaultValues:{subnetId:``}});if(!K?.RouteTableId)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(s,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`Route Table not found.`})]});let Y=K.RouteTableId,X=o(K.Tags),Z=K.Associations?.some(e=>e.Main)??!1,Q=K.Routes??[],$=(K.Associations??[]).filter(e=>e.SubnetId),le=(I.InternetGateways??[]).filter(e=>e.Attachments?.some(e=>e.VpcId===K.VpcId)),ue=(L.NatGateways??[]).filter(e=>e.VpcId===K.VpcId&&e.State===`available`),de=new Set($.map(e=>e.SubnetId)),fe=(R.Subnets??[]).filter(e=>e.VpcId===K.VpcId&&!de.has(e.SubnetId)),pe=async()=>{try{await z.mutateAsync(Y),t({to:`/ec2/describe-route-tables`})}finally{G(!1)}},me=async e=>{await B.mutateAsync({routeTableId:Y,destinationCidrBlock:e.destinationCidrBlock,gatewayId:e.targetType===`igw`?e.targetId:void 0,natGatewayId:e.targetType===`nat`?e.targetId:void 0}),q.reset({destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``})},he=async e=>{await H.mutateAsync({routeTableId:Y,subnetId:e.subnetId}),J.reset({subnetId:``})};return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(s,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),z.error&&(0,P.jsx)(D,{error:z.error,msg:`Failed to delete Route Table`}),(0,P.jsxs)(`div`,{className:`space-y-6`,children:[(0,P.jsx)(re,{actions:(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(m,{disabled:Z||z.isPending,onClick:()=>G(!0),size:`sm`,variant:`destructive`,children:[(0,P.jsx)(p,{className:`size-4`}),`Delete`]}),Z&&(0,P.jsx)(se,{variant:`secondary`,children:`Main`})]}),subtitle:`Route Table Details`,title:X?`${K.RouteTableId} (${X})`:K.RouteTableId}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Route Table Information`}),(0,P.jsxs)(j.Content,{children:[(0,P.jsx)(M,{label:`Route Table ID`,value:K.RouteTableId}),(0,P.jsx)(M,{label:`Main`,value:Z?`Yes`:`No`}),(0,P.jsx)(M,{label:`VPC ID`,value:K.VpcId?(0,P.jsx)(i,{className:`text-primary hover:underline`,params:{id:K.VpcId},to:`/ec2/describe-vpcs/$id`,children:K.VpcId}):`—`}),(0,P.jsx)(M,{label:`Owner ID`,value:K.OwnerId??`—`})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Routes`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,P.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,P.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,P.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Destination`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Target`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Status`}),(0,P.jsx)(`th`,{className:`p-2`,children:(0,P.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,P.jsx)(`tbody`,{children:Q.length>0?Q.map(e=>{let t=e.DestinationCidrBlock??e.DestinationPrefixListId??`—`,n=e.GatewayId===`local`,r=e.DestinationCidrBlock;return(0,P.jsxs)(`tr`,{className:`border-t`,children:[(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:t}),(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:F(e)}),(0,P.jsx)(`td`,{className:`p-2`,children:e.State??`—`}),(0,P.jsx)(`td`,{className:`p-2 text-right`,children:!n&&r&&(0,P.jsx)(m,{disabled:V.isPending,onClick:async()=>await V.mutateAsync({routeTableId:Y,destinationCidrBlock:r}),size:`sm`,variant:`ghost`,children:(0,P.jsx)(p,{className:`size-4`})})})]},t)}):(0,P.jsx)(`tr`,{children:(0,P.jsx)(`td`,{className:`p-2 text-muted-foreground`,colSpan:4,children:`No routes.`})})})]})}),(B.error??V.error)&&(0,P.jsx)(D,{error:B.error??V.error??void 0,msg:`Failed to update route`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_1fr_1fr_auto]`,onSubmit:q.handleSubmit(me),children:[(0,P.jsxs)(A,{children:[(0,P.jsx)(O,{children:(0,P.jsx)(`label`,{htmlFor:`destinationCidrBlock`,children:`Destination`})}),(0,P.jsx)(h,{id:`destinationCidrBlock`,placeholder:`0.0.0.0/0`,...q.register(`destinationCidrBlock`)}),(0,P.jsx)(k,{errors:[q.formState.errors.destinationCidrBlock]})]}),(0,P.jsxs)(A,{children:[(0,P.jsx)(O,{children:(0,P.jsx)(`label`,{htmlFor:`targetType`,children:`Target type`})}),(0,P.jsx)(T,{control:q.control,name:`targetType`,render:({field:e})=>(0,P.jsxs)(f,{onValueChange:t=>{e.onChange(t),q.setValue(`targetId`,``)},value:e.value,children:[(0,P.jsx)(d,{className:`w-full`,id:`targetType`,children:(0,P.jsx)(c,{})}),(0,P.jsxs)(u,{children:[(0,P.jsx)(l,{value:`igw`,children:`Internet Gateway`}),(0,P.jsx)(l,{value:`nat`,children:`NAT Gateway`})]})]})})]}),(0,P.jsxs)(A,{children:[(0,P.jsx)(O,{children:(0,P.jsx)(`label`,{htmlFor:`targetId`,children:`Target`})}),(0,P.jsx)(T,{control:q.control,name:`targetId`,render:({field:e})=>(0,P.jsxs)(f,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(d,{"aria-invalid":!!q.formState.errors.targetId,className:`w-full`,id:`targetId`,children:(0,P.jsx)(c,{placeholder:`Select target`})}),(0,P.jsx)(u,{children:ce===`igw`?le.map(e=>(0,P.jsx)(l,{value:e.InternetGatewayId??``,children:e.InternetGatewayId},e.InternetGatewayId)):ue.map(e=>(0,P.jsx)(l,{value:e.NatGatewayId??``,children:e.NatGatewayId},e.NatGatewayId))})]})}),(0,P.jsx)(k,{errors:[q.formState.errors.targetId]})]}),(0,P.jsx)(m,{disabled:B.isPending,size:`sm`,type:`submit`,children:`Add route`})]})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Subnet Associations`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$.length>0?(0,P.jsx)(`ul`,{className:`space-y-2`,children:$.map(e=>{let t=e.RouteTableAssociationId;return(0,P.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border p-2 text-sm`,children:[(0,P.jsx)(i,{className:`font-mono text-primary hover:underline`,params:{id:e.SubnetId??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetId}),(0,P.jsx)(m,{disabled:!t||U.isPending,onClick:async()=>{t&&await U.mutateAsync(t)},size:`sm`,variant:`ghost`,children:(0,P.jsx)(p,{className:`size-4`})})]},t)})}):(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnet associations.`}),(H.error??U.error)&&(0,P.jsx)(D,{error:H.error??U.error??void 0,msg:`Failed to update association`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_auto]`,onSubmit:J.handleSubmit(he),children:[(0,P.jsxs)(A,{children:[(0,P.jsx)(O,{children:(0,P.jsx)(`label`,{htmlFor:`subnetId`,children:`Associate subnet`})}),(0,P.jsx)(T,{control:J.control,name:`subnetId`,render:({field:e})=>(0,P.jsxs)(f,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(d,{"aria-invalid":!!J.formState.errors.subnetId,className:`w-full`,id:`subnetId`,children:(0,P.jsx)(c,{placeholder:`Select a subnet`})}),(0,P.jsx)(u,{children:fe.map(e=>{let t=o(e.Tags);return(0,P.jsx)(l,{value:e.SubnetId??``,children:t?`${e.SubnetId} (${t})`:`${e.SubnetId} (${e.CidrBlock})`},e.SubnetId)})})]})}),(0,P.jsx)(k,{errors:[J.formState.errors.subnetId]})]}),(0,P.jsx)(m,{disabled:H.isPending,size:`sm`,type:`submit`,children:`Associate`})]})]})]})]}),(0,P.jsx)(oe,{description:`Are you sure you want to delete the Route Table "${K.RouteTableId}"? This action cannot be undone.`,isPending:z.isPending,onConfirm:pe,onOpenChange:G,open:W,title:`Delete Route Table`})]})}export{I as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id32.js b/spinifex/services/spinifexui/frontend/dist/assets/_id32.js index 8307f2c85..a3923ed6d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id32.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id32.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./plus.js";import{t as ee}from"./trash-2.js";import{n as m,t as h}from"./_id2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,r as y,t as b}from"./field.js";import{i as te,l as ne,n as re,o as ie,r as ae,s as oe,t as se}from"./alert-dialog.js";import{C as x}from"./ec2.js";import{F as S,c as ce,et as C,l as le,tt as ue}from"./ec22.js";import{a as de,i as fe,n as pe,t as me}from"./zod.js";import{t as he}from"./error-banner.js";import{t as w}from"./page-heading.js";import{x as ge}from"./ec23.js";import{t as T}from"./delete-confirmation-dialog.js";import{n as E,t as D}from"./detail-row.js";var _e=r(),O=e(n()),k=t();function A(e){if(!e||e===`-1`)return`All traffic`;let t=e.toUpperCase();return t===`TCP`||t===`UDP`||t===`ICMP`?t:e}function j(e,t,n){return!n||n===`-1`||e===void 0||t===void 0||e===-1&&t===-1?`All`:e===t?e.toString():`${e}-${t}`}function M(e){let t=(0,_e.c)(87),{open:n,onOpenChange:r,direction:i,groupId:a}=e,o=le(),s=ce(),c=i===`ingress`?o:s,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={resolver:me(ge),defaultValues:{ipProtocol:`tcp`,fromPort:0,toPort:0,cidrIp:`0.0.0.0/0`}},t[0]=l):l=t[0];let{control:u,handleSubmit:d,register:f,reset:p,formState:ee}=fe(l),{errors:m}=ee,h;t[1]===u?h=t[2]:(h={control:u,name:`ipProtocol`},t[1]=u,t[2]=h);let g=de(h),x=g===`-1`||g===`icmp`,S;t[3]!==a||t[4]!==c||t[5]!==r||t[6]!==x||t[7]!==p?(S=async e=>{let t={groupId:a,ipProtocol:e.ipProtocol,fromPort:x?-1:e.fromPort,toPort:x?-1:e.toPort,cidrIp:e.cidrIp};await c.mutateAsync(t),p(),r(!1)},t[3]=a,t[4]=c,t[5]=r,t[6]=x,t[7]=p,t[8]=S):S=t[8];let C=S,ue=i===`ingress`?`Inbound`:`Outbound`,w;t[9]===ue?w=t[10]:(w=(0,k.jsx)(oe,{children:(0,k.jsxs)(ne,{children:[`Add `,ue,` Rule`]})}),t[9]=ue,t[10]=w);let T;t[11]===c.error?T=t[12]:(T=c.error&&(0,k.jsx)(he,{error:c.error,msg:`Failed to add rule`}),t[11]=c.error,t[12]=T);let E;t[13]!==d||t[14]!==C?(E=d(C),t[13]=d,t[14]=C,t[15]=E):E=t[15];let D;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`ipProtocol`,children:`Protocol`})}),t[16]=D):D=t[16];let O;t[17]===u?O=t[18]:(O=(0,k.jsx)(pe,{control:u,name:`ipProtocol`,render:ve}),t[17]=u,t[18]=O);let A;t[19]===m.ipProtocol?A=t[20]:(A=(0,k.jsx)(y,{errors:[m.ipProtocol]}),t[19]=m.ipProtocol,t[20]=A);let j;t[21]!==O||t[22]!==A?(j=(0,k.jsxs)(b,{children:[D,O,A]}),t[21]=O,t[22]=A,t[23]=j):j=t[23];let M;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`fromPort`,children:`From Port`})}),t[24]=M):M=t[24];let N=!!m.fromPort,P;t[25]===f?P=t[26]:(P=f(`fromPort`,{valueAsNumber:!0}),t[25]=f,t[26]=P);let F;t[27]!==x||t[28]!==N||t[29]!==P?(F=(0,k.jsx)(_,{"aria-invalid":N,disabled:x,id:`fromPort`,type:`number`,...P}),t[27]=x,t[28]=N,t[29]=P,t[30]=F):F=t[30];let I;t[31]===m.fromPort?I=t[32]:(I=(0,k.jsx)(y,{errors:[m.fromPort]}),t[31]=m.fromPort,t[32]=I);let L;t[33]!==F||t[34]!==I?(L=(0,k.jsxs)(b,{children:[M,F,I]}),t[33]=F,t[34]=I,t[35]=L):L=t[35];let ye;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`toPort`,children:`To Port`})}),t[36]=ye):ye=t[36];let be=!!m.toPort,R;t[37]===f?R=t[38]:(R=f(`toPort`,{valueAsNumber:!0}),t[37]=f,t[38]=R);let z;t[39]!==x||t[40]!==be||t[41]!==R?(z=(0,k.jsx)(_,{"aria-invalid":be,disabled:x,id:`toPort`,type:`number`,...R}),t[39]=x,t[40]=be,t[41]=R,t[42]=z):z=t[42];let B;t[43]===m.toPort?B=t[44]:(B=(0,k.jsx)(y,{errors:[m.toPort]}),t[43]=m.toPort,t[44]=B);let V;t[45]!==z||t[46]!==B?(V=(0,k.jsxs)(b,{children:[ye,z,B]}),t[45]=z,t[46]=B,t[47]=V):V=t[47];let H;t[48]!==L||t[49]!==V?(H=(0,k.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[L,V]}),t[48]=L,t[49]=V,t[50]=H):H=t[50];let xe=i===`ingress`?`Source`:`Destination`,U;t[51]===xe?U=t[52]:(U=(0,k.jsx)(v,{children:(0,k.jsxs)(`label`,{htmlFor:`cidrIp`,children:[xe,` CIDR`]})}),t[51]=xe,t[52]=U);let Se=!!m.cidrIp,W;t[53]===f?W=t[54]:(W=f(`cidrIp`),t[53]=f,t[54]=W);let G;t[55]!==Se||t[56]!==W?(G=(0,k.jsx)(_,{"aria-invalid":Se,id:`cidrIp`,placeholder:`0.0.0.0/0`,...W}),t[55]=Se,t[56]=W,t[57]=G):G=t[57];let K;t[58]===m.cidrIp?K=t[59]:(K=(0,k.jsx)(y,{errors:[m.cidrIp]}),t[58]=m.cidrIp,t[59]=K);let q;t[60]!==U||t[61]!==G||t[62]!==K?(q=(0,k.jsxs)(b,{children:[U,G,K]}),t[60]=U,t[61]=G,t[62]=K,t[63]=q):q=t[63];let J;t[64]!==j||t[65]!==H||t[66]!==q||t[67]!==E?(J=(0,k.jsxs)(`form`,{className:`space-y-4`,id:`add-rule-form`,onSubmit:E,children:[j,H,q]}),t[64]=j,t[65]=H,t[66]=q,t[67]=E,t[68]=J):J=t[68];let Y;t[69]!==c||t[70]!==p?(Y=(0,k.jsx)(ae,{onClick:()=>{p(),c.reset()},children:`Cancel`}),t[69]=c,t[70]=p,t[71]=Y):Y=t[71];let Ce=c.isPending?`Adding…`:`Add Rule`,X;t[72]!==c.isPending||t[73]!==Ce?(X=(0,k.jsx)(re,{disabled:c.isPending,form:`add-rule-form`,type:`submit`,children:Ce}),t[72]=c.isPending,t[73]=Ce,t[74]=X):X=t[74];let Z;t[75]!==Y||t[76]!==X?(Z=(0,k.jsxs)(ie,{children:[Y,X]}),t[75]=Y,t[76]=X,t[77]=Z):Z=t[77];let Q;t[78]!==J||t[79]!==Z||t[80]!==w||t[81]!==T?(Q=(0,k.jsxs)(te,{children:[w,T,J,Z]}),t[78]=J,t[79]=Z,t[80]=w,t[81]=T,t[82]=Q):Q=t[82];let $;return t[83]!==r||t[84]!==n||t[85]!==Q?($=(0,k.jsx)(se,{onOpenChange:r,open:n,children:Q}),t[83]=r,t[84]=n,t[85]=Q,t[86]=$):$=t[86],$}function ve(e){let{field:t}=e;return(0,k.jsxs)(f,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,k.jsx)(d,{className:`w-full`,id:`ipProtocol`,children:(0,k.jsx)(c,{})}),(0,k.jsxs)(u,{children:[(0,k.jsx)(l,{value:`tcp`,children:`TCP`}),(0,k.jsx)(l,{value:`udp`,children:`UDP`}),(0,k.jsx)(l,{value:`icmp`,children:`ICMP`}),(0,k.jsx)(l,{value:`-1`,children:`All traffic (-1)`})]})]})}function N(e){return[...(e.IpRanges??[]).map(e=>({kind:`cidr`,value:e.CidrIp??``})),...(e.UserIdGroupPairs??[]).map(e=>({kind:`group`,value:e.GroupId??``}))]}function P({rule:e,source:t,groupId:n,direction:r}){let i=ue(),a=C(),o=r===`ingress`?i:a,s=async()=>{try{await o.mutateAsync({groupId:n,ipProtocol:e.IpProtocol??`-1`,fromPort:e.FromPort??-1,toPort:e.ToPort??-1,...t.kind===`group`?{sourceGroupId:t.value}:{cidrIp:t.value}})}catch{}},c=t.kind===`group`&&t.value===n?`${t.value} (this security group)`:t.value;return(0,k.jsxs)(`div`,{className:`space-y-0`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3 last:border-b-0`,children:[(0,k.jsxs)(`div`,{className:`grid flex-1 grid-cols-3 gap-4 text-sm`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Protocol: `}),A(e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Port Range: `}),j(e.FromPort,e.ToPort,e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`span`,{className:`text-muted-foreground`,children:[r===`ingress`?`Source`:`Destination`,`:`,` `]}),c]})]}),(0,k.jsx)(g,{disabled:o.isPending,onClick:s,size:`icon-xs`,variant:`ghost`,children:(0,k.jsx)(m,{className:`size-3`})})]}),o.error&&(0,k.jsx)(`div`,{className:`px-4 pb-2`,children:(0,k.jsx)(he,{error:o.error,msg:`Failed to remove rule`})})]})}function F(){let{id:e}=h.useParams(),t=o(),{data:n}=i(x(e)),r=n.SecurityGroups?.[0],c=S(),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(!1),[m,_]=(0,O.useState)(!1),v=async()=>{try{await c.mutateAsync(e),t({to:`/ec2/describe-security-groups`})}finally{u(!1)}};if(!r?.GroupId)return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`Security group not found.`})]});let y=r.IpPermissions??[],b=r.IpPermissionsEgress??[];return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),c.error&&(0,k.jsx)(he,{error:c.error,msg:`Failed to delete security group`}),(0,k.jsxs)(`div`,{className:`space-y-6`,children:[(0,k.jsx)(w,{actions:(0,k.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,k.jsxs)(g,{onClick:()=>u(!0),size:`sm`,variant:`destructive`,children:[(0,k.jsx)(ee,{className:`size-4`}),`Delete`]})}),subtitle:`Security Group Details`,title:r.GroupName?`${r.GroupId} (${r.GroupName})`:r.GroupId}),(0,k.jsxs)(E,{children:[(0,k.jsx)(E.Header,{children:`Security Group Information`}),(0,k.jsxs)(E.Content,{children:[(0,k.jsx)(D,{label:`Group ID`,value:r.GroupId}),(0,k.jsx)(D,{label:`Group Name`,value:r.GroupName}),(0,k.jsx)(D,{label:`Description`,value:r.Description}),(0,k.jsx)(D,{label:`VPC ID`,value:r.VpcId?(0,k.jsx)(a,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):`—`}),(0,k.jsx)(D,{label:`Owner ID`,value:r.OwnerId})]})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Inbound Rules (`,y.length,`)`]}),(0,k.jsxs)(g,{onClick:()=>f(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),y.length>0?(0,k.jsx)(`div`,{children:y.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`ingress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No inbound rules.`})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Outbound Rules (`,b.length,`)`]}),(0,k.jsxs)(g,{onClick:()=>_(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),b.length>0?(0,k.jsx)(`div`,{children:b.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`egress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No outbound rules.`})]})]}),(0,k.jsx)(T,{description:`Are you sure you want to delete the security group "${r.GroupId}"? This action cannot be undone.`,isPending:c.isPending,onConfirm:v,onOpenChange:u,open:l,title:`Delete Security Group`}),(0,k.jsx)(M,{direction:`ingress`,groupId:r.GroupId,onOpenChange:f,open:d}),(0,k.jsx)(M,{direction:`egress`,groupId:r.GroupId,onOpenChange:_,open:m})]})}export{F as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as ee}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./plus.js";import{t as te}from"./trash-2.js";import{n as p,t as m}from"./_id2.js";import{t as h}from"./button.js";import{t as g}from"./input.js";import{C as _}from"./ec2.js";import{F as v,c as ne,et as y,l as b,tt as x}from"./ec22.js";import{a as re,i as ie,n as ae,t as oe}from"./zod.js";import{t as se}from"./error-banner.js";import{t as S}from"./page-heading.js";import{a as C,r as w,t as ce}from"./field.js";import{x as le}from"./ec23.js";import{i as ue,l as de,n as fe,o as pe,r as me,s as he,t as ge}from"./alert-dialog.js";import{t as T}from"./delete-confirmation-dialog.js";import{n as E,t as D}from"./detail-row.js";var _e=r(),O=e(n()),k=t();function A(e){if(!e||e===`-1`)return`All traffic`;let t=e.toUpperCase();return t===`TCP`||t===`UDP`||t===`ICMP`?t:e}function j(e,t,n){return!n||n===`-1`||e===void 0||t===void 0||e===-1&&t===-1?`All`:e===t?e.toString():`${e}-${t}`}function M(e){let t=(0,_e.c)(87),{open:n,onOpenChange:r,direction:i,groupId:a}=e,o=b(),ee=ne(),s=i===`ingress`?o:ee,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={resolver:oe(le),defaultValues:{ipProtocol:`tcp`,fromPort:0,toPort:0,cidrIp:`0.0.0.0/0`}},t[0]=c):c=t[0];let{control:l,handleSubmit:u,register:d,reset:f,formState:te}=ie(c),{errors:p}=te,m;t[1]===l?m=t[2]:(m={control:l,name:`ipProtocol`},t[1]=l,t[2]=m);let h=re(m),_=h===`-1`||h===`icmp`,v;t[3]!==a||t[4]!==s||t[5]!==r||t[6]!==_||t[7]!==f?(v=async e=>{let t={groupId:a,ipProtocol:e.ipProtocol,fromPort:_?-1:e.fromPort,toPort:_?-1:e.toPort,cidrIp:e.cidrIp};await s.mutateAsync(t),f(),r(!1)},t[3]=a,t[4]=s,t[5]=r,t[6]=_,t[7]=f,t[8]=v):v=t[8];let y=v,x=i===`ingress`?`Inbound`:`Outbound`,S;t[9]===x?S=t[10]:(S=(0,k.jsx)(he,{children:(0,k.jsxs)(de,{children:[`Add `,x,` Rule`]})}),t[9]=x,t[10]=S);let T;t[11]===s.error?T=t[12]:(T=s.error&&(0,k.jsx)(se,{error:s.error,msg:`Failed to add rule`}),t[11]=s.error,t[12]=T);let E;t[13]!==u||t[14]!==y?(E=u(y),t[13]=u,t[14]=y,t[15]=E):E=t[15];let D;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,k.jsx)(C,{children:(0,k.jsx)(`label`,{htmlFor:`ipProtocol`,children:`Protocol`})}),t[16]=D):D=t[16];let O;t[17]===l?O=t[18]:(O=(0,k.jsx)(ae,{control:l,name:`ipProtocol`,render:ve}),t[17]=l,t[18]=O);let A;t[19]===p.ipProtocol?A=t[20]:(A=(0,k.jsx)(w,{errors:[p.ipProtocol]}),t[19]=p.ipProtocol,t[20]=A);let j;t[21]!==O||t[22]!==A?(j=(0,k.jsxs)(ce,{children:[D,O,A]}),t[21]=O,t[22]=A,t[23]=j):j=t[23];let M;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,k.jsx)(C,{children:(0,k.jsx)(`label`,{htmlFor:`fromPort`,children:`From Port`})}),t[24]=M):M=t[24];let N=!!p.fromPort,P;t[25]===d?P=t[26]:(P=d(`fromPort`,{valueAsNumber:!0}),t[25]=d,t[26]=P);let F;t[27]!==_||t[28]!==N||t[29]!==P?(F=(0,k.jsx)(g,{"aria-invalid":N,disabled:_,id:`fromPort`,type:`number`,...P}),t[27]=_,t[28]=N,t[29]=P,t[30]=F):F=t[30];let I;t[31]===p.fromPort?I=t[32]:(I=(0,k.jsx)(w,{errors:[p.fromPort]}),t[31]=p.fromPort,t[32]=I);let L;t[33]!==F||t[34]!==I?(L=(0,k.jsxs)(ce,{children:[M,F,I]}),t[33]=F,t[34]=I,t[35]=L):L=t[35];let R;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,k.jsx)(C,{children:(0,k.jsx)(`label`,{htmlFor:`toPort`,children:`To Port`})}),t[36]=R):R=t[36];let ye=!!p.toPort,z;t[37]===d?z=t[38]:(z=d(`toPort`,{valueAsNumber:!0}),t[37]=d,t[38]=z);let B;t[39]!==_||t[40]!==ye||t[41]!==z?(B=(0,k.jsx)(g,{"aria-invalid":ye,disabled:_,id:`toPort`,type:`number`,...z}),t[39]=_,t[40]=ye,t[41]=z,t[42]=B):B=t[42];let V;t[43]===p.toPort?V=t[44]:(V=(0,k.jsx)(w,{errors:[p.toPort]}),t[43]=p.toPort,t[44]=V);let H;t[45]!==B||t[46]!==V?(H=(0,k.jsxs)(ce,{children:[R,B,V]}),t[45]=B,t[46]=V,t[47]=H):H=t[47];let U;t[48]!==L||t[49]!==H?(U=(0,k.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[L,H]}),t[48]=L,t[49]=H,t[50]=U):U=t[50];let be=i===`ingress`?`Source`:`Destination`,W;t[51]===be?W=t[52]:(W=(0,k.jsx)(C,{children:(0,k.jsxs)(`label`,{htmlFor:`cidrIp`,children:[be,` CIDR`]})}),t[51]=be,t[52]=W);let xe=!!p.cidrIp,G;t[53]===d?G=t[54]:(G=d(`cidrIp`),t[53]=d,t[54]=G);let K;t[55]!==xe||t[56]!==G?(K=(0,k.jsx)(g,{"aria-invalid":xe,id:`cidrIp`,placeholder:`0.0.0.0/0`,...G}),t[55]=xe,t[56]=G,t[57]=K):K=t[57];let q;t[58]===p.cidrIp?q=t[59]:(q=(0,k.jsx)(w,{errors:[p.cidrIp]}),t[58]=p.cidrIp,t[59]=q);let J;t[60]!==W||t[61]!==K||t[62]!==q?(J=(0,k.jsxs)(ce,{children:[W,K,q]}),t[60]=W,t[61]=K,t[62]=q,t[63]=J):J=t[63];let Y;t[64]!==j||t[65]!==U||t[66]!==J||t[67]!==E?(Y=(0,k.jsxs)(`form`,{className:`space-y-4`,id:`add-rule-form`,onSubmit:E,children:[j,U,J]}),t[64]=j,t[65]=U,t[66]=J,t[67]=E,t[68]=Y):Y=t[68];let X;t[69]!==s||t[70]!==f?(X=(0,k.jsx)(me,{onClick:()=>{f(),s.reset()},children:`Cancel`}),t[69]=s,t[70]=f,t[71]=X):X=t[71];let Se=s.isPending?`Adding…`:`Add Rule`,Z;t[72]!==s.isPending||t[73]!==Se?(Z=(0,k.jsx)(fe,{disabled:s.isPending,form:`add-rule-form`,type:`submit`,children:Se}),t[72]=s.isPending,t[73]=Se,t[74]=Z):Z=t[74];let Q;t[75]!==X||t[76]!==Z?(Q=(0,k.jsxs)(pe,{children:[X,Z]}),t[75]=X,t[76]=Z,t[77]=Q):Q=t[77];let $;t[78]!==Y||t[79]!==Q||t[80]!==S||t[81]!==T?($=(0,k.jsxs)(ue,{children:[S,T,Y,Q]}),t[78]=Y,t[79]=Q,t[80]=S,t[81]=T,t[82]=$):$=t[82];let Ce;return t[83]!==r||t[84]!==n||t[85]!==$?(Ce=(0,k.jsx)(ge,{onOpenChange:r,open:n,children:$}),t[83]=r,t[84]=n,t[85]=$,t[86]=Ce):Ce=t[86],Ce}function ve(e){let{field:t}=e;return(0,k.jsxs)(d,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,k.jsx)(u,{className:`w-full`,id:`ipProtocol`,children:(0,k.jsx)(s,{})}),(0,k.jsxs)(l,{children:[(0,k.jsx)(c,{value:`tcp`,children:`TCP`}),(0,k.jsx)(c,{value:`udp`,children:`UDP`}),(0,k.jsx)(c,{value:`icmp`,children:`ICMP`}),(0,k.jsx)(c,{value:`-1`,children:`All traffic (-1)`})]})]})}function N(e){return[...(e.IpRanges??[]).map(e=>({kind:`cidr`,value:e.CidrIp??``})),...(e.UserIdGroupPairs??[]).map(e=>({kind:`group`,value:e.GroupId??``}))]}function P({rule:e,source:t,groupId:n,direction:r}){let i=x(),a=y(),o=r===`ingress`?i:a,ee=async()=>{try{await o.mutateAsync({groupId:n,ipProtocol:e.IpProtocol??`-1`,fromPort:e.FromPort??-1,toPort:e.ToPort??-1,...t.kind===`group`?{sourceGroupId:t.value}:{cidrIp:t.value}})}catch{}},s=t.kind===`group`&&t.value===n?`${t.value} (this security group)`:t.value;return(0,k.jsxs)(`div`,{className:`space-y-0`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3 last:border-b-0`,children:[(0,k.jsxs)(`div`,{className:`grid flex-1 grid-cols-3 gap-4 text-sm`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Protocol: `}),A(e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Port Range: `}),j(e.FromPort,e.ToPort,e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`span`,{className:`text-muted-foreground`,children:[r===`ingress`?`Source`:`Destination`,`:`,` `]}),s]})]}),(0,k.jsx)(h,{disabled:o.isPending,onClick:ee,size:`icon-xs`,variant:`ghost`,children:(0,k.jsx)(p,{className:`size-3`})})]}),o.error&&(0,k.jsx)(`div`,{className:`px-4 pb-2`,children:(0,k.jsx)(se,{error:o.error,msg:`Failed to remove rule`})})]})}function F(){let{id:e}=m.useParams(),t=o(),{data:n}=i(_(e)),r=n.SecurityGroups?.[0],s=v(),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(!1),[p,g]=(0,O.useState)(!1),ne=async()=>{try{await s.mutateAsync(e),t({to:`/ec2/describe-security-groups`})}finally{l(!1)}};if(!r?.GroupId)return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ee,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`Security group not found.`})]});let y=r.IpPermissions??[],b=r.IpPermissionsEgress??[];return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ee,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),s.error&&(0,k.jsx)(se,{error:s.error,msg:`Failed to delete security group`}),(0,k.jsxs)(`div`,{className:`space-y-6`,children:[(0,k.jsx)(S,{actions:(0,k.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,k.jsxs)(h,{onClick:()=>l(!0),size:`sm`,variant:`destructive`,children:[(0,k.jsx)(te,{className:`size-4`}),`Delete`]})}),subtitle:`Security Group Details`,title:r.GroupName?`${r.GroupId} (${r.GroupName})`:r.GroupId}),(0,k.jsxs)(E,{children:[(0,k.jsx)(E.Header,{children:`Security Group Information`}),(0,k.jsxs)(E.Content,{children:[(0,k.jsx)(D,{label:`Group ID`,value:r.GroupId}),(0,k.jsx)(D,{label:`Group Name`,value:r.GroupName}),(0,k.jsx)(D,{label:`Description`,value:r.Description}),(0,k.jsx)(D,{label:`VPC ID`,value:r.VpcId?(0,k.jsx)(a,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):`—`}),(0,k.jsx)(D,{label:`Owner ID`,value:r.OwnerId})]})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Inbound Rules (`,y.length,`)`]}),(0,k.jsxs)(h,{onClick:()=>d(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(f,{className:`size-4`}),`Add Rule`]})]}),y.length>0?(0,k.jsx)(`div`,{children:y.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`ingress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No inbound rules.`})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Outbound Rules (`,b.length,`)`]}),(0,k.jsxs)(h,{onClick:()=>g(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(f,{className:`size-4`}),`Add Rule`]})]}),b.length>0?(0,k.jsx)(`div`,{children:b.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`egress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No outbound rules.`})]})]}),(0,k.jsx)(T,{description:`Are you sure you want to delete the security group "${r.GroupId}"? This action cannot be undone.`,isPending:s.isPending,onConfirm:ne,onOpenChange:l,open:c,title:`Delete Security Group`}),(0,k.jsx)(M,{direction:`ingress`,groupId:r.GroupId,onOpenChange:d,open:u}),(0,k.jsx)(M,{direction:`egress`,groupId:r.GroupId,onOpenChange:g,open:p})]})}export{F as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id33.js b/spinifex/services/spinifexui/frontend/dist/assets/_id33.js index 6d0dcfc83..229b75a98 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id33.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id33.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as ee}from"./useNavigate.js";import{Qt as a,t as te}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as ne}from"./copy.js";import{n as re,t as s}from"./_id.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{t as u}from"./input.js";import{a as d,t as f}from"./field.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{T as x,b as S}from"./ec2.js";import{I as C,Q as w,u as T}from"./ec22.js";import{t as E}from"./error-banner.js";import{t as D}from"./page-heading.js";import{t as O}from"./delete-confirmation-dialog.js";import{n as k,t as A}from"./detail-row.js";import{t as ie}from"./state-badge.js";import{t as ae}from"./textarea.js";var j=e(n()),M=t();function N(){let{id:e}=s.useParams(),t=ee(),{data:n}=r(x(e)),{data:N}=r(S),P=n.Snapshots?.[0],F=C(),I=T(),L=w(),[R,z]=(0,j.useState)(!1),[B,V]=(0,j.useState)(!1),[H,U]=(0,j.useState)(``),[W,G]=(0,j.useState)(!1),[K,q]=(0,j.useState)(``),[J,Y]=(0,j.useState)(``),[X,Z]=(0,j.useState)(null),oe=N.Regions?.[0]?.RegionName??te(),Q=P?.State===`completed`,se=P?.State===`completed`;function ce(e){e||(q(``),Y(``),Z(null)),G(e)}async function le(){try{let t=await L.mutateAsync({snapshotId:e,name:K,description:J||void 0});Z(t.ImageId??null),q(``),Y(``)}catch{}}let $=async()=>{try{await F.mutateAsync(e),t({to:`/ec2/describe-snapshots`})}finally{z(!1)}},ue=async()=>{try{await I.mutateAsync({sourceSnapshotId:e,sourceRegion:oe,description:H||void 0}),V(!1),U(``)}catch{}};if(!P?.SnapshotId)return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(o,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),(0,M.jsx)(`p`,{className:`text-muted-foreground`,children:`Snapshot not found.`})]});let de=a(P.StartTime);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(o,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),F.error&&(0,M.jsx)(E,{error:F.error,msg:`Failed to delete snapshot`}),I.error&&(0,M.jsx)(E,{error:I.error,msg:`Failed to copy snapshot`}),L.error&&(0,M.jsx)(E,{error:L.error,msg:`Failed to register image`}),(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(D,{actions:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxs)(l,{disabled:!Q,onClick:()=>z(!0),size:`sm`,variant:`destructive`,children:[(0,M.jsx)(c,{className:`size-4`}),`Delete`]}),(0,M.jsxs)(l,{disabled:!Q,onClick:()=>V(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(ne,{className:`size-4`}),`Copy Snapshot`]}),(0,M.jsxs)(l,{disabled:!se,onClick:()=>G(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(re,{className:`size-4`}),`Register as AMI`]}),(0,M.jsx)(ie,{state:P.State})]}),subtitle:`Snapshot Details`,title:P.SnapshotId}),(0,M.jsxs)(k,{children:[(0,M.jsx)(k.Header,{children:`Snapshot Information`}),(0,M.jsxs)(k.Content,{children:[(0,M.jsx)(A,{label:`Snapshot ID`,value:P.SnapshotId}),(0,M.jsx)(A,{label:`Volume ID`,value:P.VolumeId?(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:P.VolumeId},to:`/ec2/describe-volumes/$id`,children:P.VolumeId}):void 0}),(0,M.jsx)(A,{label:`Volume Size`,value:`${P.VolumeSize} GiB`}),(0,M.jsx)(A,{label:`State`,value:P.State}),(0,M.jsx)(A,{label:`Description`,value:P.Description}),(0,M.jsx)(A,{label:`Progress`,value:P.Progress}),(0,M.jsx)(A,{label:`Start Time`,value:de}),(0,M.jsx)(A,{label:`Owner ID`,value:P.OwnerId}),(0,M.jsx)(A,{label:`Encrypted`,value:P.Encrypted?`Yes`:`No`})]})]})]}),(0,M.jsx)(O,{description:`Are you sure you want to delete the snapshot "${P.SnapshotId}"? This action cannot be undone.`,isPending:F.isPending,onConfirm:$,onOpenChange:z,open:R,title:`Delete Snapshot`}),(0,M.jsx)(b,{onOpenChange:V,open:B,children:(0,M.jsxs)(m,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(h,{children:`Copy Snapshot`}),(0,M.jsx)(p,{children:`Create a copy of this snapshot in the current region.`})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`copyDescription`,children:`Description (optional)`})}),(0,M.jsx)(u,{id:`copyDescription`,onChange:e=>U(e.target.value),placeholder:`Description for the snapshot copy`,value:H})]}),(0,M.jsxs)(_,{children:[(0,M.jsx)(v,{children:`Cancel`}),(0,M.jsx)(g,{disabled:I.isPending,onClick:ue,children:I.isPending?`Copying…`:`Copy Snapshot`})]})]})}),(0,M.jsx)(b,{onOpenChange:ce,open:W,children:(0,M.jsxs)(m,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(h,{children:X?`Image Registered`:`Register as AMI`}),(0,M.jsx)(p,{children:X?(0,M.jsxs)(M.Fragment,{children:[`AMI`,` `,(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:X},to:`/ec2/describe-images/$id`,children:X}),` `,`was registered successfully.`]}):`Create an AMI from snapshot "${e}".`})]}),!X&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`registerName`,children:`Name`})}),(0,M.jsx)(u,{id:`registerName`,onChange:e=>q(e.target.value),placeholder:`my-image`,value:K})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`registerDescription`,children:`Description (optional)`})}),(0,M.jsx)(ae,{id:`registerDescription`,onChange:e=>Y(e.target.value),placeholder:`Optional description`,rows:2,value:J})]})]}),(0,M.jsxs)(_,{children:[(0,M.jsx)(v,{children:X?`Close`:`Cancel`}),!X&&(0,M.jsx)(g,{disabled:L.isPending||!K.trim(),onClick:le,children:L.isPending?`Registering…`:`Register AMI`})]})]})})]})}export{N as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o,t as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{t as ee}from"./copy.js";import{n as te,t as ne}from"./_id.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{t as d}from"./input.js";import{T as f,b as p}from"./ec2.js";import{I as m,Q as h,u as g}from"./ec22.js";import{t as _}from"./error-banner.js";import{t as re}from"./page-heading.js";import{a as v,t as y}from"./field.js";import{a as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D}from"./alert-dialog.js";import{t as O}from"./delete-confirmation-dialog.js";import{n as k,t as A}from"./detail-row.js";import{t as ie}from"./state-badge.js";import{t as ae}from"./textarea.js";var j=e(n()),M=t();function N(){let{id:e}=ne.useParams(),t=a(),{data:n}=r(f(e)),{data:N}=r(p),P=n.Snapshots?.[0],F=m(),I=g(),L=h(),[R,z]=(0,j.useState)(!1),[B,V]=(0,j.useState)(!1),[H,U]=(0,j.useState)(``),[W,G]=(0,j.useState)(!1),[K,q]=(0,j.useState)(``),[J,Y]=(0,j.useState)(``),[X,Z]=(0,j.useState)(null),oe=N.Regions?.[0]?.RegionName??s(),Q=P?.State===`completed`,se=P?.State===`completed`;function ce(e){e||(q(``),Y(``),Z(null)),G(e)}async function le(){try{let t=await L.mutateAsync({snapshotId:e,name:K,description:J||void 0});Z(t.ImageId??null),q(``),Y(``)}catch{}}let $=async()=>{try{await F.mutateAsync(e),t({to:`/ec2/describe-snapshots`})}finally{z(!1)}},ue=async()=>{try{await I.mutateAsync({sourceSnapshotId:e,sourceRegion:oe,description:H||void 0}),V(!1),U(``)}catch{}};if(!P?.SnapshotId)return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(c,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),(0,M.jsx)(`p`,{className:`text-muted-foreground`,children:`Snapshot not found.`})]});let de=o(P.StartTime);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(c,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),F.error&&(0,M.jsx)(_,{error:F.error,msg:`Failed to delete snapshot`}),I.error&&(0,M.jsx)(_,{error:I.error,msg:`Failed to copy snapshot`}),L.error&&(0,M.jsx)(_,{error:L.error,msg:`Failed to register image`}),(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(re,{actions:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxs)(u,{disabled:!Q,onClick:()=>z(!0),size:`sm`,variant:`destructive`,children:[(0,M.jsx)(l,{className:`size-4`}),`Delete`]}),(0,M.jsxs)(u,{disabled:!Q,onClick:()=>V(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(ee,{className:`size-4`}),`Copy Snapshot`]}),(0,M.jsxs)(u,{disabled:!se,onClick:()=>G(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(te,{className:`size-4`}),`Register as AMI`]}),(0,M.jsx)(ie,{state:P.State})]}),subtitle:`Snapshot Details`,title:P.SnapshotId}),(0,M.jsxs)(k,{children:[(0,M.jsx)(k.Header,{children:`Snapshot Information`}),(0,M.jsxs)(k.Content,{children:[(0,M.jsx)(A,{label:`Snapshot ID`,value:P.SnapshotId}),(0,M.jsx)(A,{label:`Volume ID`,value:P.VolumeId?(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:P.VolumeId},to:`/ec2/describe-volumes/$id`,children:P.VolumeId}):void 0}),(0,M.jsx)(A,{label:`Volume Size`,value:`${P.VolumeSize} GiB`}),(0,M.jsx)(A,{label:`State`,value:P.State}),(0,M.jsx)(A,{label:`Description`,value:P.Description}),(0,M.jsx)(A,{label:`Progress`,value:P.Progress}),(0,M.jsx)(A,{label:`Start Time`,value:de}),(0,M.jsx)(A,{label:`Owner ID`,value:P.OwnerId}),(0,M.jsx)(A,{label:`Encrypted`,value:P.Encrypted?`Yes`:`No`})]})]})]}),(0,M.jsx)(O,{description:`Are you sure you want to delete the snapshot "${P.SnapshotId}"? This action cannot be undone.`,isPending:F.isPending,onConfirm:$,onOpenChange:z,open:R,title:`Delete Snapshot`}),(0,M.jsx)(D,{onOpenChange:V,open:B,children:(0,M.jsxs)(x,{children:[(0,M.jsxs)(E,{children:[(0,M.jsx)(S,{children:`Copy Snapshot`}),(0,M.jsx)(b,{children:`Create a copy of this snapshot in the current region.`})]}),(0,M.jsxs)(y,{children:[(0,M.jsx)(v,{children:(0,M.jsx)(`label`,{htmlFor:`copyDescription`,children:`Description (optional)`})}),(0,M.jsx)(d,{id:`copyDescription`,onChange:e=>U(e.target.value),placeholder:`Description for the snapshot copy`,value:H})]}),(0,M.jsxs)(w,{children:[(0,M.jsx)(T,{children:`Cancel`}),(0,M.jsx)(C,{disabled:I.isPending,onClick:ue,children:I.isPending?`Copying…`:`Copy Snapshot`})]})]})}),(0,M.jsx)(D,{onOpenChange:ce,open:W,children:(0,M.jsxs)(x,{children:[(0,M.jsxs)(E,{children:[(0,M.jsx)(S,{children:X?`Image Registered`:`Register as AMI`}),(0,M.jsx)(b,{children:X?(0,M.jsxs)(M.Fragment,{children:[`AMI`,` `,(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:X},to:`/ec2/describe-images/$id`,children:X}),` `,`was registered successfully.`]}):`Create an AMI from snapshot "${e}".`})]}),!X&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(v,{children:(0,M.jsx)(`label`,{htmlFor:`registerName`,children:`Name`})}),(0,M.jsx)(d,{id:`registerName`,onChange:e=>q(e.target.value),placeholder:`my-image`,value:K})]}),(0,M.jsxs)(y,{children:[(0,M.jsx)(v,{children:(0,M.jsx)(`label`,{htmlFor:`registerDescription`,children:`Description (optional)`})}),(0,M.jsx)(ae,{id:`registerDescription`,onChange:e=>Y(e.target.value),placeholder:`Optional description`,rows:2,value:J})]})]}),(0,M.jsxs)(w,{children:[(0,M.jsx)(T,{children:X?`Close`:`Cancel`}),!X&&(0,M.jsx)(C,{disabled:L.isPending||!K.trim(),onClick:le,children:L.isPending?`Registering…`:`Register AMI`})]})]})})]})}export{N as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id34.js b/spinifex/services/spinifexui/frontend/dist/assets/_id34.js index 4f1edc499..7806ec712 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id34.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id34.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{D as u}from"./ec2.js";import{L as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id13.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),x=n.Subnets?.[0],S=d(),[C,w]=(0,y.useState)(!1),T=async()=>{try{await S.mutateAsync(e),t({to:`/ec2/describe-subnets`})}finally{w(!1)}};if(!x?.SubnetId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Subnet not found.`})]});let E=o(x.Tags);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),S.error&&(0,b.jsx)(f,{error:S.error,msg:`Failed to delete subnet`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:x.State})]}),subtitle:`Subnet Details`,title:E?`${x.SubnetId} (${E})`:x.SubnetId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Subnet Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Subnet ID`,value:x.SubnetId}),(0,b.jsx)(_,{label:`VPC ID`,value:x.VpcId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:x.VpcId},to:`/ec2/describe-vpcs/$id`,children:x.VpcId}):`—`}),(0,b.jsx)(_,{label:`State`,value:x.State}),(0,b.jsx)(_,{label:`CIDR Block`,value:x.CidrBlock}),(0,b.jsx)(_,{label:`Availability Zone`,value:x.AvailabilityZone}),(0,b.jsx)(_,{label:`Available IP Count`,value:x.AvailableIpAddressCount?.toString()}),(0,b.jsx)(_,{label:`Map Public IP on Launch`,value:x.MapPublicIpOnLaunch?`Yes`:`No`}),(0,b.jsx)(_,{label:`Default for AZ`,value:x.DefaultForAz?`Yes`:`No`})]})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the subnet "${x.SubnetId}"? This action cannot be undone.`,isPending:S.isPending,onConfirm:T,onOpenChange:w,open:C,title:`Delete Subnet`})]})}export{x as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{D as u}from"./ec2.js";import{L as d}from"./ec22.js";import{t as f}from"./_id13.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=f.useParams(),t=a(),{data:n}=r(u(e)),x=n.Subnets?.[0],S=d(),[C,w]=(0,y.useState)(!1),T=async()=>{try{await S.mutateAsync(e),t({to:`/ec2/describe-subnets`})}finally{w(!1)}};if(!x?.SubnetId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Subnet not found.`})]});let E=o(x.Tags);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),S.error&&(0,b.jsx)(p,{error:S.error,msg:`Failed to delete subnet`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:x.State})]}),subtitle:`Subnet Details`,title:E?`${x.SubnetId} (${E})`:x.SubnetId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Subnet Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Subnet ID`,value:x.SubnetId}),(0,b.jsx)(_,{label:`VPC ID`,value:x.VpcId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:x.VpcId},to:`/ec2/describe-vpcs/$id`,children:x.VpcId}):`—`}),(0,b.jsx)(_,{label:`State`,value:x.State}),(0,b.jsx)(_,{label:`CIDR Block`,value:x.CidrBlock}),(0,b.jsx)(_,{label:`Availability Zone`,value:x.AvailabilityZone}),(0,b.jsx)(_,{label:`Available IP Count`,value:x.AvailableIpAddressCount?.toString()}),(0,b.jsx)(_,{label:`Map Public IP on Launch`,value:x.MapPublicIpOnLaunch?`Yes`:`No`}),(0,b.jsx)(_,{label:`Default for AZ`,value:x.DefaultForAz?`Yes`:`No`})]})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the subnet "${x.SubnetId}"? This action cannot be undone.`,isPending:S.isPending,onConfirm:T,onOpenChange:w,open:C,title:`Delete Subnet`})]})}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id35.js b/spinifex/services/spinifexui/frontend/dist/assets/_id35.js index 46fd09c70..1c0c01ff8 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id35.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id35.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{Yt as s,tn as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{l as x}from"./ec2.js";import{_ as S,c as C,l as w,m as T,p as E}from"./elbv2.js";import{c as D,d as O,l as k,s as A}from"./elbv22.js";import{t as j}from"./error-banner.js";import{t as M}from"./page-heading.js";import{t as N}from"./_id14.js";import{t as P}from"./delete-confirmation-dialog.js";import{n as F,t as I}from"./detail-row.js";import{r as L,t as R}from"./attributes-editor.js";import{t as z}from"./tags-editor.js";import{i as B,n as V,r as H,t as U}from"./tabs.js";var W=r(),G=e(n(),1),K=t();function q(e){let t=e.trim();if(t===``)return;let n=Number(t);if(!(!Number.isInteger(n)||n<1||n>65535))return n}function J(e){let t=(0,W.c)(33),{open:n,onOpenChange:r,instances:i,defaultPort:a,isPending:o,onConfirm:s}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={},t[0]=l):l=t[0];let[u,d]=(0,G.useState)(l),[x,S]=(0,G.useState)(),[C,w]=(0,G.useState)(n);n!==C&&(w(n),n||(d({}),S(void 0)));let T;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>{d(t=>{let n=t[e];return n?.checked?{...t,[e]:{...n,checked:!1}}:{...t,[e]:{checked:!0,port:n?.port??``}}})},t[1]=T):T=t[1];let E=T,D;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(D=(e,t)=>{d(n=>({...n,[e]:{checked:n[e]?.checked??!0,port:t}}))},t[2]=D):D=t[2];let O=D,k;t[3]!==s||t[4]!==u?(k=()=>{let e=Object.entries(u).filter(Y);if(e.length===0){S(`Select at least one instance.`);return}let t=[];for(let[n,r]of e){if(r.port.trim()===``){t.push({id:n});continue}let e=q(r.port);if(e===void 0){S(`Port for ${n} must be an integer between 1 and 65535.`);return}t.push({id:n,port:e})}S(void 0),s(t)},t[3]=s,t[4]=u,t[5]=k):k=t[5];let A=k,j;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,K.jsx)(h,{children:`Register targets`}),t[6]=j):j=t[6];let M;t[7]===a?M=t[8]:(M=(0,K.jsxs)(y,{children:[j,(0,K.jsxs)(p,{children:[`Select instances to register. Leave port blank to use the target group port (`,a,`).`]})]}),t[7]=a,t[8]=M);let N;t[9]!==a||t[10]!==i||t[11]!==u?(N=i.length===0?(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances available in this VPC.`}):(0,K.jsx)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto`,children:i.map(e=>{let t=e.InstanceId??``,n=u[t],r=n?.checked??!1,i=c(e.Tags);return(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded px-1 py-1 text-xs hover:bg-accent`,children:[(0,K.jsx)(`input`,{"aria-label":`Register target ${t}`,checked:r,id:`register-target-${t}`,onChange:()=>E(t),type:`checkbox`}),(0,K.jsxs)(`label`,{className:`flex flex-1 items-center gap-2`,htmlFor:`register-target-${t}`,children:[(0,K.jsx)(`span`,{className:`font-mono`,children:t}),i&&(0,K.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,i,`)`]}),(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:e.State?.Name??``})]}),r&&(0,K.jsx)(f,{"aria-label":`Port override for ${t}`,className:`w-24`,onChange:e=>O(t,e.target.value),placeholder:String(a),value:n?.port??``})]},t)})}),t[9]=a,t[10]=i,t[11]=u,t[12]=N):N=t[12];let P;t[13]===x?P=t[14]:(P=x&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:x}),t[13]=x,t[14]=P);let F;t[15]===o?F=t[16]:(F=(0,K.jsx)(v,{disabled:o,children:`Cancel`}),t[15]=o,t[16]=F);let I=o?`Registering…`:`Register`,L;t[17]!==A||t[18]!==o||t[19]!==I?(L=(0,K.jsx)(g,{disabled:o,onClick:A,children:I}),t[17]=A,t[18]=o,t[19]=I,t[20]=L):L=t[20];let R;t[21]!==L||t[22]!==F?(R=(0,K.jsxs)(_,{children:[F,L]}),t[21]=L,t[22]=F,t[23]=R):R=t[23];let z;t[24]!==R||t[25]!==M||t[26]!==N||t[27]!==P?(z=(0,K.jsxs)(m,{className:`sm:max-w-lg`,children:[M,N,P,R]}),t[24]=R,t[25]=M,t[26]=N,t[27]=P,t[28]=z):z=t[28];let B;return t[29]!==r||t[30]!==n||t[31]!==z?(B=(0,K.jsx)(b,{onOpenChange:r,open:n,children:z}),t[29]=r,t[30]=n,t[31]=z,t[32]=B):B=t[32],B}function Y(e){let[,t]=e;return t.checked&&t!==void 0}var X=5e3,Z=new Set([`healthy`]),Q=new Set([`unhealthy`,`unavailable`]),$=new Set([`initial`,`draining`]);function ee(e){return e&&Z.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&Q.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&$.has(e)?`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100`:`bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100`}function te(e){return`${e.Id??``}:${e.Port??``}`}function ne({targetGroupArn:e,vpcId:t,defaultPort:n,isActive:r}){let{data:o}=a(x),{data:c,isLoading:l,error:f}=i({...O(e),refetchInterval:r?X:!1,refetchIntervalInBackground:!1}),p=T(),m=w(),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(),y=(o.Reservations?.flatMap(e=>e.Instances??[])??[]).filter(e=>e.VpcId===t&&e.State?.Name!==`terminated`),b=c?.TargetHealthDescriptions??[];return(0,K.jsxs)(`div`,{className:`space-y-3`,children:[p.error&&(0,K.jsx)(j,{error:p.error,msg:`Failed to register targets`}),m.error&&(0,K.jsx)(j,{error:m.error,msg:`Failed to deregister target`}),f&&(0,K.jsx)(j,{error:f,msg:`Failed to load target health`}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:l?`Loading target health…`:`${b.length} target${b.length===1?``:`s`}`}),(0,K.jsx)(d,{onClick:()=>g(!0),size:`sm`,children:`Register targets`})]}),b.length===0?(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`No targets registered.`}):(0,K.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,K.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,K.jsx)(`thead`,{children:(0,K.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`AZ`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Reason`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,K.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,K.jsx)(`tbody`,{children:b.map(e=>{let t=e.Target??{Id:``},n=e.TargetHealth?.State;return(0,K.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,K.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t.Id??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:t.Port??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:t.AvailabilityZone??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:(0,K.jsx)(`span`,{className:s(`rounded-full px-2 py-0.5 text-xs`,ee(n)),children:n??`unknown`})}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Reason??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Description??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,K.jsx)(d,{"aria-label":`Deregister ${t.Id}`,onClick:()=>v(t),size:`sm`,variant:`ghost`,children:(0,K.jsx)(u,{className:`size-4`})})})]},te(t))})})]})}),(0,K.jsx)(J,{defaultPort:n,instances:y,isPending:p.isPending,onConfirm:async t=>{try{await p.mutateAsync({targetGroupArn:e,targets:t}),g(!1)}catch{}},onOpenChange:g,open:h}),(0,K.jsx)(P,{description:_?`Deregister ${_.Id}${_.Port?`:${_.Port}`:``} from this target group?`:``,isPending:m.isPending,onConfirm:async()=>{if(_?.Id)try{await m.mutateAsync({targetGroupArn:e,targets:[{id:_.Id,port:_.Port}]})}finally{v(void 0)}},onOpenChange:e=>!e&&v(void 0),open:_!==void 0,title:`Deregister target`})]})}function re({arn:e}){let t=o(),{data:n}=a(k(e)),{data:r}=a(D(e)),{data:i}=a(A([e])),s=C(),c=E(),f=S(),[p,m]=(0,G.useState)(!1),[h,g]=(0,G.useState)(`overview`),_=n.TargetGroups?.[0];if(!_?.TargetGroupArn)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`Target group not found.`})]});let v=async()=>{try{await s.mutateAsync(e),t({to:`/ec2/describe-target-groups`})}finally{m(!1)}},y=r.Attributes??[],b=i?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[];return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),s.error&&(0,K.jsx)(j,{error:s.error,msg:`Failed to delete target group`}),(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(M,{actions:(0,K.jsxs)(d,{onClick:()=>m(!0),size:`sm`,variant:`destructive`,children:[(0,K.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`Target Group Details`,title:_.TargetGroupName??_.TargetGroupArn}),(0,K.jsxs)(U,{onValueChange:g,value:h,children:[(0,K.jsxs)(V,{children:[(0,K.jsx)(B,{value:`overview`,children:`Overview`}),(0,K.jsx)(B,{value:`targets`,children:`Targets`}),(0,K.jsx)(B,{value:`health-checks`,children:`Health checks`}),(0,K.jsx)(B,{value:`attributes`,children:`Attributes`}),(0,K.jsx)(B,{value:`tags`,children:`Tags`})]}),(0,K.jsx)(H,{value:`overview`,children:(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Target group`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`ARN`,value:_.TargetGroupArn}),(0,K.jsx)(I,{label:`Protocol`,value:_.Protocol}),(0,K.jsx)(I,{label:`Port`,value:_.Port?.toString()}),(0,K.jsx)(I,{label:`VPC`,value:_.VpcId}),(0,K.jsx)(I,{label:`Target type`,value:_.TargetType}),(0,K.jsx)(I,{label:`Protocol version`,value:_.ProtocolVersion}),(0,K.jsx)(I,{label:`IP address type`,value:_.IpAddressType})]})]})}),(0,K.jsx)(H,{value:`targets`,children:(0,K.jsx)(ne,{defaultPort:_.Port??80,isActive:h===`targets`,targetGroupArn:_.TargetGroupArn,vpcId:_.VpcId})}),(0,K.jsxs)(H,{value:`health-checks`,children:[(0,K.jsx)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:`Health-check settings are set at creation time. Editing lands in a future enhancement.`}),(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Health check`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`Enabled`,value:_.HealthCheckEnabled===void 0?void 0:String(_.HealthCheckEnabled)}),(0,K.jsx)(I,{label:`Protocol`,value:_.HealthCheckProtocol}),(0,K.jsx)(I,{label:`Path`,value:_.HealthCheckPath}),(0,K.jsx)(I,{label:`Port`,value:_.HealthCheckPort}),(0,K.jsx)(I,{label:`Interval (s)`,value:_.HealthCheckIntervalSeconds?.toString()}),(0,K.jsx)(I,{label:`Timeout (s)`,value:_.HealthCheckTimeoutSeconds?.toString()}),(0,K.jsx)(I,{label:`Healthy threshold`,value:_.HealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Unhealthy threshold`,value:_.UnhealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Matcher (HTTP codes)`,value:_.Matcher?.HttpCode??_.Matcher?.GrpcCode})]})]})]}),(0,K.jsx)(H,{value:`attributes`,children:(0,K.jsx)(R,{attributes:y,error:c.error,isPending:c.isPending,isSuccess:c.isSuccess,onSubmit:t=>{c.mutate({targetGroupArn:e,attributes:t})},specs:L})}),(0,K.jsx)(H,{value:`tags`,children:(0,K.jsx)(z,{error:f.error,isPending:f.isPending,isSuccess:f.isSuccess,onSubmit:t=>f.mutate({resourceArn:e,tags:t,initialKeys:b.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:b})})]})]}),(0,K.jsx)(P,{description:`Are you sure you want to delete target group "${_.TargetGroupName??_.TargetGroupArn}"? This action cannot be undone.`,isPending:s.isPending,onConfirm:v,onOpenChange:m,open:p,title:`Delete Target Group`})]})}function ie(){let e=(0,W.c)(2),{id:t}=N.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,K.jsx)(re,{arn:n}),e[0]=n,e[1]=r),r}export{ie as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{Yt as s,tn as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{l as p}from"./ec2.js";import{_ as m,c as h,l as g,m as _,p as v}from"./elbv2.js";import{c as y,d as b,l as x,s as S}from"./elbv22.js";import{t as C}from"./_id14.js";import{t as w}from"./error-banner.js";import{t as T}from"./page-heading.js";import{a as E,i as D,l as O,n as k,o as A,r as j,s as M,t as N}from"./alert-dialog.js";import{t as P}from"./delete-confirmation-dialog.js";import{n as F,t as I}from"./detail-row.js";import{r as L,t as R}from"./attributes-editor.js";import{t as z}from"./tags-editor.js";import{i as B,n as V,r as H,t as U}from"./tabs.js";var W=r(),G=e(n(),1),K=t();function q(e){let t=e.trim();if(t===``)return;let n=Number(t);if(!(!Number.isInteger(n)||n<1||n>65535))return n}function J(e){let t=(0,W.c)(33),{open:n,onOpenChange:r,instances:i,defaultPort:a,isPending:o,onConfirm:s}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={},t[0]=l):l=t[0];let[u,d]=(0,G.useState)(l),[p,m]=(0,G.useState)(),[h,g]=(0,G.useState)(n);n!==h&&(g(n),n||(d({}),m(void 0)));let _;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{d(t=>{let n=t[e];return n?.checked?{...t,[e]:{...n,checked:!1}}:{...t,[e]:{checked:!0,port:n?.port??``}}})},t[1]=_):_=t[1];let v=_,y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y=(e,t)=>{d(n=>({...n,[e]:{checked:n[e]?.checked??!0,port:t}}))},t[2]=y):y=t[2];let b=y,x;t[3]!==s||t[4]!==u?(x=()=>{let e=Object.entries(u).filter(Y);if(e.length===0){m(`Select at least one instance.`);return}let t=[];for(let[n,r]of e){if(r.port.trim()===``){t.push({id:n});continue}let e=q(r.port);if(e===void 0){m(`Port for ${n} must be an integer between 1 and 65535.`);return}t.push({id:n,port:e})}m(void 0),s(t)},t[3]=s,t[4]=u,t[5]=x):x=t[5];let S=x,C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(O,{children:`Register targets`}),t[6]=C):C=t[6];let w;t[7]===a?w=t[8]:(w=(0,K.jsxs)(M,{children:[C,(0,K.jsxs)(E,{children:[`Select instances to register. Leave port blank to use the target group port (`,a,`).`]})]}),t[7]=a,t[8]=w);let T;t[9]!==a||t[10]!==i||t[11]!==u?(T=i.length===0?(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances available in this VPC.`}):(0,K.jsx)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto`,children:i.map(e=>{let t=e.InstanceId??``,n=u[t],r=n?.checked??!1,i=c(e.Tags);return(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded px-1 py-1 text-xs hover:bg-accent`,children:[(0,K.jsx)(`input`,{"aria-label":`Register target ${t}`,checked:r,id:`register-target-${t}`,onChange:()=>v(t),type:`checkbox`}),(0,K.jsxs)(`label`,{className:`flex flex-1 items-center gap-2`,htmlFor:`register-target-${t}`,children:[(0,K.jsx)(`span`,{className:`font-mono`,children:t}),i&&(0,K.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,i,`)`]}),(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:e.State?.Name??``})]}),r&&(0,K.jsx)(f,{"aria-label":`Port override for ${t}`,className:`w-24`,onChange:e=>b(t,e.target.value),placeholder:String(a),value:n?.port??``})]},t)})}),t[9]=a,t[10]=i,t[11]=u,t[12]=T):T=t[12];let P;t[13]===p?P=t[14]:(P=p&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:p}),t[13]=p,t[14]=P);let F;t[15]===o?F=t[16]:(F=(0,K.jsx)(j,{disabled:o,children:`Cancel`}),t[15]=o,t[16]=F);let I=o?`Registering…`:`Register`,L;t[17]!==S||t[18]!==o||t[19]!==I?(L=(0,K.jsx)(k,{disabled:o,onClick:S,children:I}),t[17]=S,t[18]=o,t[19]=I,t[20]=L):L=t[20];let R;t[21]!==L||t[22]!==F?(R=(0,K.jsxs)(A,{children:[F,L]}),t[21]=L,t[22]=F,t[23]=R):R=t[23];let z;t[24]!==R||t[25]!==w||t[26]!==T||t[27]!==P?(z=(0,K.jsxs)(D,{className:`sm:max-w-lg`,children:[w,T,P,R]}),t[24]=R,t[25]=w,t[26]=T,t[27]=P,t[28]=z):z=t[28];let B;return t[29]!==r||t[30]!==n||t[31]!==z?(B=(0,K.jsx)(N,{onOpenChange:r,open:n,children:z}),t[29]=r,t[30]=n,t[31]=z,t[32]=B):B=t[32],B}function Y(e){let[,t]=e;return t.checked&&t!==void 0}var X=5e3,Z=new Set([`healthy`]),Q=new Set([`unhealthy`,`unavailable`]),$=new Set([`initial`,`draining`]);function ee(e){return e&&Z.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&Q.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&$.has(e)?`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100`:`bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100`}function te(e){return`${e.Id??``}:${e.Port??``}`}function ne({targetGroupArn:e,vpcId:t,defaultPort:n,isActive:r}){let{data:o}=a(p),{data:c,isLoading:l,error:f}=i({...b(e),refetchInterval:r?X:!1,refetchIntervalInBackground:!1}),m=_(),h=g(),[v,y]=(0,G.useState)(!1),[x,S]=(0,G.useState)(),C=(o.Reservations?.flatMap(e=>e.Instances??[])??[]).filter(e=>e.VpcId===t&&e.State?.Name!==`terminated`),T=c?.TargetHealthDescriptions??[];return(0,K.jsxs)(`div`,{className:`space-y-3`,children:[m.error&&(0,K.jsx)(w,{error:m.error,msg:`Failed to register targets`}),h.error&&(0,K.jsx)(w,{error:h.error,msg:`Failed to deregister target`}),f&&(0,K.jsx)(w,{error:f,msg:`Failed to load target health`}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:l?`Loading target health…`:`${T.length} target${T.length===1?``:`s`}`}),(0,K.jsx)(d,{onClick:()=>y(!0),size:`sm`,children:`Register targets`})]}),T.length===0?(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`No targets registered.`}):(0,K.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,K.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,K.jsx)(`thead`,{children:(0,K.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`AZ`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Reason`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,K.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,K.jsx)(`tbody`,{children:T.map(e=>{let t=e.Target??{Id:``},n=e.TargetHealth?.State;return(0,K.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,K.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t.Id??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:t.Port??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:t.AvailabilityZone??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:(0,K.jsx)(`span`,{className:s(`rounded-full px-2 py-0.5 text-xs`,ee(n)),children:n??`unknown`})}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Reason??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Description??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,K.jsx)(d,{"aria-label":`Deregister ${t.Id}`,onClick:()=>S(t),size:`sm`,variant:`ghost`,children:(0,K.jsx)(u,{className:`size-4`})})})]},te(t))})})]})}),(0,K.jsx)(J,{defaultPort:n,instances:C,isPending:m.isPending,onConfirm:async t=>{try{await m.mutateAsync({targetGroupArn:e,targets:t}),y(!1)}catch{}},onOpenChange:y,open:v}),(0,K.jsx)(P,{description:x?`Deregister ${x.Id}${x.Port?`:${x.Port}`:``} from this target group?`:``,isPending:h.isPending,onConfirm:async()=>{if(x?.Id)try{await h.mutateAsync({targetGroupArn:e,targets:[{id:x.Id,port:x.Port}]})}finally{S(void 0)}},onOpenChange:e=>!e&&S(void 0),open:x!==void 0,title:`Deregister target`})]})}function re({arn:e}){let t=o(),{data:n}=a(x(e)),{data:r}=a(y(e)),{data:i}=a(S([e])),s=h(),c=v(),f=m(),[p,g]=(0,G.useState)(!1),[_,b]=(0,G.useState)(`overview`),C=n.TargetGroups?.[0];if(!C?.TargetGroupArn)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`Target group not found.`})]});let E=async()=>{try{await s.mutateAsync(e),t({to:`/ec2/describe-target-groups`})}finally{g(!1)}},D=r.Attributes??[],O=i?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[];return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),s.error&&(0,K.jsx)(w,{error:s.error,msg:`Failed to delete target group`}),(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(T,{actions:(0,K.jsxs)(d,{onClick:()=>g(!0),size:`sm`,variant:`destructive`,children:[(0,K.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`Target Group Details`,title:C.TargetGroupName??C.TargetGroupArn}),(0,K.jsxs)(U,{onValueChange:b,value:_,children:[(0,K.jsxs)(V,{children:[(0,K.jsx)(B,{value:`overview`,children:`Overview`}),(0,K.jsx)(B,{value:`targets`,children:`Targets`}),(0,K.jsx)(B,{value:`health-checks`,children:`Health checks`}),(0,K.jsx)(B,{value:`attributes`,children:`Attributes`}),(0,K.jsx)(B,{value:`tags`,children:`Tags`})]}),(0,K.jsx)(H,{value:`overview`,children:(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Target group`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`ARN`,value:C.TargetGroupArn}),(0,K.jsx)(I,{label:`Protocol`,value:C.Protocol}),(0,K.jsx)(I,{label:`Port`,value:C.Port?.toString()}),(0,K.jsx)(I,{label:`VPC`,value:C.VpcId}),(0,K.jsx)(I,{label:`Target type`,value:C.TargetType}),(0,K.jsx)(I,{label:`Protocol version`,value:C.ProtocolVersion}),(0,K.jsx)(I,{label:`IP address type`,value:C.IpAddressType})]})]})}),(0,K.jsx)(H,{value:`targets`,children:(0,K.jsx)(ne,{defaultPort:C.Port??80,isActive:_===`targets`,targetGroupArn:C.TargetGroupArn,vpcId:C.VpcId})}),(0,K.jsxs)(H,{value:`health-checks`,children:[(0,K.jsx)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:`Health-check settings are set at creation time. Editing lands in a future enhancement.`}),(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Health check`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`Enabled`,value:C.HealthCheckEnabled===void 0?void 0:String(C.HealthCheckEnabled)}),(0,K.jsx)(I,{label:`Protocol`,value:C.HealthCheckProtocol}),(0,K.jsx)(I,{label:`Path`,value:C.HealthCheckPath}),(0,K.jsx)(I,{label:`Port`,value:C.HealthCheckPort}),(0,K.jsx)(I,{label:`Interval (s)`,value:C.HealthCheckIntervalSeconds?.toString()}),(0,K.jsx)(I,{label:`Timeout (s)`,value:C.HealthCheckTimeoutSeconds?.toString()}),(0,K.jsx)(I,{label:`Healthy threshold`,value:C.HealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Unhealthy threshold`,value:C.UnhealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Matcher (HTTP codes)`,value:C.Matcher?.HttpCode??C.Matcher?.GrpcCode})]})]})]}),(0,K.jsx)(H,{value:`attributes`,children:(0,K.jsx)(R,{attributes:D,error:c.error,isPending:c.isPending,isSuccess:c.isSuccess,onSubmit:t=>{c.mutate({targetGroupArn:e,attributes:t})},specs:L})}),(0,K.jsx)(H,{value:`tags`,children:(0,K.jsx)(z,{error:f.error,isPending:f.isPending,isSuccess:f.isSuccess,onSubmit:t=>f.mutate({resourceArn:e,tags:t,initialKeys:O.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:O})})]})]}),(0,K.jsx)(P,{description:`Are you sure you want to delete target group "${C.TargetGroupName??C.TargetGroupArn}"? This action cannot be undone.`,isPending:s.isPending,onConfirm:E,onOpenChange:g,open:p,title:`Delete Target Group`})]})}function ie(){let e=(0,W.c)(2),{id:t}=C.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,K.jsx)(re,{arn:n}),e[0]=n,e[1]=r),r}export{ie as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id36.js b/spinifex/services/spinifexui/frontend/dist/assets/_id36.js index 1aca04a3a..c7be2dce9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id36.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id36.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as ee}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{t as te}from"./camera.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./trash-2.js";import{n as h,t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,t as y}from"./field.js";import{a as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D}from"./alert-dialog.js";import{k as O,l as k}from"./ec2.js";import{H as A,R as j,s as ne}from"./ec22.js";import{t as M}from"./error-banner.js";import{t as re}from"./page-heading.js";import{t as ie}from"./_id15.js";import{t as ae}from"./delete-confirmation-dialog.js";import{n as N,t as P}from"./detail-row.js";import{t as F}from"./state-badge.js";var I=s(`link-2-off`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`,key:`10o201`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`,key:`1d3206`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`,key:`rvw6j4`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}]]),L=s(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),R=e(n()),z=t();function B(){let{id:e}=ie.useParams(),t=a(),{data:n}=r(O(e)),{data:s}=r(k),B=n.Volumes?.[0],V=j(),H=ne(),U=A(),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(``),[J,Y]=(0,R.useState)(``),[X,Z]=(0,R.useState)(!1),oe=s.Reservations?.flatMap(e=>e.Instances?.filter(e=>e.State?.Name===`running`)??[])??[],Q=B?.State===`available`&&(!B.Attachments||B.Attachments.length===0),$=()=>G(null);return B?.VolumeId?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(c,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),V.error&&(0,z.jsx)(M,{error:V.error,msg:`Failed to delete volume`}),H.error&&(0,z.jsx)(M,{error:H.error,msg:`Failed to attach volume`}),U.error&&(0,z.jsx)(M,{error:U.error,msg:`Failed to detach volume`}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(re,{actions:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(g,{disabled:!Q,onClick:()=>G(`delete`),size:`sm`,variant:`destructive`,children:[(0,z.jsx)(m,{className:`size-4`}),`Delete`]}),Q?(0,z.jsx)(i,{className:h({variant:`outline`}),params:{id:B.VolumeId},to:`/ec2/modify-volume/$id`,children:`Resize Volume`}):(0,z.jsx)(g,{disabled:!0,variant:`outline`,children:`Resize Volume`}),Q?(0,z.jsxs)(g,{onClick:()=>G(`attach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(L,{className:`size-4`}),`Attach`]}):null,B.Attachments&&B.Attachments.length>0?(0,z.jsxs)(g,{onClick:()=>G(`detach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(I,{className:`size-4`}),`Detach`]}):null,(0,z.jsxs)(i,{className:h({variant:`outline`,size:`sm`}),search:{volumeId:B.VolumeId},to:`/ec2/create-snapshot`,children:[(0,z.jsx)(te,{className:`size-4`}),`Create Snapshot`]}),(0,z.jsx)(F,{state:B.State})]}),subtitle:`Volume Details`,title:B.VolumeId}),(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Volume Information`}),(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Volume ID`,value:B.VolumeId}),(0,z.jsx)(P,{label:`Size`,value:`${B.Size} GiB`}),(0,z.jsx)(P,{label:`Volume Type`,value:B.VolumeType}),(0,z.jsx)(P,{label:`State`,value:B.State}),(0,z.jsx)(P,{label:`Availability Zone`,value:B.AvailabilityZone}),(0,z.jsx)(P,{label:`Create Time`,value:o(B.CreateTime)}),(0,z.jsx)(P,{label:`Encrypted`,value:B.Encrypted?`Yes`:`No`}),(0,z.jsx)(P,{label:`KMS Key ID`,value:B.KmsKeyId})]})]}),B.Attachments&&B.Attachments.length>0&&(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Attachments`}),B.Attachments.map(e=>(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Instance ID`,value:e.InstanceId?(0,z.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,z.jsx)(P,{label:`Device`,value:e.Device}),(0,z.jsx)(P,{label:`Status`,value:e.State}),(0,z.jsx)(P,{label:`Attach Time`,value:o(e.AttachTime)}),(0,z.jsx)(P,{label:`Delete on Termination`,value:e.DeleteOnTermination?`Yes`:`No`})]},e.InstanceId))]})]}),(0,z.jsx)(ae,{description:`Are you sure you want to delete the volume "${B.VolumeId}"? This action cannot be undone.`,isPending:V.isPending,onConfirm:async()=>{try{await V.mutateAsync(e),t({to:`/ec2/describe-volumes`})}finally{$()}},onOpenChange:e=>{e||$()},open:W===`delete`,title:`Delete Volume`}),(0,z.jsx)(D,{onOpenChange:e=>{e||($(),q(``),Y(``))},open:W===`attach`,children:(0,z.jsxs)(x,{children:[(0,z.jsxs)(E,{children:[(0,z.jsx)(S,{children:`Attach Volume`}),(0,z.jsx)(b,{children:`Attach this volume to a running instance.`})]}),(0,z.jsxs)(y,{children:[(0,z.jsx)(v,{children:(0,z.jsx)(`label`,{htmlFor:`attachInstance`,children:`Instance`})}),(0,z.jsxs)(p,{onValueChange:e=>q(e??``),value:K,children:[(0,z.jsx)(f,{className:`w-full`,id:`attachInstance`,children:(0,z.jsx)(l,{placeholder:`Select an instance`})}),(0,z.jsx)(d,{children:oe.map(e=>{let t=ee(e.Tags);return(0,z.jsxs)(u,{value:e.InstanceId??``,children:[e.InstanceId,t?` (${t})`:``]},e.InstanceId)})})]})]}),(0,z.jsxs)(y,{children:[(0,z.jsx)(v,{children:(0,z.jsx)(`label`,{htmlFor:`attachDevice`,children:`Device (optional)`})}),(0,z.jsx)(_,{id:`attachDevice`,onChange:e=>Y(e.target.value),placeholder:`/dev/sdf`,value:J})]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(T,{children:`Cancel`}),(0,z.jsx)(C,{disabled:H.isPending||!K,onClick:async()=>{try{await H.mutateAsync({volumeId:e,instanceId:K,device:J||void 0}),$(),q(``),Y(``)}catch{}},children:H.isPending?`Attaching…`:`Attach`})]})]})}),(0,z.jsx)(D,{onOpenChange:e=>{e||($(),Z(!1))},open:W===`detach`,children:(0,z.jsxs)(x,{children:[(0,z.jsxs)(E,{children:[(0,z.jsx)(S,{children:`Detach Volume`}),(0,z.jsxs)(b,{children:[`Are you sure you want to detach the volume "`,B.VolumeId,`" from instance "`,B.Attachments?.[0]?.InstanceId,`"?`]})]}),(0,z.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,z.jsx)(`input`,{"aria-label":`Force detach`,checked:X,onChange:e=>Z(e.target.checked),type:`checkbox`}),`Force detach`]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(T,{children:`Cancel`}),(0,z.jsx)(C,{disabled:U.isPending,onClick:async()=>{let t=B?.Attachments?.[0]?.InstanceId;try{await U.mutateAsync({volumeId:e,instanceId:t??void 0,force:X||void 0}),$(),Z(!1)}catch{}},children:U.isPending?`Detaching…`:`Detach`})]})]})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(c,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]})}export{B as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as ee}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{t as l}from"./camera.js";import{c as u,i as d,n as f,s as p,t as m}from"./select.js";import{t as h}from"./trash-2.js";import{n as g,t as _}from"./button.js";import{t as v}from"./input.js";import{k as te,l as ne}from"./ec2.js";import{H as re,R as ie,s as y}from"./ec22.js";import{t as b}from"./_id15.js";import{t as x}from"./error-banner.js";import{t as S}from"./page-heading.js";import{a as C,t as w}from"./field.js";import{a as T,i as E,l as D,n as O,o as k,r as A,s as j,t as M}from"./alert-dialog.js";import{t as ae}from"./delete-confirmation-dialog.js";import{n as N,t as P}from"./detail-row.js";import{t as F}from"./state-badge.js";var I=s(`link-2-off`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`,key:`10o201`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`,key:`1d3206`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`,key:`rvw6j4`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}]]),L=s(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),R=e(n()),z=t();function B(){let{id:e}=b.useParams(),t=a(),{data:n}=r(te(e)),{data:s}=r(ne),B=n.Volumes?.[0],V=ie(),H=y(),U=re(),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(``),[J,Y]=(0,R.useState)(``),[X,Z]=(0,R.useState)(!1),oe=s.Reservations?.flatMap(e=>e.Instances?.filter(e=>e.State?.Name===`running`)??[])??[],Q=B?.State===`available`&&(!B.Attachments||B.Attachments.length===0),$=()=>G(null);return B?.VolumeId?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(c,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),V.error&&(0,z.jsx)(x,{error:V.error,msg:`Failed to delete volume`}),H.error&&(0,z.jsx)(x,{error:H.error,msg:`Failed to attach volume`}),U.error&&(0,z.jsx)(x,{error:U.error,msg:`Failed to detach volume`}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(S,{actions:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(_,{disabled:!Q,onClick:()=>G(`delete`),size:`sm`,variant:`destructive`,children:[(0,z.jsx)(h,{className:`size-4`}),`Delete`]}),Q?(0,z.jsx)(i,{className:g({variant:`outline`}),params:{id:B.VolumeId},to:`/ec2/modify-volume/$id`,children:`Resize Volume`}):(0,z.jsx)(_,{disabled:!0,variant:`outline`,children:`Resize Volume`}),Q?(0,z.jsxs)(_,{onClick:()=>G(`attach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(L,{className:`size-4`}),`Attach`]}):null,B.Attachments&&B.Attachments.length>0?(0,z.jsxs)(_,{onClick:()=>G(`detach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(I,{className:`size-4`}),`Detach`]}):null,(0,z.jsxs)(i,{className:g({variant:`outline`,size:`sm`}),search:{volumeId:B.VolumeId},to:`/ec2/create-snapshot`,children:[(0,z.jsx)(l,{className:`size-4`}),`Create Snapshot`]}),(0,z.jsx)(F,{state:B.State})]}),subtitle:`Volume Details`,title:B.VolumeId}),(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Volume Information`}),(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Volume ID`,value:B.VolumeId}),(0,z.jsx)(P,{label:`Size`,value:`${B.Size} GiB`}),(0,z.jsx)(P,{label:`Volume Type`,value:B.VolumeType}),(0,z.jsx)(P,{label:`State`,value:B.State}),(0,z.jsx)(P,{label:`Availability Zone`,value:B.AvailabilityZone}),(0,z.jsx)(P,{label:`Create Time`,value:o(B.CreateTime)}),(0,z.jsx)(P,{label:`Encrypted`,value:B.Encrypted?`Yes`:`No`}),(0,z.jsx)(P,{label:`KMS Key ID`,value:B.KmsKeyId})]})]}),B.Attachments&&B.Attachments.length>0&&(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Attachments`}),B.Attachments.map(e=>(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Instance ID`,value:e.InstanceId?(0,z.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,z.jsx)(P,{label:`Device`,value:e.Device}),(0,z.jsx)(P,{label:`Status`,value:e.State}),(0,z.jsx)(P,{label:`Attach Time`,value:o(e.AttachTime)}),(0,z.jsx)(P,{label:`Delete on Termination`,value:e.DeleteOnTermination?`Yes`:`No`})]},e.InstanceId))]})]}),(0,z.jsx)(ae,{description:`Are you sure you want to delete the volume "${B.VolumeId}"? This action cannot be undone.`,isPending:V.isPending,onConfirm:async()=>{try{await V.mutateAsync(e),t({to:`/ec2/describe-volumes`})}finally{$()}},onOpenChange:e=>{e||$()},open:W===`delete`,title:`Delete Volume`}),(0,z.jsx)(M,{onOpenChange:e=>{e||($(),q(``),Y(``))},open:W===`attach`,children:(0,z.jsxs)(E,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(D,{children:`Attach Volume`}),(0,z.jsx)(T,{children:`Attach this volume to a running instance.`})]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(C,{children:(0,z.jsx)(`label`,{htmlFor:`attachInstance`,children:`Instance`})}),(0,z.jsxs)(m,{onValueChange:e=>q(e??``),value:K,children:[(0,z.jsx)(p,{className:`w-full`,id:`attachInstance`,children:(0,z.jsx)(u,{placeholder:`Select an instance`})}),(0,z.jsx)(f,{children:oe.map(e=>{let t=ee(e.Tags);return(0,z.jsxs)(d,{value:e.InstanceId??``,children:[e.InstanceId,t?` (${t})`:``]},e.InstanceId)})})]})]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(C,{children:(0,z.jsx)(`label`,{htmlFor:`attachDevice`,children:`Device (optional)`})}),(0,z.jsx)(v,{id:`attachDevice`,onChange:e=>Y(e.target.value),placeholder:`/dev/sdf`,value:J})]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(A,{children:`Cancel`}),(0,z.jsx)(O,{disabled:H.isPending||!K,onClick:async()=>{try{await H.mutateAsync({volumeId:e,instanceId:K,device:J||void 0}),$(),q(``),Y(``)}catch{}},children:H.isPending?`Attaching…`:`Attach`})]})]})}),(0,z.jsx)(M,{onOpenChange:e=>{e||($(),Z(!1))},open:W===`detach`,children:(0,z.jsxs)(E,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(D,{children:`Detach Volume`}),(0,z.jsxs)(T,{children:[`Are you sure you want to detach the volume "`,B.VolumeId,`" from instance "`,B.Attachments?.[0]?.InstanceId,`"?`]})]}),(0,z.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,z.jsx)(`input`,{"aria-label":`Force detach`,checked:X,onChange:e=>Z(e.target.checked),type:`checkbox`}),`Force detach`]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(A,{children:`Cancel`}),(0,z.jsx)(O,{disabled:U.isPending,onClick:async()=>{let t=B?.Attachments?.[0]?.InstanceId;try{await U.mutateAsync({volumeId:e,instanceId:t??void 0,force:X||void 0}),$(),Z(!1)}catch{}},children:U.isPending?`Detaching…`:`Detach`})]})]})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(c,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]})}export{B as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id37.js b/spinifex/services/spinifexui/frontend/dist/assets/_id37.js index a93025d24..879ca2929 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id37.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id37.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{k as l}from"./ec2.js";import{X as u}from"./ec22.js";import{i as d,t as f}from"./zod.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{y as h}from"./ec23.js";import{t as g}from"./form-actions.js";import{t as _}from"./_id16.js";var v=t(),y=e();function b(){let e=(0,v.c)(53),{id:t}=_.useParams(),b=r(),x;e[0]===t?x=e[1]:(x=l(t),e[0]=t,e[1]=x);let{data:S}=n(x),C=S.Volumes?.[0],w=C?.VolumeId,T=u(),E=C?.Size??1,D;e[2]===E?D=e[3]:(D=f(h.refine(e=>e.size>E,{message:`New size must be greater than current size (${E} GiB)`,path:[`size`]})),e[2]=E,e[3]=D);let O;e[4]===E?O=e[5]:(O={size:E},e[4]=E,e[5]=O);let k;e[6]!==D||e[7]!==O?(k={resolver:D,defaultValues:O},e[6]=D,e[7]=O,e[8]=k):k=e[8];let{handleSubmit:A,register:j,formState:M}=d(k),{errors:N,isSubmitting:P}=M;if(!w){let t;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(i,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]}),e[9]=t):t=e[9],t}let F;e[10]!==T||e[11]!==b||e[12]!==w?(F=async e=>{await T.mutateAsync({...e,volumeId:w}),b({to:`/ec2/describe-volumes/$id`,params:{id:w}})},e[10]=T,e[11]=b,e[12]=w,e[13]=F):F=e[13];let I=F,L,R;e[14]===w?(L=e[15],R=e[16]):(L=(0,y.jsx)(i,{params:{id:w},to:`/ec2/describe-volumes/$id`,children:`Back to volume`}),R=(0,y.jsx)(m,{subtitle:w,title:`Resize Volume`}),e[14]=w,e[15]=L,e[16]=R);let z;e[17]===T.error?z=e[18]:(z=T.error&&(0,y.jsx)(p,{error:T.error,msg:`Failed to resize volume`}),e[17]=T.error,e[18]=z);let B;e[19]!==A||e[20]!==I?(B=A(I),e[19]=A,e[20]=I,e[21]=B):B=e[21];let V;e[22]===E?V=e[23]:(V=(0,y.jsx)(`div`,{className:`space-y-2`,children:(0,y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Current size: `,E,` GiB`]})}),e[22]=E,e[23]=V);let H;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,y.jsx)(o,{children:(0,y.jsx)(`label`,{htmlFor:`size`,children:`New size (GiB)`})}),e[24]=H):H=e[24];let U=!!N.size,W=E+1,G;e[25]===j?G=e[26]:(G=j(`size`,{valueAsNumber:!0}),e[25]=j,e[26]=G);let K;e[27]!==U||e[28]!==W||e[29]!==G?(K=(0,y.jsx)(a,{"aria-invalid":U,id:`size`,min:W,type:`number`,...G}),e[27]=U,e[28]=W,e[29]=G,e[30]=K):K=e[30];let q;e[31]===N.size?q=e[32]:(q=(0,y.jsx)(s,{errors:[N.size]}),e[31]=N.size,e[32]=q);let J;e[33]!==K||e[34]!==q?(J=(0,y.jsxs)(c,{children:[H,K,q]}),e[33]=K,e[34]=q,e[35]=J):J=e[35];let Y;e[36]!==b||e[37]!==w?(Y=async()=>await b({to:`/ec2/describe-volumes/$id`,params:{id:w}}),e[36]=b,e[37]=w,e[38]=Y):Y=e[38];let X;e[39]!==P||e[40]!==T.isPending||e[41]!==Y?(X=(0,y.jsx)(g,{isPending:T.isPending,isSubmitting:P,onCancel:Y,pendingLabel:`Resizing\\u2026`,submitLabel:`Resize Volume`}),e[39]=P,e[40]=T.isPending,e[41]=Y,e[42]=X):X=e[42];let Z;e[43]!==V||e[44]!==J||e[45]!==X||e[46]!==B?(Z=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:B,children:[V,J,X]}),e[43]=V,e[44]=J,e[45]=X,e[46]=B,e[47]=Z):Z=e[47];let Q;return e[48]!==Z||e[49]!==L||e[50]!==R||e[51]!==z?(Q=(0,y.jsxs)(y.Fragment,{children:[L,R,z,Z]}),e[48]=Z,e[49]=L,e[50]=R,e[51]=z,e[52]=Q):Q=e[52],Q}export{b as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{t as a}from"./input.js";import{k as o}from"./ec2.js";import{X as s}from"./ec22.js";import{t as c}from"./_id16.js";import{i as l,t as u}from"./zod.js";import{t as d}from"./error-banner.js";import{t as f}from"./form-actions.js";import{t as p}from"./page-heading.js";import{a as m,r as h,t as g}from"./field.js";import{y as _}from"./ec23.js";var v=t(),y=e();function b(){let e=(0,v.c)(53),{id:t}=c.useParams(),b=r(),x;e[0]===t?x=e[1]:(x=o(t),e[0]=t,e[1]=x);let{data:S}=n(x),C=S.Volumes?.[0],w=C?.VolumeId,T=s(),E=C?.Size??1,D;e[2]===E?D=e[3]:(D=u(_.refine(e=>e.size>E,{message:`New size must be greater than current size (${E} GiB)`,path:[`size`]})),e[2]=E,e[3]=D);let O;e[4]===E?O=e[5]:(O={size:E},e[4]=E,e[5]=O);let k;e[6]!==D||e[7]!==O?(k={resolver:D,defaultValues:O},e[6]=D,e[7]=O,e[8]=k):k=e[8];let{handleSubmit:A,register:j,formState:M}=l(k),{errors:N,isSubmitting:P}=M;if(!w){let t;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(i,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]}),e[9]=t):t=e[9],t}let F;e[10]!==T||e[11]!==b||e[12]!==w?(F=async e=>{await T.mutateAsync({...e,volumeId:w}),b({to:`/ec2/describe-volumes/$id`,params:{id:w}})},e[10]=T,e[11]=b,e[12]=w,e[13]=F):F=e[13];let I=F,L,R;e[14]===w?(L=e[15],R=e[16]):(L=(0,y.jsx)(i,{params:{id:w},to:`/ec2/describe-volumes/$id`,children:`Back to volume`}),R=(0,y.jsx)(p,{subtitle:w,title:`Resize Volume`}),e[14]=w,e[15]=L,e[16]=R);let z;e[17]===T.error?z=e[18]:(z=T.error&&(0,y.jsx)(d,{error:T.error,msg:`Failed to resize volume`}),e[17]=T.error,e[18]=z);let B;e[19]!==A||e[20]!==I?(B=A(I),e[19]=A,e[20]=I,e[21]=B):B=e[21];let V;e[22]===E?V=e[23]:(V=(0,y.jsx)(`div`,{className:`space-y-2`,children:(0,y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Current size: `,E,` GiB`]})}),e[22]=E,e[23]=V);let H;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,y.jsx)(m,{children:(0,y.jsx)(`label`,{htmlFor:`size`,children:`New size (GiB)`})}),e[24]=H):H=e[24];let U=!!N.size,W=E+1,G;e[25]===j?G=e[26]:(G=j(`size`,{valueAsNumber:!0}),e[25]=j,e[26]=G);let K;e[27]!==U||e[28]!==W||e[29]!==G?(K=(0,y.jsx)(a,{"aria-invalid":U,id:`size`,min:W,type:`number`,...G}),e[27]=U,e[28]=W,e[29]=G,e[30]=K):K=e[30];let q;e[31]===N.size?q=e[32]:(q=(0,y.jsx)(h,{errors:[N.size]}),e[31]=N.size,e[32]=q);let J;e[33]!==K||e[34]!==q?(J=(0,y.jsxs)(g,{children:[H,K,q]}),e[33]=K,e[34]=q,e[35]=J):J=e[35];let Y;e[36]!==b||e[37]!==w?(Y=async()=>await b({to:`/ec2/describe-volumes/$id`,params:{id:w}}),e[36]=b,e[37]=w,e[38]=Y):Y=e[38];let X;e[39]!==P||e[40]!==T.isPending||e[41]!==Y?(X=(0,y.jsx)(f,{isPending:T.isPending,isSubmitting:P,onCancel:Y,pendingLabel:`Resizing\\u2026`,submitLabel:`Resize Volume`}),e[39]=P,e[40]=T.isPending,e[41]=Y,e[42]=X):X=e[42];let Z;e[43]!==V||e[44]!==J||e[45]!==X||e[46]!==B?(Z=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:B,children:[V,J,X]}),e[43]=V,e[44]=J,e[45]=X,e[46]=B,e[47]=Z):Z=e[47];let Q;return e[48]!==Z||e[49]!==L||e[50]!==R||e[51]!==z?(Q=(0,y.jsxs)(y.Fragment,{children:[L,R,z,Z]}),e[48]=Z,e[49]=L,e[50]=R,e[51]=z,e[52]=Q):Q=e[52],Q}export{b as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id38.js b/spinifex/services/spinifexui/frontend/dist/assets/_id38.js index d8461a86d..25dc9e9a5 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id38.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id38.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{O as u,j as d}from"./ec2.js";import{z as f}from"./ec22.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./_id17.js";import{t as g}from"./delete-confirmation-dialog.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./state-badge.js";var b=e(n()),x=t();function S(){let{id:e}=h.useParams(),t=a(),{data:n}=r(d(e)),{data:S}=r(u),C=n.Vpcs?.[0],w=f(),[T,E]=(0,b.useState)(!1),D=S.Subnets?.filter(t=>t.VpcId===e)??[],O=async()=>{try{await w.mutateAsync(e),t({to:`/ec2/describe-vpcs`})}finally{E(!1)}};if(!C?.VpcId)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`VPC not found.`})]});let k=o(C.Tags);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),w.error&&(0,x.jsx)(p,{error:w.error,msg:`Failed to delete VPC`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(m,{actions:(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(l,{onClick:()=>E(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(c,{className:`size-4`}),`Delete`]}),(0,x.jsx)(y,{state:C.State})]}),subtitle:`VPC Details`,title:k?`${C.VpcId} (${k})`:C.VpcId}),(0,x.jsxs)(_,{children:[(0,x.jsx)(_.Header,{children:`VPC Information`}),(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`VPC ID`,value:C.VpcId}),(0,x.jsx)(v,{label:`State`,value:C.State}),(0,x.jsx)(v,{label:`CIDR Block`,value:C.CidrBlock}),(0,x.jsx)(v,{label:`Is Default`,value:C.IsDefault?`Yes`:`No`}),(0,x.jsx)(v,{label:`DHCP Options ID`,value:C.DhcpOptionsId}),(0,x.jsx)(v,{label:`Instance Tenancy`,value:C.InstanceTenancy}),(0,x.jsx)(v,{label:`Owner ID`,value:C.OwnerId})]})]}),D.length>0&&(0,x.jsxs)(_,{children:[(0,x.jsxs)(_.Header,{children:[`Subnets (`,D.length,`)`]}),D.map(e=>e.SubnetId?(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`Subnet ID`,value:(0,x.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.SubnetId},to:`/ec2/describe-subnets/$id`,children:e.SubnetId})}),(0,x.jsx)(v,{label:`CIDR Block`,value:e.CidrBlock}),(0,x.jsx)(v,{label:`Availability Zone`,value:e.AvailabilityZone}),(0,x.jsx)(v,{label:`State`,value:e.State})]},e.SubnetId):null)]})]}),(0,x.jsx)(g,{description:`Are you sure you want to delete the VPC "${C.VpcId}"? This action cannot be undone. The VPC must have no associated subnets or internet gateways.`,isPending:w.isPending,onConfirm:O,onOpenChange:E,open:T,title:`Delete VPC`})]})}export{S as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{O as u,j as d}from"./ec2.js";import{z as f}from"./ec22.js";import{t as p}from"./_id17.js";import{t as m}from"./error-banner.js";import{t as h}from"./page-heading.js";import{t as g}from"./delete-confirmation-dialog.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./state-badge.js";var b=e(n()),x=t();function S(){let{id:e}=p.useParams(),t=a(),{data:n}=r(d(e)),{data:S}=r(u),C=n.Vpcs?.[0],w=f(),[T,E]=(0,b.useState)(!1),D=S.Subnets?.filter(t=>t.VpcId===e)??[],O=async()=>{try{await w.mutateAsync(e),t({to:`/ec2/describe-vpcs`})}finally{E(!1)}};if(!C?.VpcId)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`VPC not found.`})]});let k=o(C.Tags);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),w.error&&(0,x.jsx)(m,{error:w.error,msg:`Failed to delete VPC`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(h,{actions:(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(l,{onClick:()=>E(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(c,{className:`size-4`}),`Delete`]}),(0,x.jsx)(y,{state:C.State})]}),subtitle:`VPC Details`,title:k?`${C.VpcId} (${k})`:C.VpcId}),(0,x.jsxs)(_,{children:[(0,x.jsx)(_.Header,{children:`VPC Information`}),(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`VPC ID`,value:C.VpcId}),(0,x.jsx)(v,{label:`State`,value:C.State}),(0,x.jsx)(v,{label:`CIDR Block`,value:C.CidrBlock}),(0,x.jsx)(v,{label:`Is Default`,value:C.IsDefault?`Yes`:`No`}),(0,x.jsx)(v,{label:`DHCP Options ID`,value:C.DhcpOptionsId}),(0,x.jsx)(v,{label:`Instance Tenancy`,value:C.InstanceTenancy}),(0,x.jsx)(v,{label:`Owner ID`,value:C.OwnerId})]})]}),D.length>0&&(0,x.jsxs)(_,{children:[(0,x.jsxs)(_.Header,{children:[`Subnets (`,D.length,`)`]}),D.map(e=>e.SubnetId?(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`Subnet ID`,value:(0,x.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.SubnetId},to:`/ec2/describe-subnets/$id`,children:e.SubnetId})}),(0,x.jsx)(v,{label:`CIDR Block`,value:e.CidrBlock}),(0,x.jsx)(v,{label:`Availability Zone`,value:e.AvailabilityZone}),(0,x.jsx)(v,{label:`State`,value:e.State})]},e.SubnetId):null)]})]}),(0,x.jsx)(g,{description:`Are you sure you want to delete the VPC "${C.VpcId}"? This action cannot be undone. The VPC must have no associated subnets or internet gateways.`,isPending:w.isPending,onConfirm:O,onOpenChange:E,open:T,title:`Delete VPC`})]})}export{S as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id39.js b/spinifex/services/spinifexui/frontend/dist/assets/_id39.js index d66d3e2f3..81e0bb933 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id39.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id39.js @@ -1,4 +1,4 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{$t as o,Qt as s,t as c}from"./cluster-config.js";import{t as l}from"./button.js";import{a as u,i as d,l as f,n as p,o as m,r as h,s as g,t as _}from"./alert-dialog.js";import{i as v,n as y,r as b,t as x}from"./ecr.js";import{a as S,c as C,l as w,o as T,r as E,s as D,t as O}from"./ecr2.js";import{t as k}from"./page-heading.js";import{r as A}from"./json.js";import{t as j}from"./_id18.js";import{t as M}from"./badge.js";import{i as N,n as P,r as F,t as I}from"./tabs.js";import{t as ee}from"./json-editor.js";var L=r(),R=e(n(),1),z=t(),B=`{ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{$t as o,Qt as s,t as c}from"./cluster-config.js";import{t as l}from"./button.js";import{i as u,n as d,r as f,t as p}from"./ecr.js";import{a as m,c as h,l as g,o as _,r as v,s as y,t as b}from"./ecr2.js";import{r as x}from"./json.js";import{t as S}from"./_id18.js";import{t as C}from"./page-heading.js";import{a as w,i as T,l as E,n as D,o as O,r as k,s as A,t as j}from"./alert-dialog.js";import{t as M}from"./badge.js";import{i as N,n as P,r as F,t as I}from"./tabs.js";import{t as ee}from"./json-editor.js";var L=r(),R=e(n(),1),z=t(),B=`{ "rules": [ { "rulePriority": 1, @@ -12,6 +12,6 @@ import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}fro "action": { "type": "expire" } } ] -}`;function te(e){let t=(0,L.c)(54),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=C(),s=E(),c=T(),[u,d]=(0,R.useState)(a??``),[f,p]=(0,R.useState)(a);a!==f&&(p(a),d(a??``));let m;t[2]!==u||t[3]!==o||t[4]!==n?(m=async function(){try{await o.mutateAsync({repositoryName:n,lifecyclePolicyText:u})}catch{}},t[2]=u,t[3]=o,t[4]=n,t[5]=m):m=t[5];let h=m,g;t[6]!==s||t[7]!==n?(g=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=g):g=t[8];let _=g,v;t[9]!==c||t[10]!==n?(v=async function(){try{await c.mutateAsync(n)}catch{}},t[9]=c,t[10]=n,t[11]=v):v=t[11];let y=v,b;t[12]===u?b=t[13]:(b=u.trim(),t[12]=u,t[13]=b);let S=b,w;t[14]!==u||t[15]!==S.length?(w=S.length>0&&!A(u),t[14]=u,t[15]=S.length,t[16]=w):w=t[16];let D=w,O=o.error??s.error??c.error,k;t[17]===c.data?.previewResults?k=t[18]:(k=c.data?.previewResults??[],t[17]=c.data?.previewResults,t[18]=k);let j=k,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Lifecycle policy`}),t[19]=M):M=t[19];let N=s.isPending||!a,P=s.isPending?`Deleting…`:`Delete`,F;t[20]!==_||t[21]!==P||t[22]!==N?(F=(0,z.jsx)(l,{disabled:N,onClick:_,size:`sm`,variant:`destructive`,children:P}),t[20]=_,t[21]=P,t[22]=N,t[23]=F):F=t[23];let I=c.isPending||!a,te=c.isPending?`Previewing…`:`Preview`,V;t[24]!==y||t[25]!==I||t[26]!==te?(V=(0,z.jsx)(l,{disabled:I,onClick:y,size:`sm`,variant:`outline`,children:te}),t[24]=y,t[25]=I,t[26]=te,t[27]=V):V=t[27];let H=o.isPending||S.length===0||D,U=o.isPending?`Saving…`:`Save`,W;t[28]!==h||t[29]!==H||t[30]!==U?(W=(0,z.jsx)(l,{disabled:H,onClick:h,size:`sm`,children:U}),t[28]=h,t[29]=H,t[30]=U,t[31]=W):W=t[31];let G;t[32]!==F||t[33]!==V||t[34]!==W?(G=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[M,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[F,V,W]})]}),t[32]=F,t[33]=V,t[34]=W,t[35]=G):G=t[35];let K;t[36]!==u||t[37]!==D?(K=(0,z.jsx)(ee,{className:`text-xs`,error:D,onChange:d,placeholder:B,rows:14,value:u}),t[36]=u,t[37]=D,t[38]=K):K=t[38];let q;t[39]===D?q=t[40]:(q=D&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Lifecycle policy must be valid JSON.`}),t[39]=D,t[40]=q);let J;t[41]===O?J=t[42]:(J=O&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:O.message}),t[41]=O,t[42]=J);let Y;t[43]!==G||t[44]!==K||t[45]!==q||t[46]!==J?(Y=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[G,K,q,J]}),t[43]=G,t[44]=K,t[45]=q,t[46]=J,t[47]=Y):Y=t[47];let X;t[48]!==c.isSuccess||t[49]!==j?(X=c.isSuccess&&(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`h3`,{className:`mb-2 text-sm font-medium`,children:[`Preview: `,j.length,` image`,j.length===1?``:`s`,` would expire`]}),j.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Rule`})]})}),(0,z.jsx)(`tbody`,{children:j.map(ne)})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images match this policy.`})]}),t[48]=c.isSuccess,t[49]=j,t[50]=X):X=t[50];let Z;return t[51]!==Y||t[52]!==X?(Z=(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Y,X]}),t[51]=Y,t[52]=X,t[53]=Z):Z=t[53],Z}function ne(e){return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[e.imageDigest?.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.appliedRulePriority})]},e.imageDigest)}function V(e){let t=(0,L.c)(38),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=w(),s=S(),[c,u]=(0,R.useState)(a??``),[d,f]=(0,R.useState)(a);a!==d&&(f(a),u(a??``));let p;t[2]!==c||t[3]!==n||t[4]!==o?(p=async function(){try{await o.mutateAsync({repositoryName:n,policyText:c})}catch{}},t[2]=c,t[3]=n,t[4]=o,t[5]=p):p=t[5];let m=p,h;t[6]!==s||t[7]!==n?(h=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=h):h=t[8];let g=h,_;t[9]===c?_=t[10]:(_=c.trim(),t[9]=c,t[10]=_);let y=_,b;t[11]!==c||t[12]!==y.length?(b=y.length>0&&!A(c),t[11]=c,t[12]=y.length,t[13]=b):b=t[13];let x=b,C=o.error??s.error,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Repository policy`}),t[14]=T):T=t[14];let E=s.isPending||!a,D=s.isPending?`Deleting…`:`Delete`,O;t[15]!==g||t[16]!==E||t[17]!==D?(O=(0,z.jsx)(l,{disabled:E,onClick:g,size:`sm`,variant:`destructive`,children:D}),t[15]=g,t[16]=E,t[17]=D,t[18]=O):O=t[18];let k=o.isPending||y.length===0||x,j=o.isPending?`Saving…`:`Save`,M;t[19]!==m||t[20]!==k||t[21]!==j?(M=(0,z.jsx)(l,{disabled:k,onClick:m,size:`sm`,children:j}),t[19]=m,t[20]=k,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==O?(N=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[T,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[O,M]})]}),t[23]=M,t[24]=O,t[25]=N):N=t[25];let P;t[26]!==c||t[27]!==x?(P=(0,z.jsx)(ee,{className:`text-xs`,error:x,onChange:u,placeholder:`No policy attached. Paste an IAM policy document to set one.`,rows:10,value:c}),t[26]=c,t[27]=x,t[28]=P):P=t[28];let F;t[29]===x?F=t[30]:(F=x&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[29]=x,t[30]=F);let I;t[31]===C?I=t[32]:(I=C&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:C.message}),t[31]=C,t[32]=I);let B;return t[33]!==N||t[34]!==P||t[35]!==F||t[36]!==I?(B=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[N,P,F,I]}),t[33]=N,t[34]=P,t[35]=F,t[36]=I,t[37]=B):B=t[37],B}function H(e){if(!e)return``;let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function U(e){let t=(0,L.c)(19),{repositoryName:n,repositoryUri:r}=e,[i,a]=(0,R.useState)(!1),o;t[0]===r?o=t[1]:(o=H(r),t[0]=r,t[1]=o);let s=o,u=r??`${s}/${n}`,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=c(),t[2]=d):d=t[2];let f=`aws ecr get-login-password --region ${d} | docker login --username AWS --password-stdin ${s}`,p=`docker build -t ${n} .`,m=`docker tag ${n}:latest ${u}:latest`,h=`docker push ${u}:latest`,g;t[3]!==f||t[4]!==p||t[5]!==m||t[6]!==h?(g=[f,p,m,h],t[3]=f,t[4]=p,t[5]=m,t[6]=h,t[7]=g):g=t[7];let _=g,v;t[8]===_?v=t[9]:(v=async function(){await navigator.clipboard.writeText(_.join(` +}`;function te(e){let t=(0,L.c)(54),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=p(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=h(),s=v(),c=_(),[u,d]=(0,R.useState)(a??``),[f,m]=(0,R.useState)(a);a!==f&&(m(a),d(a??``));let g;t[2]!==u||t[3]!==o||t[4]!==n?(g=async function(){try{await o.mutateAsync({repositoryName:n,lifecyclePolicyText:u})}catch{}},t[2]=u,t[3]=o,t[4]=n,t[5]=g):g=t[5];let y=g,b;t[6]!==s||t[7]!==n?(b=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=b):b=t[8];let S=b,C;t[9]!==c||t[10]!==n?(C=async function(){try{await c.mutateAsync(n)}catch{}},t[9]=c,t[10]=n,t[11]=C):C=t[11];let w=C,T;t[12]===u?T=t[13]:(T=u.trim(),t[12]=u,t[13]=T);let E=T,D;t[14]!==u||t[15]!==E.length?(D=E.length>0&&!x(u),t[14]=u,t[15]=E.length,t[16]=D):D=t[16];let O=D,k=o.error??s.error??c.error,A;t[17]===c.data?.previewResults?A=t[18]:(A=c.data?.previewResults??[],t[17]=c.data?.previewResults,t[18]=A);let j=A,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Lifecycle policy`}),t[19]=M):M=t[19];let N=s.isPending||!a,P=s.isPending?`Deleting…`:`Delete`,F;t[20]!==S||t[21]!==P||t[22]!==N?(F=(0,z.jsx)(l,{disabled:N,onClick:S,size:`sm`,variant:`destructive`,children:P}),t[20]=S,t[21]=P,t[22]=N,t[23]=F):F=t[23];let I=c.isPending||!a,te=c.isPending?`Previewing…`:`Preview`,V;t[24]!==w||t[25]!==I||t[26]!==te?(V=(0,z.jsx)(l,{disabled:I,onClick:w,size:`sm`,variant:`outline`,children:te}),t[24]=w,t[25]=I,t[26]=te,t[27]=V):V=t[27];let H=o.isPending||E.length===0||O,U=o.isPending?`Saving…`:`Save`,W;t[28]!==y||t[29]!==H||t[30]!==U?(W=(0,z.jsx)(l,{disabled:H,onClick:y,size:`sm`,children:U}),t[28]=y,t[29]=H,t[30]=U,t[31]=W):W=t[31];let G;t[32]!==F||t[33]!==V||t[34]!==W?(G=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[M,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[F,V,W]})]}),t[32]=F,t[33]=V,t[34]=W,t[35]=G):G=t[35];let K;t[36]!==u||t[37]!==O?(K=(0,z.jsx)(ee,{className:`text-xs`,error:O,onChange:d,placeholder:B,rows:14,value:u}),t[36]=u,t[37]=O,t[38]=K):K=t[38];let q;t[39]===O?q=t[40]:(q=O&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Lifecycle policy must be valid JSON.`}),t[39]=O,t[40]=q);let J;t[41]===k?J=t[42]:(J=k&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:k.message}),t[41]=k,t[42]=J);let Y;t[43]!==G||t[44]!==K||t[45]!==q||t[46]!==J?(Y=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[G,K,q,J]}),t[43]=G,t[44]=K,t[45]=q,t[46]=J,t[47]=Y):Y=t[47];let X;t[48]!==c.isSuccess||t[49]!==j?(X=c.isSuccess&&(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`h3`,{className:`mb-2 text-sm font-medium`,children:[`Preview: `,j.length,` image`,j.length===1?``:`s`,` would expire`]}),j.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Rule`})]})}),(0,z.jsx)(`tbody`,{children:j.map(ne)})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images match this policy.`})]}),t[48]=c.isSuccess,t[49]=j,t[50]=X):X=t[50];let Z;return t[51]!==Y||t[52]!==X?(Z=(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Y,X]}),t[51]=Y,t[52]=X,t[53]=Z):Z=t[53],Z}function ne(e){return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[e.imageDigest?.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.appliedRulePriority})]},e.imageDigest)}function V(e){let t=(0,L.c)(38),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=u(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=g(),s=m(),[c,d]=(0,R.useState)(a??``),[f,p]=(0,R.useState)(a);a!==f&&(p(a),d(a??``));let h;t[2]!==c||t[3]!==n||t[4]!==o?(h=async function(){try{await o.mutateAsync({repositoryName:n,policyText:c})}catch{}},t[2]=c,t[3]=n,t[4]=o,t[5]=h):h=t[5];let _=h,v;t[6]!==s||t[7]!==n?(v=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=v):v=t[8];let y=v,b;t[9]===c?b=t[10]:(b=c.trim(),t[9]=c,t[10]=b);let S=b,C;t[11]!==c||t[12]!==S.length?(C=S.length>0&&!x(c),t[11]=c,t[12]=S.length,t[13]=C):C=t[13];let w=C,T=o.error??s.error,E;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Repository policy`}),t[14]=E):E=t[14];let D=s.isPending||!a,O=s.isPending?`Deleting…`:`Delete`,k;t[15]!==y||t[16]!==D||t[17]!==O?(k=(0,z.jsx)(l,{disabled:D,onClick:y,size:`sm`,variant:`destructive`,children:O}),t[15]=y,t[16]=D,t[17]=O,t[18]=k):k=t[18];let A=o.isPending||S.length===0||w,j=o.isPending?`Saving…`:`Save`,M;t[19]!==_||t[20]!==A||t[21]!==j?(M=(0,z.jsx)(l,{disabled:A,onClick:_,size:`sm`,children:j}),t[19]=_,t[20]=A,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==k?(N=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[E,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[k,M]})]}),t[23]=M,t[24]=k,t[25]=N):N=t[25];let P;t[26]!==c||t[27]!==w?(P=(0,z.jsx)(ee,{className:`text-xs`,error:w,onChange:d,placeholder:`No policy attached. Paste an IAM policy document to set one.`,rows:10,value:c}),t[26]=c,t[27]=w,t[28]=P):P=t[28];let F;t[29]===w?F=t[30]:(F=w&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[29]=w,t[30]=F);let I;t[31]===T?I=t[32]:(I=T&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:T.message}),t[31]=T,t[32]=I);let B;return t[33]!==N||t[34]!==P||t[35]!==F||t[36]!==I?(B=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[N,P,F,I]}),t[33]=N,t[34]=P,t[35]=F,t[36]=I,t[37]=B):B=t[37],B}function H(e){if(!e)return``;let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function U(e){let t=(0,L.c)(19),{repositoryName:n,repositoryUri:r}=e,[i,a]=(0,R.useState)(!1),o;t[0]===r?o=t[1]:(o=H(r),t[0]=r,t[1]=o);let s=o,u=r??`${s}/${n}`,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=c(),t[2]=d):d=t[2];let f=`aws ecr get-login-password --region ${d} | docker login --username AWS --password-stdin ${s}`,p=`docker build -t ${n} .`,m=`docker tag ${n}:latest ${u}:latest`,h=`docker push ${u}:latest`,g;t[3]!==f||t[4]!==p||t[5]!==m||t[6]!==h?(g=[f,p,m,h],t[3]=f,t[4]=p,t[5]=m,t[6]=h,t[7]=g):g=t[7];let _=g,v;t[8]===_?v=t[9]:(v=async function(){await navigator.clipboard.writeText(_.join(` `)),a(!0),setTimeout(()=>a(!1),2e3)},t[8]=_,t[9]=v);let y=v,b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Push commands`}),t[10]=b):b=t[10];let x=i?`Copied`:`Copy`,S;t[11]!==y||t[12]!==x?(S=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[b,(0,z.jsx)(l,{onClick:y,size:`sm`,variant:`outline`,children:x})]}),t[11]=y,t[12]=x,t[13]=S):S=t[13];let C=_.join(` -`),w;t[14]===C?w=t[15]:(w=(0,z.jsx)(`pre`,{className:`overflow-x-auto rounded bg-muted p-3 font-mono text-xs`,children:C}),t[14]=C,t[15]=w);let T;return t[16]!==S||t[17]!==w?(T=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[S,w]}),t[16]=S,t[17]=w,t[18]=T):T=t[18],T}function W(e){let t=(0,L.c)(31),{repositoryName:n,repositoryUri:r,imageTagMutability:i}=e,a=D(),o=i===`IMMUTABLE`,s=o?`MUTABLE`:`IMMUTABLE`,c=o?`Make mutable`:`Make immutable`,u;t[0]!==s||t[1]!==a||t[2]!==n?(u=async function(){try{await a.mutateAsync({repositoryName:n,imageTagMutability:s})}catch{}},t[0]=s,t[1]=a,t[2]=n,t[3]=u):u=t[3];let d=u,f;t[4]!==n||t[5]!==r?(f=(0,z.jsx)(U,{repositoryName:n,repositoryUri:r}),t[4]=n,t[5]=r,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Tag immutability`}),t[7]=p):p=t[7];let m=o?`Tags cannot be overwritten to point at a different image.`:`Tags can be overwritten by a new push.`,h;t[8]===m?h=t[9]:(h=(0,z.jsxs)(`div`,{children:[p,(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:m})]}),t[8]=m,t[9]=h);let g=o?`default`:`outline`,_=o?`Immutable`:`Mutable`,v;t[10]!==g||t[11]!==_?(v=(0,z.jsx)(M,{variant:g,children:_}),t[10]=g,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==h||t[14]!==v?(y=(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[h,v]}),t[13]=h,t[14]=v,t[15]=y):y=t[15];let b;t[16]===a.error?b=t[17]:(b=a.error&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:a.error.message}),t[16]=a.error,t[17]=b);let x;t[18]===d?x=t[19]:(x=()=>{d()},t[18]=d,t[19]=x);let S=a.isPending?`Saving…`:c,C;t[20]!==a.isPending||t[21]!==x||t[22]!==S?(C=(0,z.jsx)(l,{className:`mt-3`,disabled:a.isPending,onClick:x,size:`sm`,variant:`outline`,children:S}),t[20]=a.isPending,t[21]=x,t[22]=S,t[23]=C):C=t[23];let w;t[24]!==b||t[25]!==C||t[26]!==y?(w=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[y,b,C]}),t[24]=b,t[25]=C,t[26]=y,t[27]=w):w=t[27];let T;return t[28]!==w||t[29]!==f?(T=(0,z.jsxs)(`div`,{className:`space-y-6`,children:[f,w]}),t[28]=w,t[29]=f,t[30]=T):T=t[30],T}function G(){let e=(0,L.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Image scanning`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Vulnerability scanning is not supported by this registry. Pushed images are stored and served without scan findings.`})]}),e[0]=t):t=e[0],t}function K(e){let t=(0,L.c)(57),{repositoryName:n}=e,{data:r}=i(y),c;t[0]===n?c=t[1]:(c=b(n),t[0]=n,t[1]=c);let{data:v}=i(c),x=O(),[S,C]=(0,R.useState)(null),w;t[2]===r.repositories?w=t[3]:(w=r.repositories??[],t[2]=r.repositories,t[3]=w);let T;if(t[4]!==n||t[5]!==w){let e;t[7]===n?e=t[8]:(e=e=>e.repositoryName===n,t[7]=n,t[8]=e),T=w.find(e),t[4]=n,t[5]=w,t[6]=T}else T=t[6];let E=T,D;t[9]===v.imageDetails?D=t[10]:(D=v.imageDetails??[],t[9]=v.imageDetails,t[10]=D);let A=D,j;t[11]!==x||t[12]!==S||t[13]!==n?(j=async function(){if(S)try{await x.mutateAsync({repositoryName:n,imageIds:[{imageDigest:S}]}),C(null)}catch{}},t[11]=x,t[12]=S,t[13]=n,t[14]=j):j=t[14];let M=j,ee=E?.repositoryUri,B;t[15]!==n||t[16]!==ee?(B=(0,z.jsx)(k,{subtitle:ee,title:n}),t[15]=n,t[16]=ee,t[17]=B):B=t[17];let ne;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,z.jsx)(`div`,{className:`mb-4`,children:(0,z.jsx)(a,{className:`text-sm text-primary hover:underline`,to:`/ecr/list-repositories`,children:`← Back to repositories`})}),t[18]=ne):ne=t[18];let H;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{value:`summary`,children:`Summary`}),(0,z.jsx)(N,{value:`images`,children:`Images`}),(0,z.jsx)(N,{value:`lifecycle`,children:`Lifecycle`}),(0,z.jsx)(N,{value:`scan`,children:`Scan`}),(0,z.jsx)(N,{value:`permissions`,children:`Permissions`})]}),t[19]=H):H=t[19];let U=E?.imageTagMutability,K=E?.repositoryUri,q;t[20]!==n||t[21]!==U||t[22]!==K?(q=(0,z.jsx)(F,{value:`summary`,children:(0,z.jsx)(W,{imageTagMutability:U,repositoryName:n,repositoryUri:K})}),t[20]=n,t[21]=U,t[22]=K,t[23]=q):q=t[23];let J;t[24]===A?J=t[25]:(J=(0,z.jsx)(F,{value:`images`,children:A.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Size`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,z.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,z.jsx)(`tbody`,{children:A.map(e=>{if(!e.imageDigest)return null;let t=e.imageDigest;return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:o(e.imageSizeInBytes??0)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,z.jsx)(l,{onClick:()=>C(t),size:`sm`,variant:`destructive`,children:`Delete`})})]},t)})})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images pushed yet.`})}),t[24]=A,t[25]=J);let Y;t[26]===n?Y=t[27]:(Y=(0,z.jsx)(F,{value:`lifecycle`,children:(0,z.jsx)(te,{repositoryName:n})}),t[26]=n,t[27]=Y);let X;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,z.jsx)(F,{value:`scan`,children:(0,z.jsx)(G,{})}),t[28]=X):X=t[28];let Z;t[29]===n?Z=t[30]:(Z=(0,z.jsx)(F,{value:`permissions`,children:(0,z.jsx)(V,{repositoryName:n})}),t[29]=n,t[30]=Z);let Q;t[31]!==q||t[32]!==J||t[33]!==Y||t[34]!==Z?(Q=(0,z.jsxs)(I,{defaultValue:`summary`,children:[H,q,J,Y,X,Z]}),t[31]=q,t[32]=J,t[33]=Y,t[34]=Z,t[35]=Q):Q=t[35];let re;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>!e&&C(null),t[36]=re):re=t[36];let ie=S!==null,ae;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,z.jsxs)(g,{children:[(0,z.jsx)(f,{children:`Delete image?`}),(0,z.jsx)(u,{children:`This permanently deletes the image manifest and any tags pointing at it. This cannot be undone.`})]}),t[37]=ae):ae=t[37];let $;t[38]===x.error?$=t[39]:($=x.error&&(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:x.error.message}),t[38]=x.error,t[39]=$);let oe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,z.jsx)(h,{children:`Cancel`}),t[40]=oe):oe=t[40];let se;t[41]===M?se=t[42]:(se=e=>{e.preventDefault(),M()},t[41]=M,t[42]=se);let ce=x.isPending?`Deleting…`:`Delete`,le;t[43]!==x.isPending||t[44]!==se||t[45]!==ce?(le=(0,z.jsxs)(m,{children:[oe,(0,z.jsx)(p,{disabled:x.isPending,onClick:se,children:ce})]}),t[43]=x.isPending,t[44]=se,t[45]=ce,t[46]=le):le=t[46];let ue;t[47]!==$||t[48]!==le?(ue=(0,z.jsxs)(d,{children:[ae,$,le]}),t[47]=$,t[48]=le,t[49]=ue):ue=t[49];let de;t[50]!==ie||t[51]!==ue?(de=(0,z.jsx)(_,{onOpenChange:re,open:ie,children:ue}),t[50]=ie,t[51]=ue,t[52]=de):de=t[52];let fe;return t[53]!==Q||t[54]!==de||t[55]!==B?(fe=(0,z.jsxs)(z.Fragment,{children:[B,ne,Q,de]}),t[53]=Q,t[54]=de,t[55]=B,t[56]=fe):fe=t[56],fe}function q(){let e=(0,L.c)(2),{id:t}=j.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,z.jsx)(K,{repositoryName:n}),e[0]=n,e[1]=r),r}export{q as component}; \ No newline at end of file +`),w;t[14]===C?w=t[15]:(w=(0,z.jsx)(`pre`,{className:`overflow-x-auto rounded bg-muted p-3 font-mono text-xs`,children:C}),t[14]=C,t[15]=w);let T;return t[16]!==S||t[17]!==w?(T=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[S,w]}),t[16]=S,t[17]=w,t[18]=T):T=t[18],T}function W(e){let t=(0,L.c)(31),{repositoryName:n,repositoryUri:r,imageTagMutability:i}=e,a=y(),o=i===`IMMUTABLE`,s=o?`MUTABLE`:`IMMUTABLE`,c=o?`Make mutable`:`Make immutable`,u;t[0]!==s||t[1]!==a||t[2]!==n?(u=async function(){try{await a.mutateAsync({repositoryName:n,imageTagMutability:s})}catch{}},t[0]=s,t[1]=a,t[2]=n,t[3]=u):u=t[3];let d=u,f;t[4]!==n||t[5]!==r?(f=(0,z.jsx)(U,{repositoryName:n,repositoryUri:r}),t[4]=n,t[5]=r,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Tag immutability`}),t[7]=p):p=t[7];let m=o?`Tags cannot be overwritten to point at a different image.`:`Tags can be overwritten by a new push.`,h;t[8]===m?h=t[9]:(h=(0,z.jsxs)(`div`,{children:[p,(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:m})]}),t[8]=m,t[9]=h);let g=o?`default`:`outline`,_=o?`Immutable`:`Mutable`,v;t[10]!==g||t[11]!==_?(v=(0,z.jsx)(M,{variant:g,children:_}),t[10]=g,t[11]=_,t[12]=v):v=t[12];let b;t[13]!==h||t[14]!==v?(b=(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[h,v]}),t[13]=h,t[14]=v,t[15]=b):b=t[15];let x;t[16]===a.error?x=t[17]:(x=a.error&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:a.error.message}),t[16]=a.error,t[17]=x);let S;t[18]===d?S=t[19]:(S=()=>{d()},t[18]=d,t[19]=S);let C=a.isPending?`Saving…`:c,w;t[20]!==a.isPending||t[21]!==S||t[22]!==C?(w=(0,z.jsx)(l,{className:`mt-3`,disabled:a.isPending,onClick:S,size:`sm`,variant:`outline`,children:C}),t[20]=a.isPending,t[21]=S,t[22]=C,t[23]=w):w=t[23];let T;t[24]!==x||t[25]!==w||t[26]!==b?(T=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[b,x,w]}),t[24]=x,t[25]=w,t[26]=b,t[27]=T):T=t[27];let E;return t[28]!==T||t[29]!==f?(E=(0,z.jsxs)(`div`,{className:`space-y-6`,children:[f,T]}),t[28]=T,t[29]=f,t[30]=E):E=t[30],E}function G(){let e=(0,L.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Image scanning`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Vulnerability scanning is not supported by this registry. Pushed images are stored and served without scan findings.`})]}),e[0]=t):t=e[0],t}function K(e){let t=(0,L.c)(57),{repositoryName:n}=e,{data:r}=i(d),c;t[0]===n?c=t[1]:(c=f(n),t[0]=n,t[1]=c);let{data:u}=i(c),p=b(),[m,h]=(0,R.useState)(null),g;t[2]===r.repositories?g=t[3]:(g=r.repositories??[],t[2]=r.repositories,t[3]=g);let _;if(t[4]!==n||t[5]!==g){let e;t[7]===n?e=t[8]:(e=e=>e.repositoryName===n,t[7]=n,t[8]=e),_=g.find(e),t[4]=n,t[5]=g,t[6]=_}else _=t[6];let v=_,y;t[9]===u.imageDetails?y=t[10]:(y=u.imageDetails??[],t[9]=u.imageDetails,t[10]=y);let x=y,S;t[11]!==p||t[12]!==m||t[13]!==n?(S=async function(){if(m)try{await p.mutateAsync({repositoryName:n,imageIds:[{imageDigest:m}]}),h(null)}catch{}},t[11]=p,t[12]=m,t[13]=n,t[14]=S):S=t[14];let M=S,ee=v?.repositoryUri,B;t[15]!==n||t[16]!==ee?(B=(0,z.jsx)(C,{subtitle:ee,title:n}),t[15]=n,t[16]=ee,t[17]=B):B=t[17];let ne;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,z.jsx)(`div`,{className:`mb-4`,children:(0,z.jsx)(a,{className:`text-sm text-primary hover:underline`,to:`/ecr/list-repositories`,children:`← Back to repositories`})}),t[18]=ne):ne=t[18];let H;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{value:`summary`,children:`Summary`}),(0,z.jsx)(N,{value:`images`,children:`Images`}),(0,z.jsx)(N,{value:`lifecycle`,children:`Lifecycle`}),(0,z.jsx)(N,{value:`scan`,children:`Scan`}),(0,z.jsx)(N,{value:`permissions`,children:`Permissions`})]}),t[19]=H):H=t[19];let U=v?.imageTagMutability,K=v?.repositoryUri,q;t[20]!==n||t[21]!==U||t[22]!==K?(q=(0,z.jsx)(F,{value:`summary`,children:(0,z.jsx)(W,{imageTagMutability:U,repositoryName:n,repositoryUri:K})}),t[20]=n,t[21]=U,t[22]=K,t[23]=q):q=t[23];let J;t[24]===x?J=t[25]:(J=(0,z.jsx)(F,{value:`images`,children:x.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Size`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,z.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,z.jsx)(`tbody`,{children:x.map(e=>{if(!e.imageDigest)return null;let t=e.imageDigest;return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:o(e.imageSizeInBytes??0)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,z.jsx)(l,{onClick:()=>h(t),size:`sm`,variant:`destructive`,children:`Delete`})})]},t)})})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images pushed yet.`})}),t[24]=x,t[25]=J);let Y;t[26]===n?Y=t[27]:(Y=(0,z.jsx)(F,{value:`lifecycle`,children:(0,z.jsx)(te,{repositoryName:n})}),t[26]=n,t[27]=Y);let X;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,z.jsx)(F,{value:`scan`,children:(0,z.jsx)(G,{})}),t[28]=X):X=t[28];let Z;t[29]===n?Z=t[30]:(Z=(0,z.jsx)(F,{value:`permissions`,children:(0,z.jsx)(V,{repositoryName:n})}),t[29]=n,t[30]=Z);let Q;t[31]!==q||t[32]!==J||t[33]!==Y||t[34]!==Z?(Q=(0,z.jsxs)(I,{defaultValue:`summary`,children:[H,q,J,Y,X,Z]}),t[31]=q,t[32]=J,t[33]=Y,t[34]=Z,t[35]=Q):Q=t[35];let re;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>!e&&h(null),t[36]=re):re=t[36];let ie=m!==null,ae;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,z.jsxs)(A,{children:[(0,z.jsx)(E,{children:`Delete image?`}),(0,z.jsx)(w,{children:`This permanently deletes the image manifest and any tags pointing at it. This cannot be undone.`})]}),t[37]=ae):ae=t[37];let $;t[38]===p.error?$=t[39]:($=p.error&&(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:p.error.message}),t[38]=p.error,t[39]=$);let oe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,z.jsx)(k,{children:`Cancel`}),t[40]=oe):oe=t[40];let se;t[41]===M?se=t[42]:(se=e=>{e.preventDefault(),M()},t[41]=M,t[42]=se);let ce=p.isPending?`Deleting…`:`Delete`,le;t[43]!==p.isPending||t[44]!==se||t[45]!==ce?(le=(0,z.jsxs)(O,{children:[oe,(0,z.jsx)(D,{disabled:p.isPending,onClick:se,children:ce})]}),t[43]=p.isPending,t[44]=se,t[45]=ce,t[46]=le):le=t[46];let ue;t[47]!==$||t[48]!==le?(ue=(0,z.jsxs)(T,{children:[ae,$,le]}),t[47]=$,t[48]=le,t[49]=ue):ue=t[49];let de;t[50]!==ie||t[51]!==ue?(de=(0,z.jsx)(j,{onOpenChange:re,open:ie,children:ue}),t[50]=ie,t[51]=ue,t[52]=de):de=t[52];let fe;return t[53]!==Q||t[54]!==de||t[55]!==B?(fe=(0,z.jsxs)(z.Fragment,{children:[B,ne,Q,de]}),t[53]=Q,t[54]=de,t[55]=B,t[56]=fe):fe=t[56],fe}function q(){let e=(0,L.c)(2),{id:t}=S.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,z.jsx)(K,{repositoryName:n}),e[0]=n,e[1]=r),r}export{q as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id4.js b/spinifex/services/spinifexui/frontend/dist/assets/_id4.js index 3154cb541..3d454ec6f 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id4.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id4.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id23.js","assets/compiler-runtime.js","assets/QueryClientProvider.js","assets/useMutation.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/admin-context.js","assets/sts.js","assets/signed-fetch.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/state-badge.js","assets/system-managed.js","assets/ami-details.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{a as r}from"./ec2.js";var i=e(`/_auth/ec2/(images)/describe-images/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.Images?.[0]?.Name??`Image`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id23.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id23.js","assets/compiler-runtime.js","assets/QueryClientProvider.js","assets/useMutation.js","assets/mutation.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/admin-context.js","assets/sts.js","assets/signed-fetch.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/delete-confirmation-dialog.js","assets/state-badge.js","assets/system-managed.js","assets/ami-details.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{a as r}from"./ec2.js";var i=e(`/_auth/ec2/(images)/describe-images/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.Images?.[0]?.Name??`Image`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id23.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id40.js b/spinifex/services/spinifexui/frontend/dist/assets/_id40.js index 8757e2208..5a324d347 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id40.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id40.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c}from"./cluster-config.js";import{t as ee}from"./back-link.js";import{t as te}from"./camera.js";import{t as ne}from"./pencil.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./trash-2.js";import{t as l}from"./button.js";import{t as ae}from"./input.js";import{a as u,n as oe,r as d,t as se}from"./field.js";import{a as ce,i as le,l as ue,s as de,t as fe}from"./alert-dialog.js";import{w as pe}from"./ec2.js";import{S as f,a as p,c as me,d as m,f as he,l as ge,m as _e,p as ve,u as ye}from"./rds.js";import{d as h,l as be,m as g,p as _}from"./rds2.js";import{c as xe,d as v,l as Se,n as Ce,o as y,s as b,t as we}from"./rds3.js";import{a as Te,i as Ee,n as De,t as x}from"./zod.js";import{t as Oe}from"./error-banner.js";import{t as S}from"./page-heading.js";import{t as C}from"./form-actions.js";import{t as w}from"./_id19.js";import{n as T,t as E}from"./detail-row.js";import{t as ke}from"./state-badge.js";import{i as Ae,n as je,r as Me,t as Ne}from"./tabs.js";import{n as Pe,t as Fe}from"./picker-notice.js";import{a as Ie,o as Le,s as Re,t as ze}from"./security-group-checkboxes.js";import{t as Be}from"./create-db-snapshot-dialog.js";import{t as Ve}from"./delete-db-snapshot-dialog.js";import{t as D}from"./rds-events-panel.js";import{t as He}from"./rds-tags-tab.js";import{t as Ue}from"./delete-db-instance-dialog.js";var O=e(n(),1),We=r(),k=t(),Ge=[{label:`Identifier`,note:`The identifier is the endpoint hostname and the certificate subject; renaming in place is not implemented.`},{label:`Engine version`,note:`There is no in-place engine-version upgrade.`},{label:`Port`,note:`The port is fixed at create; changing it would break every client and the serving certificate.`},{label:`DB subnet group`,note:`The endpoint ENI is placed at create; moving it would change the address clients resolve.`}];function Ke(e){let t=(0,We.c)(216),{open:n,onOpenChange:r,instance:a}=e,o=be(),s=i(v),c=i(pe),ee=i(y),te=a.Engine??``,ne;t[0]===te?ne=t[1]:(ne=Se(te),t[0]=te,t[1]=ne);let re=i(ne),ie=a.DBInstanceIdentifier??``,l=a.AllocatedStorage??0,p;t[2]===a.VpcSecurityGroups?p=t[3]:(p=a.VpcSecurityGroups?.map(Qe).filter(Boolean)??[],t[2]=a.VpcSecurityGroups,t[3]=p);let me=p,m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=x(f),t[4]=m):m=t[4];let he=a.DBInstanceClass??``,ge=a.DBParameterGroups?.[0]?.DBParameterGroupName??``,_e=a.DeletionProtection??!1,ve=a.BackupRetentionPeriod??0,ye=a.PreferredBackupWindow??``,h=a.PreferredMaintenanceWindow??``,g;t[5]!==me||t[6]!==l||t[7]!==h||t[8]!==he||t[9]!==ge||t[10]!==_e||t[11]!==ve||t[12]!==ye?(g={resolver:m,defaultValues:{currentAllocatedStorage:l,dbInstanceClass:he,allocatedStorage:l,dbParameterGroupName:ge,vpcSecurityGroupIds:me,deletionProtection:_e,backupRetentionPeriod:ve,preferredBackupWindow:ye,preferredMaintenanceWindow:h,masterUserPassword:``,applyImmediately:!1}},t[5]=me,t[6]=l,t[7]=h,t[8]=he,t[9]=ge,t[10]=_e,t[11]=ve,t[12]=ye,t[13]=g):g=t[13];let{control:_,formState:xe,handleSubmit:Ce,register:b,setValue:we}=Ee(g),{errors:S,isSubmitting:w}=xe,T;t[14]===_?T=t[15]:(T={control:_},t[14]=_,t[15]=T);let E=Te(T),ke=E.dbInstanceClass??``,Ae=E.allocatedStorage??l,je;t[16]===E.vpcSecurityGroupIds?je=t[17]:(je=E.vpcSecurityGroupIds??[],t[16]=E.vpcSecurityGroupIds,t[17]=je);let Me=je,Ne;t[18]===re.data?.OrderableDBInstanceOptions?Ne=t[19]:(Ne=new Set((re.data?.OrderableDBInstanceOptions??[]).map(Ze).filter(Boolean)),t[18]=re.data?.OrderableDBInstanceOptions,t[19]=Ne);let Be;t[20]===Ne?Be=t[21]:(Be=[...Ne],t[20]=Ne,t[21]=Be);let Ve=Be,D,He,Ue,O,Ke,A,$e,et,j,tt,nt,rt,it,at,ot,st,ct,M,N,P;if(t[22]!==_||t[23]!==l||t[24]!==ee.data?.DBEngineVersions||t[25]!==S.allocatedStorage||t[26]!==Ce||t[27]!==ie||t[28]!==a.DBInstanceClass||t[29]!==a.DBSubnetGroup?.VpcId||t[30]!==a.Engine||t[31]!==Ve||t[32]!==o||t[33]!==r||t[34]!==n||t[35]!==re||t[36]!==s||t[37]!==b||t[38]!==c||t[39]!==ke||t[40]!==Ae||t[41]!==we){let e=Re(s.data?.DBParameterGroups??[],ee.data?.DBEngineVersions??[],a.Engine??``),i=a.DBSubnetGroup?.VpcId,te;t[62]===c.data?.SecurityGroups?te=t[63]:(te=c.data?.SecurityGroups??[],t[62]=c.data?.SecurityGroups,t[63]=te);let ne;if(t[64]!==i||t[65]!==te){let e;t[67]===i?e=t[68]:(e=e=>i===void 0||e.VpcId===i,t[67]=i,t[68]=e),ne=te.filter(e),t[64]=i,t[65]=te,t[66]=ne}else ne=t[66];Ke=ne;let pe=ke!==a.DBInstanceClass,f=Ae!==l,p=Ve.length===0,me=`No instance class this cluster's nodes can run is available for ${a.Engine}.`,m;t[69]!==re||t[70]!==p||t[71]!==me?(m=Pe(re,p,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:me}),t[69]=re,t[70]=p,t[71]=me,t[72]=m):m=t[72];let he=m,ge=e.length===0,_e;t[73]!==s||t[74]!==ge?(_e=Pe(s,ge,{loading:`Loading the parameter groups…`,failed:`Could not read the parameter groups`,empty:`No parameter group of this instance's engine family exists.`}),t[73]=s,t[74]=ge,t[75]=_e):_e=t[75];let ve=_e,ye=Ke.length===0,h;t[76]!==c||t[77]!==ye?(h=Pe(c,ye,{loading:`Loading the security groups…`,failed:`Could not read the security groups`,empty:`No security group in this instance's VPC is available.`}),t[76]=c,t[77]=ye,t[78]=h):h=t[78],O=h;let be;t[79]===we?be=t[80]:(be=e=>we(`vpcSecurityGroupIds`,e,{shouldValidate:!0}),t[79]=we,t[80]=be),A=be;let g;t[81]!==ie||t[82]!==o||t[83]!==r?(g=async e=>{await o.mutateAsync({...e,dbInstanceIdentifier:ie}),r(!1)},t[81]=ie,t[82]=o,t[83]=r,t[84]=g):g=t[84];let xe=g;Ue=fe,N=r,P=n,He=le,ct=`max-h-[85vh] overflow-y-auto`;let v;t[85]===ie?v=t[86]:(v=(0,k.jsxs)(ue,{children:[`Modify `,ie]}),t[85]=ie,t[86]=v);let Se;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,k.jsx)(ce,{children:`Changes apply in the maintenance window unless you apply them immediately.`}),t[87]=Se):Se=t[87],t[88]===v?M=t[89]:(M=(0,k.jsxs)(de,{children:[v,Se]}),t[88]=v,t[89]=M),it=`space-y-4`,t[90]!==Ce||t[91]!==xe?(at=Ce(xe),t[90]=Ce,t[91]=xe,t[92]=at):at=t[92];let y;t[93]===Ve?y=t[94]:(y=Ve.map(Xe),t[93]=Ve,t[94]=y);let Te=pe&&`Changing the class replaces the VM. The database is unavailable while it does.`;t[95]!==he||t[96]!==_||t[97]!==y||t[98]!==Te?(ot=(0,k.jsx)(Le,{control:_,id:`modify-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:he,options:y,placeholder:`Select an instance class`,warning:Te}),t[95]=he,t[96]=_,t[97]=y,t[98]=Te,t[99]=ot):ot=t[99];let Ee;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-storage`,children:`Allocated storage (GiB)`})}),t[100]=Ee):Ee=t[100];let De=!!S.allocatedStorage,x;t[101]===b?x=t[102]:(x=b(`allocatedStorage`,{valueAsNumber:!0}),t[101]=b,t[102]=x);let Oe;t[103]!==l||t[104]!==De||t[105]!==x?(Oe=(0,k.jsx)(ae,{"aria-invalid":De,id:`modify-storage`,min:l,type:`number`,...x}),t[103]=l,t[104]=De,t[105]=x,t[106]=Oe):Oe=t[106];let C;t[107]===l?C=t[108]:(C=(0,k.jsxs)(oe,{children:[`Currently `,l,` GiB. Storage grows only.`]}),t[107]=l,t[108]=C);let w;t[109]===f?w=t[110]:(w=f&&(0,k.jsx)(`p`,{className:`text-xs text-tactical-amber`,children:`Growing storage stops and starts the instance to extend the filesystem.`}),t[109]=f,t[110]=w);let T;t[111]===S.allocatedStorage?T=t[112]:(T=(0,k.jsx)(d,{errors:[S.allocatedStorage]}),t[111]=S.allocatedStorage,t[112]=T),t[113]!==Oe||t[114]!==C||t[115]!==w||t[116]!==T?(st=(0,k.jsxs)(se,{children:[Ee,Oe,C,w,T]}),t[113]=Oe,t[114]=C,t[115]=w,t[116]=T,t[117]=st):st=t[117],D=Le,$e=_,et=`modify-parameter-group`,j=`DB parameter group`,tt=`dbParameterGroupName`,nt=ve,rt=e.map(Ye),t[22]=_,t[23]=l,t[24]=ee.data?.DBEngineVersions,t[25]=S.allocatedStorage,t[26]=Ce,t[27]=ie,t[28]=a.DBInstanceClass,t[29]=a.DBSubnetGroup?.VpcId,t[30]=a.Engine,t[31]=Ve,t[32]=o,t[33]=r,t[34]=n,t[35]=re,t[36]=s,t[37]=b,t[38]=c,t[39]=ke,t[40]=Ae,t[41]=we,t[42]=D,t[43]=He,t[44]=Ue,t[45]=O,t[46]=Ke,t[47]=A,t[48]=$e,t[49]=et,t[50]=j,t[51]=tt,t[52]=nt,t[53]=rt,t[54]=it,t[55]=at,t[56]=ot,t[57]=st,t[58]=ct,t[59]=M,t[60]=N,t[61]=P}else D=t[42],He=t[43],Ue=t[44],O=t[45],Ke=t[46],A=t[47],$e=t[48],et=t[49],j=t[50],tt=t[51],nt=t[52],rt=t[53],it=t[54],at=t[55],ot=t[56],st=t[57],ct=t[58],M=t[59],N=t[60],P=t[61];let F;t[118]!==D||t[119]!==$e||t[120]!==et||t[121]!==j||t[122]!==tt||t[123]!==nt||t[124]!==rt?(F=(0,k.jsx)(D,{control:$e,id:et,label:j,name:tt,notice:nt,options:rt,placeholder:`Engine default group`}),t[118]=D,t[119]=$e,t[120]=et,t[121]=j,t[122]=tt,t[123]=nt,t[124]=rt,t[125]=F):F=t[125];let lt;t[126]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,k.jsx)(u,{children:`VPC security groups`}),t[126]=lt):lt=t[126];let ut;t[127]!==O||t[128]!==Ke||t[129]!==Me||t[130]!==A?(ut=(0,k.jsxs)(se,{children:[lt,O?(0,k.jsx)(Fe,{notice:O}):(0,k.jsx)(ze,{emptyText:`No security group in this instance's VPC is available.`,groups:Ke,onChange:A,selected:Me})]}),t[127]=O,t[128]=Ke,t[129]=Me,t[130]=A,t[131]=ut):ut=t[131];let dt;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(dt=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-retention`,children:`Backup retention (days)`})}),t[132]=dt):dt=t[132];let ft=!!S.backupRetentionPeriod,I;t[133]===b?I=t[134]:(I=b(`backupRetentionPeriod`,{valueAsNumber:!0}),t[133]=b,t[134]=I);let L;t[135]!==ft||t[136]!==I?(L=(0,k.jsx)(ae,{"aria-invalid":ft,id:`modify-retention`,max:7,min:0,type:`number`,...I}),t[135]=ft,t[136]=I,t[137]=L):L=t[137];let R;t[138]===S.backupRetentionPeriod?R=t[139]:(R=(0,k.jsx)(d,{errors:[S.backupRetentionPeriod]}),t[138]=S.backupRetentionPeriod,t[139]=R);let z;t[140]!==L||t[141]!==R?(z=(0,k.jsxs)(se,{children:[dt,L,R]}),t[140]=L,t[141]=R,t[142]=z):z=t[142];let pt;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-backup-window`,children:`Preferred backup window`})}),t[143]=pt):pt=t[143];let B=!!S.preferredBackupWindow,V;t[144]===b?V=t[145]:(V=b(`preferredBackupWindow`),t[144]=b,t[145]=V);let H;t[146]!==B||t[147]!==V?(H=(0,k.jsx)(ae,{"aria-invalid":B,id:`modify-backup-window`,placeholder:`hh24:mi-hh24:mi in UTC`,...V}),t[146]=B,t[147]=V,t[148]=H):H=t[148];let U;t[149]===S.preferredBackupWindow?U=t[150]:(U=(0,k.jsx)(d,{errors:[S.preferredBackupWindow]}),t[149]=S.preferredBackupWindow,t[150]=U);let W;t[151]!==H||t[152]!==U?(W=(0,k.jsxs)(se,{children:[pt,H,U]}),t[151]=H,t[152]=U,t[153]=W):W=t[153];let G;t[154]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-maintenance-window`,children:`Preferred maintenance window`})}),t[154]=G):G=t[154];let K=!!S.preferredMaintenanceWindow,q;t[155]===b?q=t[156]:(q=b(`preferredMaintenanceWindow`),t[155]=b,t[156]=q);let J;t[157]!==K||t[158]!==q?(J=(0,k.jsx)(ae,{"aria-invalid":K,id:`modify-maintenance-window`,placeholder:`ddd:hh24:mi-ddd:hh24:mi in UTC`,...q}),t[157]=K,t[158]=q,t[159]=J):J=t[159];let Y;t[160]===S.preferredMaintenanceWindow?Y=t[161]:(Y=(0,k.jsx)(d,{errors:[S.preferredMaintenanceWindow]}),t[160]=S.preferredMaintenanceWindow,t[161]=Y);let X;t[162]!==J||t[163]!==Y?(X=(0,k.jsxs)(se,{children:[G,J,Y]}),t[162]=J,t[163]=Y,t[164]=X):X=t[164];let mt;t[165]===Symbol.for(`react.memo_cache_sentinel`)?(mt=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-password`,children:`Reset master password`})}),t[165]=mt):mt=t[165];let Z=!!S.masterUserPassword,ht;t[166]===b?ht=t[167]:(ht=b(`masterUserPassword`),t[166]=b,t[167]=ht);let Q;t[168]!==Z||t[169]!==ht?(Q=(0,k.jsx)(ae,{"aria-invalid":Z,id:`modify-password`,type:`password`,...ht}),t[168]=Z,t[169]=ht,t[170]=Q):Q=t[170];let $;t[171]===Symbol.for(`react.memo_cache_sentinel`)?($=(0,k.jsx)(oe,{children:`Leave blank to keep the current password.`}),t[171]=$):$=t[171];let gt;t[172]===S.masterUserPassword?gt=t[173]:(gt=(0,k.jsx)(d,{errors:[S.masterUserPassword]}),t[172]=S.masterUserPassword,t[173]=gt);let _t;t[174]!==Q||t[175]!==gt?(_t=(0,k.jsxs)(se,{children:[mt,Q,$,gt]}),t[174]=Q,t[175]=gt,t[176]=_t):_t=t[176];let vt;t[177]===_?vt=t[178]:(vt=(0,k.jsx)(Ie,{control:_,name:`deletionProtection`}),t[177]=_,t[178]=vt);let yt;t[179]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,k.jsx)(u,{children:`Apply immediately`}),t[179]=yt):yt=t[179];let bt;t[180]===_?bt=t[181]:(bt=(0,k.jsxs)(se,{children:[yt,(0,k.jsx)(De,{control:_,name:`applyImmediately`,render:Je})]}),t[180]=_,t[181]=bt);let xt;t[182]===Symbol.for(`react.memo_cache_sentinel`)?(xt=(0,k.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,children:[(0,k.jsx)(`h3`,{className:`text-xs font-medium`,children:`Fixed at create`}),Ge.map(qe)]}),t[182]=xt):xt=t[182];let St;t[183]===o.error?St=t[184]:(St=o.error&&(0,k.jsx)(Oe,{error:o.error,msg:`Failed to modify the DB instance`}),t[183]=o.error,t[184]=St);let Ct;t[185]===r?Ct=t[186]:(Ct=()=>r(!1),t[185]=r,t[186]=Ct);let wt;t[187]!==w||t[188]!==o.isPending||t[189]!==Ct?(wt=(0,k.jsx)(`div`,{className:`flex justify-end`,children:(0,k.jsx)(C,{isPending:o.isPending,isSubmitting:w,onCancel:Ct,pendingLabel:`Saving…`,submitLabel:`Save Changes`})}),t[187]=w,t[188]=o.isPending,t[189]=Ct,t[190]=wt):wt=t[190];let Tt;t[191]!==it||t[192]!==at||t[193]!==ot||t[194]!==st||t[195]!==F||t[196]!==ut||t[197]!==z||t[198]!==W||t[199]!==X||t[200]!==_t||t[201]!==vt||t[202]!==bt||t[203]!==St||t[204]!==wt?(Tt=(0,k.jsxs)(`form`,{className:it,onSubmit:at,children:[ot,st,F,ut,z,W,X,_t,vt,bt,xt,St,wt]}),t[191]=it,t[192]=at,t[193]=ot,t[194]=st,t[195]=F,t[196]=ut,t[197]=z,t[198]=W,t[199]=X,t[200]=_t,t[201]=vt,t[202]=bt,t[203]=St,t[204]=wt,t[205]=Tt):Tt=t[205];let Et;t[206]!==He||t[207]!==ct||t[208]!==M||t[209]!==Tt?(Et=(0,k.jsxs)(He,{className:ct,children:[M,Tt]}),t[206]=He,t[207]=ct,t[208]=M,t[209]=Tt,t[210]=Et):Et=t[210];let Dt;return t[211]!==Ue||t[212]!==N||t[213]!==P||t[214]!==Et?(Dt=(0,k.jsx)(Ue,{onOpenChange:N,open:P,children:Et}),t[211]=Ue,t[212]=N,t[213]=P,t[214]=Et,t[215]=Dt):Dt=t[215],Dt}function qe(e){return(0,k.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,k.jsx)(`span`,{className:`font-medium`,children:e.label}),` —`,` `,e.note]},e.label)}function Je(e){let{field:t}=e;return(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{"aria-label":`Apply immediately`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),(0,k.jsx)(`span`,{children:`Apply now instead of waiting for the maintenance window`})]})}function Ye(e){return{value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``}}function Xe(e){return{value:e,label:e}}function Ze(e){return e.DBInstanceClass??``}function Qe(e){return e.VpcSecurityGroupId??``}function A(e,t){return e.EventCategories?.includes(t)??!1}function $e(e,t){return e.filter(t).toSorted((e,t)=>(e.Date?.getTime()??0)-(t.Date?.getTime()??0)).at(-1)}function et(e){let t=e.Endpoint?.Address;if(!t)return[];let n=e.Endpoint?.Port??e.DbInstancePort,r=e.MasterUsername??``,i=e.DBName??r;return e.Engine===`postgres`?[{label:`Connect`,parts:[{type:`bin`,value:`psql`},{type:`value`,value:` "host=${t} port=${n} dbname=${i} user=${r} sslmode=require"`}]}]:[{label:`Connect`,parts:[{type:`bin`,value:`mariadb`},{type:`flag`,value:` --host`},{type:`value`,value:`=${t}`},{type:`flag`,value:` --port`},{type:`value`,value:`=${n}`},{type:`flag`,value:` --user`},{type:`value`,value:`=${r}`},{type:`flag`,value:` --ssl`},{type:`value`,value:` ${i}`}]}]}function j(e){let t=(0,We.c)(262),{dbInstanceIdentifier:n}=e,r=s(),i;t[0]===n?i=t[1]:(i=Ce(n),t[0]=n,t[1]=i);let{data:ae}=a(i),u=ae.DBInstances?.[0],oe=u?.DBInstanceArn??``,d;t[2]===n?d=t[3]:(d=b(n),t[2]=n,t[3]=d);let{data:se}=a(d),ce;t[4]===n?ce=t[5]:(ce=xe(n),t[4]=n,t[5]=ce);let{data:le}=a(ce),ue;t[6]===n?ue=t[7]:(ue=we(n),t[6]=n,t[7]=ue);let{data:de}=a(ue),fe=_(),pe=g(),f=h(),[p,be]=(0,O.useState)(!1),[v,Se]=(0,O.useState)(!1),[y,Te]=(0,O.useState)(!1),[Ee,De]=(0,O.useState)(null);if(!u?.DBInstanceIdentifier){let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ee,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`DB instance not found.`})]}),t[8]=e):e=t[8],e}let x=u.DBInstanceStatus,C,w,Pe,Fe,Ie,Le,Re,ze,Ge,qe,Je,Ye,Xe,Ze,Qe,A,j,ct,M,N,P,F,lt,ut,dt,ft,I;if(t[9]!==de.DBInstanceAutomatedBackups?.[0]||t[10]!==n||t[11]!==se.Events||t[12]!==u||t[13]!==f||t[14]!==le.DBSnapshots||t[15]!==fe||t[16]!==x||t[17]!==pe){Le=se.Events??[];let e=fe.error??pe.error??f.error,r=$e(Le,st),i=$e(Le,ot);Re=le.DBSnapshots??[];let a=Re.filter(at).toSorted(it).at(-1),o=de.DBInstanceAutomatedBackups?.[0],s=u.PendingModifiedValues,ae=s?.AllocatedStorage!==void 0||s?.DBInstanceClass!==void 0;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,k.jsx)(ee,{to:`/rds/describe-db-instances`,children:`Back to databases`}),t[45]=P):P=t[45],t[46]===e?F=t[47]:(F=e&&(0,k.jsx)(Oe,{error:e,msg:`Failed to change the DB instance state.`}),t[46]=e,t[47]=F),ct=`space-y-6`;let oe;t[48]!==fe.isPending||t[49]!==x?(oe=!ve(x)||fe.isPending,t[48]=fe.isPending,t[49]=x,t[50]=oe):oe=t[50];let d;t[51]!==n||t[52]!==fe?(d=()=>fe.mutate(n),t[51]=n,t[52]=fe,t[53]=d):d=t[53];let ce;t[54]!==oe||t[55]!==d?(ce=(0,k.jsx)(l,{disabled:oe,onClick:d,size:`sm`,variant:`outline`,children:`Start`}),t[54]=oe,t[55]=d,t[56]=ce):ce=t[56];let ue;t[57]!==x||t[58]!==pe.isPending?(ue=!_e(x)||pe.isPending,t[57]=x,t[58]=pe.isPending,t[59]=ue):ue=t[59];let p;t[60]!==n||t[61]!==pe?(p=()=>pe.mutate(n),t[60]=n,t[61]=pe,t[62]=p):p=t[62];let m;t[63]!==ue||t[64]!==p?(m=(0,k.jsx)(l,{disabled:ue,onClick:p,size:`sm`,variant:`outline`,children:`Stop`}),t[63]=ue,t[64]=p,t[65]=m):m=t[65];let ge;t[66]!==f.isPending||t[67]!==x?(ge=!ye(x)||f.isPending,t[66]=f.isPending,t[67]=x,t[68]=ge):ge=t[68];let h;t[69]!==n||t[70]!==f?(h=()=>f.mutate(n),t[69]=n,t[70]=f,t[71]=h):h=t[71];let g;t[72]!==ge||t[73]!==h?(g=(0,k.jsx)(l,{disabled:ge,onClick:h,size:`sm`,variant:`outline`,children:`Reboot`}),t[72]=ge,t[73]=h,t[74]=g):g=t[74];let _;t[75]===x?_=t[76]:(_=he(x),t[75]=x,t[76]=_);let xe=!_,v;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>Te(!0),t[77]=v):v=t[77];let Ce;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,k.jsx)(te,{className:`size-4`}),t[78]=Ce):Ce=t[78];let y;t[79]===xe?y=t[80]:(y=(0,k.jsxs)(l,{disabled:xe,onClick:v,size:`sm`,variant:`outline`,children:[Ce,`Take Snapshot`]}),t[79]=xe,t[80]=y);let b;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>Se(!0),t[81]=b):b=t[81];let we;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,k.jsxs)(l,{onClick:b,size:`sm`,variant:`outline`,children:[(0,k.jsx)(ne,{className:`size-4`}),`Modify`]}),t[82]=we):we=t[82];let Ee;t[83]===x?Ee=t[84]:(Ee=me(x),t[83]=x,t[84]=Ee);let De=!Ee,Be;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Be=()=>be(!0),t[85]=Be):Be=t[85];let Ve;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,k.jsx)(ie,{className:`size-4`}),t[86]=Ve):Ve=t[86];let D;t[87]===De?D=t[88]:(D=(0,k.jsxs)(l,{disabled:De,onClick:Be,size:`sm`,variant:`destructive`,children:[Ve,`Delete`]}),t[87]=De,t[88]=D);let He;t[89]!==ce||t[90]!==m||t[91]!==g||t[92]!==y||t[93]!==D?(He=(0,k.jsxs)(`div`,{className:`flex gap-2`,children:[ce,m,g,y,we,D]}),t[89]=ce,t[90]=m,t[91]=g,t[92]=y,t[93]=D,t[94]=He):He=t[94],t[95]!==n||t[96]!==He?(M=(0,k.jsx)(S,{actions:He,subtitle:`DB Instance`,title:n}),t[95]=n,t[96]=He,t[97]=M):M=t[97];let Ue;t[98]===x?Ue=t[99]:(Ue=(0,k.jsx)(ke,{state:x}),t[98]=x,t[99]=Ue);let O;t[100]===u.StatusInfos?O=t[101]:(O=u.StatusInfos?.map(rt),t[100]=u.StatusInfos,t[101]=O),t[102]!==Ue||t[103]!==O?(N=(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Ue,O]}),t[102]=Ue,t[103]=O,t[104]=N):N=t[104],Ie=Ne,Ze=`connectivity`,t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,k.jsxs)(je,{children:[(0,k.jsx)(Ae,{value:`connectivity`,children:`Connectivity`}),(0,k.jsx)(Ae,{value:`configuration`,children:`Configuration`}),(0,k.jsx)(Ae,{value:`backups`,children:`Backups`}),(0,k.jsx)(Ae,{value:`tags`,children:`Tags`}),(0,k.jsx)(Ae,{value:`events`,children:`Events`})]}),t[105]=Qe):Qe=t[105];let We;t[106]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,k.jsx)(T.Header,{children:`Endpoint`}),t[106]=We):We=t[106];let Ke=u.Endpoint?.Address,L;t[107]===Ke?L=t[108]:(L=(0,k.jsx)(E,{label:`Address`,value:Ke}),t[107]=Ke,t[108]=L);let R;t[109]!==u.DbInstancePort||t[110]!==u.Endpoint?.Port?(R=(u.Endpoint?.Port??u.DbInstancePort)?.toString(),t[109]=u.DbInstancePort,t[110]=u.Endpoint?.Port,t[111]=R):R=t[111];let z;t[112]===R?z=t[113]:(z=(0,k.jsx)(E,{label:`Port`,value:R}),t[112]=R,t[113]=z);let pt=u.DBSubnetGroup?.VpcId,B;t[114]===pt?B=t[115]:(B=(0,k.jsx)(E,{label:`VPC`,value:pt}),t[114]=pt,t[115]=B);let V=u.DBSubnetGroup?.DBSubnetGroupName,H;t[116]===V?H=t[117]:(H=(0,k.jsx)(E,{label:`DB subnet group`,value:V}),t[116]=V,t[117]=H);let U;t[118]===u.VpcSecurityGroups?U=t[119]:(U=u.VpcSecurityGroups?.map(nt).join(`, `),t[118]=u.VpcSecurityGroups,t[119]=U);let W;t[120]===U?W=t[121]:(W=(0,k.jsx)(E,{label:`Security groups`,value:U}),t[120]=U,t[121]=W);let G;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,k.jsx)(E,{label:`Publicly accessible`,value:`No — private VPC address`}),t[122]=G):G=t[122];let K;t[123]!==L||t[124]!==z||t[125]!==B||t[126]!==H||t[127]!==W?(K=(0,k.jsxs)(T,{children:[We,(0,k.jsxs)(T.Content,{children:[L,z,B,H,W,G]})]}),t[123]=L,t[124]=z,t[125]=B,t[126]=H,t[127]=W,t[128]=K):K=t[128];let q;t[129]===u?q=t[130]:(q=et(u),t[129]=u,t[130]=q);let J;t[131]===q?J=t[132]:(J=(0,k.jsx)(re,{commands:q}),t[131]=q,t[132]=J),t[133]!==K||t[134]!==J?(A=(0,k.jsx)(Me,{value:`connectivity`,children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[K,J]})}),t[133]=K,t[134]=J,t[135]=A):A=t[135];let Y;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,k.jsx)(T.Header,{children:`Configuration`}),t[136]=Y):Y=t[136];let X;t[137]===u.Engine?X=t[138]:(X=(0,k.jsx)(E,{label:`Engine`,value:u.Engine}),t[137]=u.Engine,t[138]=X);let mt;t[139]===u.EngineVersion?mt=t[140]:(mt=(0,k.jsx)(E,{label:`Version`,value:u.EngineVersion}),t[139]=u.EngineVersion,t[140]=mt);let Z;t[141]===u.DBInstanceClass?Z=t[142]:(Z=(0,k.jsx)(E,{label:`Instance class`,value:u.DBInstanceClass}),t[141]=u.DBInstanceClass,t[142]=Z);let ht=u.AllocatedStorage?`${u.AllocatedStorage} GiB`:void 0,Q;t[143]===ht?Q=t[144]:(Q=(0,k.jsx)(E,{label:`Allocated storage`,value:ht}),t[143]=ht,t[144]=Q);let $;t[145]===u.StorageType?$=t[146]:($=(0,k.jsx)(E,{label:`Storage type`,value:u.StorageType}),t[145]=u.StorageType,t[146]=$);let gt=u.StorageEncrypted?`Encrypted — always on`:`Not encrypted`,_t;t[147]===gt?_t=t[148]:(_t=(0,k.jsx)(E,{label:`Encryption`,value:gt}),t[147]=gt,t[148]=_t);let vt;t[149]===u.DBParameterGroups?vt=t[150]:(vt=u.DBParameterGroups?.map(tt).join(`, `),t[149]=u.DBParameterGroups,t[150]=vt);let yt;t[151]===vt?yt=t[152]:(yt=(0,k.jsx)(E,{label:`Parameter group`,value:vt}),t[151]=vt,t[152]=yt);let bt;t[153]===u.MasterUsername?bt=t[154]:(bt=(0,k.jsx)(E,{label:`Master username`,value:u.MasterUsername}),t[153]=u.MasterUsername,t[154]=bt);let xt;t[155]===u.DBName?xt=t[156]:(xt=(0,k.jsx)(E,{label:`Initial database`,value:u.DBName}),t[155]=u.DBName,t[156]=xt);let St=u.DeletionProtection?`On`:`Off`,Ct;t[157]===St?Ct=t[158]:(Ct=(0,k.jsx)(E,{label:`Deletion protection`,value:St}),t[157]=St,t[158]=Ct);let wt;t[159]===u.InstanceCreateTime?wt=t[160]:(wt=c(u.InstanceCreateTime),t[159]=u.InstanceCreateTime,t[160]=wt);let Tt;t[161]===wt?Tt=t[162]:(Tt=(0,k.jsx)(E,{label:`Created`,value:wt}),t[161]=wt,t[162]=Tt);let Et;t[163]!==X||t[164]!==mt||t[165]!==Z||t[166]!==Q||t[167]!==$||t[168]!==_t||t[169]!==yt||t[170]!==bt||t[171]!==xt||t[172]!==Ct||t[173]!==Tt?(Et=(0,k.jsxs)(T,{children:[Y,(0,k.jsxs)(T.Content,{children:[X,mt,Z,Q,$,_t,yt,bt,xt,Ct,Tt]})]}),t[163]=X,t[164]=mt,t[165]=Z,t[166]=Q,t[167]=$,t[168]=_t,t[169]=yt,t[170]=bt,t[171]=xt,t[172]=Ct,t[173]=Tt,t[174]=Et):Et=t[174];let Dt;t[175]!==ae||t[176]!==s?(Dt=ae&&(0,k.jsxs)(T,{children:[(0,k.jsx)(T.Header,{children:`Pending Changes`}),(0,k.jsxs)(T.Content,{children:[(0,k.jsx)(E,{label:`Instance class`,value:s?.DBInstanceClass}),(0,k.jsx)(E,{label:`Allocated storage`,value:s?.AllocatedStorage?`${s.AllocatedStorage} GiB`:void 0})]})]}),t[175]=ae,t[176]=s,t[177]=Dt):Dt=t[177],t[178]!==Et||t[179]!==Dt?(j=(0,k.jsx)(Me,{value:`configuration`,children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[Et,Dt]})}),t[178]=Et,t[179]=Dt,t[180]=j):j=t[180],Fe=Me,Xe=`backups`,qe=`space-y-4`,Je=r&&(0,k.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`alert`,children:[(0,k.jsx)(`p`,{className:`font-medium`,children:`An automated backup failed`}),(0,k.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[r.Message,` (`,c(r.Date),`)`]})]}),Ye=i&&(0,k.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`alert`,children:[(0,k.jsx)(`p`,{className:`font-medium`,children:`A backup raised a warning`}),(0,k.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[i.Message,` (`,c(i.Date),`)`]})]}),Pe=T,t[181]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,k.jsx)(T.Header,{children:`Automated Backups`}),t[181]=Ge):Ge=t[181],w=T.Content;let Ot=u.BackupRetentionPeriod===0?`Disabled`:`${u.BackupRetentionPeriod} days`;t[182]===Ot?dt=t[183]:(dt=(0,k.jsx)(E,{label:`Retention`,value:Ot}),t[182]=Ot,t[183]=dt);let kt=o?.Status??`None — automated backups are off`;t[184]===kt?ft=t[185]:(ft=(0,k.jsx)(E,{label:`Status`,value:kt}),t[184]=kt,t[185]=ft),t[186]===u.PreferredBackupWindow?I=t[187]:(I=(0,k.jsx)(E,{label:`Preferred backup window`,value:u.PreferredBackupWindow}),t[186]=u.PreferredBackupWindow,t[187]=I),t[188]===u.PreferredMaintenanceWindow?ze=t[189]:(ze=(0,k.jsx)(E,{label:`Preferred maintenance window`,value:u.PreferredMaintenanceWindow}),t[188]=u.PreferredMaintenanceWindow,t[189]=ze),C=E,lt=`Last backup`,ut=a?.SnapshotCreateTime&&c(a.SnapshotCreateTime),t[9]=de.DBInstanceAutomatedBackups?.[0],t[10]=n,t[11]=se.Events,t[12]=u,t[13]=f,t[14]=le.DBSnapshots,t[15]=fe,t[16]=x,t[17]=pe,t[18]=C,t[19]=w,t[20]=Pe,t[21]=Fe,t[22]=Ie,t[23]=Le,t[24]=Re,t[25]=ze,t[26]=Ge,t[27]=qe,t[28]=Je,t[29]=Ye,t[30]=Xe,t[31]=Ze,t[32]=Qe,t[33]=A,t[34]=j,t[35]=ct,t[36]=M,t[37]=N,t[38]=P,t[39]=F,t[40]=lt,t[41]=ut,t[42]=dt,t[43]=ft,t[44]=I}else C=t[18],w=t[19],Pe=t[20],Fe=t[21],Ie=t[22],Le=t[23],Re=t[24],ze=t[25],Ge=t[26],qe=t[27],Je=t[28],Ye=t[29],Xe=t[30],Ze=t[31],Qe=t[32],A=t[33],j=t[34],ct=t[35],M=t[36],N=t[37],P=t[38],F=t[39],lt=t[40],ut=t[41],dt=t[42],ft=t[43],I=t[44];let L;t[190]!==C||t[191]!==lt||t[192]!==ut?(L=(0,k.jsx)(C,{label:lt,value:ut}),t[190]=C,t[191]=lt,t[192]=ut,t[193]=L):L=t[193];let R;t[194]!==w||t[195]!==ze||t[196]!==L||t[197]!==dt||t[198]!==ft||t[199]!==I?(R=(0,k.jsxs)(w,{children:[dt,ft,I,ze,L]}),t[194]=w,t[195]=ze,t[196]=L,t[197]=dt,t[198]=ft,t[199]=I,t[200]=R):R=t[200];let z;t[201]!==Pe||t[202]!==Ge||t[203]!==R?(z=(0,k.jsxs)(Pe,{children:[Ge,R]}),t[201]=Pe,t[202]=Ge,t[203]=R,t[204]=z):z=t[204];let pt;t[205]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,k.jsx)(`h3`,{className:`text-sm font-medium`,children:`Snapshots`}),t[205]=pt):pt=t[205];let B;t[206]!==r||t[207]!==Re?(B=(0,k.jsxs)(`div`,{className:`space-y-2`,children:[pt,Re.length>0?(0,k.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,k.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,k.jsx)(`thead`,{children:(0,k.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Identifier`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Type`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,k.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,k.jsx)(`tbody`,{children:Re.map(e=>{let t=e.DBSnapshotIdentifier;return t?(0,k.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,k.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,k.jsx)(o,{className:`text-primary hover:underline`,params:{id:t},to:`/rds/describe-db-snapshots/$id`,children:t})}),(0,k.jsx)(`td`,{className:`px-4 py-2`,children:e.SnapshotType}),(0,k.jsx)(`td`,{className:`px-4 py-2`,children:(0,k.jsx)(ke,{state:e.Status})}),(0,k.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:c(e.SnapshotCreateTime)}),(0,k.jsxs)(`td`,{className:`space-x-2 px-4 py-2 text-right`,children:[(0,k.jsx)(l,{disabled:!m(e.Status),onClick:async()=>await r({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:t}}),size:`sm`,variant:`outline`,children:`Restore`}),(0,k.jsx)(l,{disabled:!ge(e.Status,e.SnapshotType),onClick:()=>De(t),size:`sm`,variant:`destructive`,children:`Delete`})]})]},t):null})})]})}):(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`No snapshots of this instance.`})]}),t[206]=r,t[207]=Re,t[208]=B):B=t[208];let V;t[209]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Automated backups are daily snapshots taken in the backup window, deleted by retention rather than by hand. There is no point-in-time restore.`}),t[209]=V):V=t[209];let H;t[210]!==qe||t[211]!==Je||t[212]!==Ye||t[213]!==z||t[214]!==B?(H=(0,k.jsxs)(`div`,{className:qe,children:[Je,Ye,z,B,V]}),t[210]=qe,t[211]=Je,t[212]=Ye,t[213]=z,t[214]=B,t[215]=H):H=t[215];let U;t[216]!==Fe||t[217]!==Xe||t[218]!==H?(U=(0,k.jsx)(Fe,{value:Xe,children:H}),t[216]=Fe,t[217]=Xe,t[218]=H,t[219]=U):U=t[219];let W;t[220]===oe?W=t[221]:(W=(0,k.jsx)(Me,{value:`tags`,children:(0,k.jsx)(He,{arn:oe})}),t[220]=oe,t[221]=W);let G;t[222]===Le?G=t[223]:(G=(0,k.jsx)(Me,{value:`events`,children:(0,k.jsx)(D,{events:Le})}),t[222]=Le,t[223]=G);let K;t[224]!==Ie||t[225]!==Ze||t[226]!==Qe||t[227]!==A||t[228]!==j||t[229]!==U||t[230]!==W||t[231]!==G?(K=(0,k.jsxs)(Ie,{defaultValue:Ze,children:[Qe,A,j,U,W,G]}),t[224]=Ie,t[225]=Ze,t[226]=Qe,t[227]=A,t[228]=j,t[229]=U,t[230]=W,t[231]=G,t[232]=K):K=t[232];let q;t[233]!==ct||t[234]!==M||t[235]!==N||t[236]!==K?(q=(0,k.jsxs)(`div`,{className:ct,children:[M,N,K]}),t[233]=ct,t[234]=M,t[235]=N,t[236]=K,t[237]=q):q=t[237];let J;t[238]!==u||t[239]!==v?(J=v&&(0,k.jsx)(Ke,{instance:u,onOpenChange:Se,open:!0}),t[238]=u,t[239]=v,t[240]=J):J=t[240];let Y;t[241]!==n||t[242]!==y?(Y=y&&(0,k.jsx)(Be,{dbInstanceIdentifier:n,onOpenChange:Te,open:!0}),t[241]=n,t[242]=y,t[243]=Y):Y=t[243];let X;t[244]===Ee?X=t[245]:(X=Ee&&(0,k.jsx)(Ve,{dbSnapshotIdentifier:Ee,onOpenChange:e=>!e&&De(null),open:!0}),t[244]=Ee,t[245]=X);let mt=u.DeletionProtection??!1,Z;t[246]===r?Z=t[247]:(Z=async()=>await r({to:`/rds/describe-db-instances`}),t[246]=r,t[247]=Z);let ht;t[248]===Symbol.for(`react.memo_cache_sentinel`)?(ht=()=>{be(!1),Se(!0)},t[248]=ht):ht=t[248];let Q;t[249]!==n||t[250]!==p||t[251]!==mt||t[252]!==Z?(Q=(0,k.jsx)(Ue,{dbInstanceIdentifier:n,deletionProtection:mt,onDeleted:Z,onModify:ht,onOpenChange:be,open:p}),t[249]=n,t[250]=p,t[251]=mt,t[252]=Z,t[253]=Q):Q=t[253];let $;return t[254]!==P||t[255]!==F||t[256]!==q||t[257]!==J||t[258]!==Y||t[259]!==X||t[260]!==Q?($=(0,k.jsxs)(k.Fragment,{children:[P,F,q,J,Y,X,Q]}),t[254]=P,t[255]=F,t[256]=q,t[257]=J,t[258]=Y,t[259]=X,t[260]=Q,t[261]=$):$=t[261],$}function tt(e){return`${e.DBParameterGroupName} (${e.ParameterApplyStatus})`}function nt(e){return e.VpcSecurityGroupId}function rt(e){return(0,k.jsxs)(`span`,{className:`text-xs text-tactical-amber`,children:[e.StatusType,`: `,e.Message??e.Status]},`${e.StatusType}-${e.Status}`)}function it(e,t){return(e.SnapshotCreateTime?.getTime()??0)-(t.SnapshotCreateTime?.getTime()??0)}function at(e){return e.SnapshotType===p}function ot(e){return A(e,`backup`)&&A(e,`notification`)}function st(e){return A(e,`backup`)&&A(e,`failure`)}function ct(){let e=(0,We.c)(2),{id:t}=w.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,k.jsx)(j,{dbInstanceIdentifier:n}),e[0]=n,e[1]=r),r}export{ct as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c}from"./cluster-config.js";import{t as ee}from"./back-link.js";import{t as te}from"./camera.js";import{t as ne}from"./pencil.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./trash-2.js";import{t as l}from"./button.js";import{t as ae}from"./input.js";import{w as u}from"./ec2.js";import{S as oe,a as d,c as se,d as f,f as ce,l as le,m as ue,p as de,u as fe}from"./rds.js";import{d as p,l as pe,m,p as h}from"./rds2.js";import{c as me,d as g,l as he,n as ge,o as _,s as v,t as _e}from"./rds3.js";import{t as y}from"./_id19.js";import{a as b,i as x,n as S,t as C}from"./zod.js";import{t as ve}from"./error-banner.js";import{t as ye}from"./form-actions.js";import{t as be}from"./page-heading.js";import{a as w,n as xe,r as Se,t as Ce}from"./field.js";import{a as we,i as Te,l as T,s as Ee,t as De}from"./alert-dialog.js";import{n as E,t as D}from"./detail-row.js";import{t as Oe}from"./state-badge.js";import{i as ke,n as Ae,r as je,t as Me}from"./tabs.js";import{n as Ne,t as Pe}from"./picker-notice.js";import{a as Fe,o as Ie,s as Le,t as Re}from"./security-group-checkboxes.js";import{t as ze}from"./create-db-snapshot-dialog.js";import{t as Be}from"./delete-db-snapshot-dialog.js";import{t as Ve}from"./rds-events-panel.js";import{t as He}from"./rds-tags-tab.js";import{t as Ue}from"./delete-db-instance-dialog.js";var O=e(n(),1),We=r(),k=t(),Ge=[{label:`Identifier`,note:`The identifier is the endpoint hostname and the certificate subject; renaming in place is not implemented.`},{label:`Engine version`,note:`There is no in-place engine-version upgrade.`},{label:`Port`,note:`The port is fixed at create; changing it would break every client and the serving certificate.`},{label:`DB subnet group`,note:`The endpoint ENI is placed at create; moving it would change the address clients resolve.`}];function Ke(e){let t=(0,We.c)(216),{open:n,onOpenChange:r,instance:a}=e,o=pe(),s=i(g),c=i(u),ee=i(_),te=a.Engine??``,ne;t[0]===te?ne=t[1]:(ne=he(te),t[0]=te,t[1]=ne);let re=i(ne),ie=a.DBInstanceIdentifier??``,l=a.AllocatedStorage??0,d;t[2]===a.VpcSecurityGroups?d=t[3]:(d=a.VpcSecurityGroups?.map(Qe).filter(Boolean)??[],t[2]=a.VpcSecurityGroups,t[3]=d);let se=d,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=C(oe),t[4]=f):f=t[4];let ce=a.DBInstanceClass??``,le=a.DBParameterGroups?.[0]?.DBParameterGroupName??``,ue=a.DeletionProtection??!1,de=a.BackupRetentionPeriod??0,fe=a.PreferredBackupWindow??``,p=a.PreferredMaintenanceWindow??``,m;t[5]!==se||t[6]!==l||t[7]!==p||t[8]!==ce||t[9]!==le||t[10]!==ue||t[11]!==de||t[12]!==fe?(m={resolver:f,defaultValues:{currentAllocatedStorage:l,dbInstanceClass:ce,allocatedStorage:l,dbParameterGroupName:le,vpcSecurityGroupIds:se,deletionProtection:ue,backupRetentionPeriod:de,preferredBackupWindow:fe,preferredMaintenanceWindow:p,masterUserPassword:``,applyImmediately:!1}},t[5]=se,t[6]=l,t[7]=p,t[8]=ce,t[9]=le,t[10]=ue,t[11]=de,t[12]=fe,t[13]=m):m=t[13];let{control:h,formState:me,handleSubmit:ge,register:v,setValue:_e}=x(m),{errors:y,isSubmitting:be}=me,E;t[14]===h?E=t[15]:(E={control:h},t[14]=h,t[15]=E);let D=b(E),Oe=D.dbInstanceClass??``,ke=D.allocatedStorage??l,Ae;t[16]===D.vpcSecurityGroupIds?Ae=t[17]:(Ae=D.vpcSecurityGroupIds??[],t[16]=D.vpcSecurityGroupIds,t[17]=Ae);let je=Ae,Me;t[18]===re.data?.OrderableDBInstanceOptions?Me=t[19]:(Me=new Set((re.data?.OrderableDBInstanceOptions??[]).map(Ze).filter(Boolean)),t[18]=re.data?.OrderableDBInstanceOptions,t[19]=Me);let ze;t[20]===Me?ze=t[21]:(ze=[...Me],t[20]=Me,t[21]=ze);let Be=ze,Ve,He,Ue,O,Ke,A,$e,et,j,tt,nt,rt,it,at,ot,st,M,N,P,F;if(t[22]!==h||t[23]!==l||t[24]!==ee.data?.DBEngineVersions||t[25]!==y.allocatedStorage||t[26]!==ge||t[27]!==ie||t[28]!==a.DBInstanceClass||t[29]!==a.DBSubnetGroup?.VpcId||t[30]!==a.Engine||t[31]!==Be||t[32]!==o||t[33]!==r||t[34]!==n||t[35]!==re||t[36]!==s||t[37]!==v||t[38]!==c||t[39]!==Oe||t[40]!==ke||t[41]!==_e){let e=Le(s.data?.DBParameterGroups??[],ee.data?.DBEngineVersions??[],a.Engine??``),i=a.DBSubnetGroup?.VpcId,te;t[62]===c.data?.SecurityGroups?te=t[63]:(te=c.data?.SecurityGroups??[],t[62]=c.data?.SecurityGroups,t[63]=te);let ne;if(t[64]!==i||t[65]!==te){let e;t[67]===i?e=t[68]:(e=e=>i===void 0||e.VpcId===i,t[67]=i,t[68]=e),ne=te.filter(e),t[64]=i,t[65]=te,t[66]=ne}else ne=t[66];Ke=ne;let u=Oe!==a.DBInstanceClass,oe=ke!==l,d=Be.length===0,se=`No instance class this cluster's nodes can run is available for ${a.Engine}.`,f;t[69]!==re||t[70]!==d||t[71]!==se?(f=Ne(re,d,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:se}),t[69]=re,t[70]=d,t[71]=se,t[72]=f):f=t[72];let ce=f,le=e.length===0,ue;t[73]!==s||t[74]!==le?(ue=Ne(s,le,{loading:`Loading the parameter groups…`,failed:`Could not read the parameter groups`,empty:`No parameter group of this instance's engine family exists.`}),t[73]=s,t[74]=le,t[75]=ue):ue=t[75];let de=ue,fe=Ke.length===0,p;t[76]!==c||t[77]!==fe?(p=Ne(c,fe,{loading:`Loading the security groups…`,failed:`Could not read the security groups`,empty:`No security group in this instance's VPC is available.`}),t[76]=c,t[77]=fe,t[78]=p):p=t[78],O=p;let pe;t[79]===_e?pe=t[80]:(pe=e=>_e(`vpcSecurityGroupIds`,e,{shouldValidate:!0}),t[79]=_e,t[80]=pe),A=pe;let m;t[81]!==ie||t[82]!==o||t[83]!==r?(m=async e=>{await o.mutateAsync({...e,dbInstanceIdentifier:ie}),r(!1)},t[81]=ie,t[82]=o,t[83]=r,t[84]=m):m=t[84];let me=m;Ue=De,P=r,F=n,He=Te,M=`max-h-[85vh] overflow-y-auto`;let g;t[85]===ie?g=t[86]:(g=(0,k.jsxs)(T,{children:[`Modify `,ie]}),t[85]=ie,t[86]=g);let he;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,k.jsx)(we,{children:`Changes apply in the maintenance window unless you apply them immediately.`}),t[87]=he):he=t[87],t[88]===g?N=t[89]:(N=(0,k.jsxs)(Ee,{children:[g,he]}),t[88]=g,t[89]=N),it=`space-y-4`,t[90]!==ge||t[91]!==me?(at=ge(me),t[90]=ge,t[91]=me,t[92]=at):at=t[92];let _;t[93]===Be?_=t[94]:(_=Be.map(Xe),t[93]=Be,t[94]=_);let b=u&&`Changing the class replaces the VM. The database is unavailable while it does.`;t[95]!==ce||t[96]!==h||t[97]!==_||t[98]!==b?(ot=(0,k.jsx)(Ie,{control:h,id:`modify-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:ce,options:_,placeholder:`Select an instance class`,warning:b}),t[95]=ce,t[96]=h,t[97]=_,t[98]=b,t[99]=ot):ot=t[99];let x;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,k.jsx)(w,{children:(0,k.jsx)(`label`,{htmlFor:`modify-storage`,children:`Allocated storage (GiB)`})}),t[100]=x):x=t[100];let S=!!y.allocatedStorage,C;t[101]===v?C=t[102]:(C=v(`allocatedStorage`,{valueAsNumber:!0}),t[101]=v,t[102]=C);let ve;t[103]!==l||t[104]!==S||t[105]!==C?(ve=(0,k.jsx)(ae,{"aria-invalid":S,id:`modify-storage`,min:l,type:`number`,...C}),t[103]=l,t[104]=S,t[105]=C,t[106]=ve):ve=t[106];let ye;t[107]===l?ye=t[108]:(ye=(0,k.jsxs)(xe,{children:[`Currently `,l,` GiB. Storage grows only.`]}),t[107]=l,t[108]=ye);let be;t[109]===oe?be=t[110]:(be=oe&&(0,k.jsx)(`p`,{className:`text-xs text-tactical-amber`,children:`Growing storage stops and starts the instance to extend the filesystem.`}),t[109]=oe,t[110]=be);let E;t[111]===y.allocatedStorage?E=t[112]:(E=(0,k.jsx)(Se,{errors:[y.allocatedStorage]}),t[111]=y.allocatedStorage,t[112]=E),t[113]!==ve||t[114]!==ye||t[115]!==be||t[116]!==E?(st=(0,k.jsxs)(Ce,{children:[x,ve,ye,be,E]}),t[113]=ve,t[114]=ye,t[115]=be,t[116]=E,t[117]=st):st=t[117],Ve=Ie,$e=h,et=`modify-parameter-group`,j=`DB parameter group`,tt=`dbParameterGroupName`,nt=de,rt=e.map(Ye),t[22]=h,t[23]=l,t[24]=ee.data?.DBEngineVersions,t[25]=y.allocatedStorage,t[26]=ge,t[27]=ie,t[28]=a.DBInstanceClass,t[29]=a.DBSubnetGroup?.VpcId,t[30]=a.Engine,t[31]=Be,t[32]=o,t[33]=r,t[34]=n,t[35]=re,t[36]=s,t[37]=v,t[38]=c,t[39]=Oe,t[40]=ke,t[41]=_e,t[42]=Ve,t[43]=He,t[44]=Ue,t[45]=O,t[46]=Ke,t[47]=A,t[48]=$e,t[49]=et,t[50]=j,t[51]=tt,t[52]=nt,t[53]=rt,t[54]=it,t[55]=at,t[56]=ot,t[57]=st,t[58]=M,t[59]=N,t[60]=P,t[61]=F}else Ve=t[42],He=t[43],Ue=t[44],O=t[45],Ke=t[46],A=t[47],$e=t[48],et=t[49],j=t[50],tt=t[51],nt=t[52],rt=t[53],it=t[54],at=t[55],ot=t[56],st=t[57],M=t[58],N=t[59],P=t[60],F=t[61];let I;t[118]!==Ve||t[119]!==$e||t[120]!==et||t[121]!==j||t[122]!==tt||t[123]!==nt||t[124]!==rt?(I=(0,k.jsx)(Ve,{control:$e,id:et,label:j,name:tt,notice:nt,options:rt,placeholder:`Engine default group`}),t[118]=Ve,t[119]=$e,t[120]=et,t[121]=j,t[122]=tt,t[123]=nt,t[124]=rt,t[125]=I):I=t[125];let ct;t[126]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,k.jsx)(w,{children:`VPC security groups`}),t[126]=ct):ct=t[126];let lt;t[127]!==O||t[128]!==Ke||t[129]!==je||t[130]!==A?(lt=(0,k.jsxs)(Ce,{children:[ct,O?(0,k.jsx)(Pe,{notice:O}):(0,k.jsx)(Re,{emptyText:`No security group in this instance's VPC is available.`,groups:Ke,onChange:A,selected:je})]}),t[127]=O,t[128]=Ke,t[129]=je,t[130]=A,t[131]=lt):lt=t[131];let ut;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,k.jsx)(w,{children:(0,k.jsx)(`label`,{htmlFor:`modify-retention`,children:`Backup retention (days)`})}),t[132]=ut):ut=t[132];let dt=!!y.backupRetentionPeriod,L;t[133]===v?L=t[134]:(L=v(`backupRetentionPeriod`,{valueAsNumber:!0}),t[133]=v,t[134]=L);let R;t[135]!==dt||t[136]!==L?(R=(0,k.jsx)(ae,{"aria-invalid":dt,id:`modify-retention`,max:7,min:0,type:`number`,...L}),t[135]=dt,t[136]=L,t[137]=R):R=t[137];let z;t[138]===y.backupRetentionPeriod?z=t[139]:(z=(0,k.jsx)(Se,{errors:[y.backupRetentionPeriod]}),t[138]=y.backupRetentionPeriod,t[139]=z);let B;t[140]!==R||t[141]!==z?(B=(0,k.jsxs)(Ce,{children:[ut,R,z]}),t[140]=R,t[141]=z,t[142]=B):B=t[142];let ft;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,k.jsx)(w,{children:(0,k.jsx)(`label`,{htmlFor:`modify-backup-window`,children:`Preferred backup window`})}),t[143]=ft):ft=t[143];let V=!!y.preferredBackupWindow,pt;t[144]===v?pt=t[145]:(pt=v(`preferredBackupWindow`),t[144]=v,t[145]=pt);let H;t[146]!==V||t[147]!==pt?(H=(0,k.jsx)(ae,{"aria-invalid":V,id:`modify-backup-window`,placeholder:`hh24:mi-hh24:mi in UTC`,...pt}),t[146]=V,t[147]=pt,t[148]=H):H=t[148];let U;t[149]===y.preferredBackupWindow?U=t[150]:(U=(0,k.jsx)(Se,{errors:[y.preferredBackupWindow]}),t[149]=y.preferredBackupWindow,t[150]=U);let W;t[151]!==H||t[152]!==U?(W=(0,k.jsxs)(Ce,{children:[ft,H,U]}),t[151]=H,t[152]=U,t[153]=W):W=t[153];let G;t[154]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,k.jsx)(w,{children:(0,k.jsx)(`label`,{htmlFor:`modify-maintenance-window`,children:`Preferred maintenance window`})}),t[154]=G):G=t[154];let K=!!y.preferredMaintenanceWindow,q;t[155]===v?q=t[156]:(q=v(`preferredMaintenanceWindow`),t[155]=v,t[156]=q);let J;t[157]!==K||t[158]!==q?(J=(0,k.jsx)(ae,{"aria-invalid":K,id:`modify-maintenance-window`,placeholder:`ddd:hh24:mi-ddd:hh24:mi in UTC`,...q}),t[157]=K,t[158]=q,t[159]=J):J=t[159];let Y;t[160]===y.preferredMaintenanceWindow?Y=t[161]:(Y=(0,k.jsx)(Se,{errors:[y.preferredMaintenanceWindow]}),t[160]=y.preferredMaintenanceWindow,t[161]=Y);let X;t[162]!==J||t[163]!==Y?(X=(0,k.jsxs)(Ce,{children:[G,J,Y]}),t[162]=J,t[163]=Y,t[164]=X):X=t[164];let mt;t[165]===Symbol.for(`react.memo_cache_sentinel`)?(mt=(0,k.jsx)(w,{children:(0,k.jsx)(`label`,{htmlFor:`modify-password`,children:`Reset master password`})}),t[165]=mt):mt=t[165];let Z=!!y.masterUserPassword,ht;t[166]===v?ht=t[167]:(ht=v(`masterUserPassword`),t[166]=v,t[167]=ht);let Q;t[168]!==Z||t[169]!==ht?(Q=(0,k.jsx)(ae,{"aria-invalid":Z,id:`modify-password`,type:`password`,...ht}),t[168]=Z,t[169]=ht,t[170]=Q):Q=t[170];let $;t[171]===Symbol.for(`react.memo_cache_sentinel`)?($=(0,k.jsx)(xe,{children:`Leave blank to keep the current password.`}),t[171]=$):$=t[171];let gt;t[172]===y.masterUserPassword?gt=t[173]:(gt=(0,k.jsx)(Se,{errors:[y.masterUserPassword]}),t[172]=y.masterUserPassword,t[173]=gt);let _t;t[174]!==Q||t[175]!==gt?(_t=(0,k.jsxs)(Ce,{children:[mt,Q,$,gt]}),t[174]=Q,t[175]=gt,t[176]=_t):_t=t[176];let vt;t[177]===h?vt=t[178]:(vt=(0,k.jsx)(Fe,{control:h,name:`deletionProtection`}),t[177]=h,t[178]=vt);let yt;t[179]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,k.jsx)(w,{children:`Apply immediately`}),t[179]=yt):yt=t[179];let bt;t[180]===h?bt=t[181]:(bt=(0,k.jsxs)(Ce,{children:[yt,(0,k.jsx)(S,{control:h,name:`applyImmediately`,render:Je})]}),t[180]=h,t[181]=bt);let xt;t[182]===Symbol.for(`react.memo_cache_sentinel`)?(xt=(0,k.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,children:[(0,k.jsx)(`h3`,{className:`text-xs font-medium`,children:`Fixed at create`}),Ge.map(qe)]}),t[182]=xt):xt=t[182];let St;t[183]===o.error?St=t[184]:(St=o.error&&(0,k.jsx)(ve,{error:o.error,msg:`Failed to modify the DB instance`}),t[183]=o.error,t[184]=St);let Ct;t[185]===r?Ct=t[186]:(Ct=()=>r(!1),t[185]=r,t[186]=Ct);let wt;t[187]!==be||t[188]!==o.isPending||t[189]!==Ct?(wt=(0,k.jsx)(`div`,{className:`flex justify-end`,children:(0,k.jsx)(ye,{isPending:o.isPending,isSubmitting:be,onCancel:Ct,pendingLabel:`Saving…`,submitLabel:`Save Changes`})}),t[187]=be,t[188]=o.isPending,t[189]=Ct,t[190]=wt):wt=t[190];let Tt;t[191]!==it||t[192]!==at||t[193]!==ot||t[194]!==st||t[195]!==I||t[196]!==lt||t[197]!==B||t[198]!==W||t[199]!==X||t[200]!==_t||t[201]!==vt||t[202]!==bt||t[203]!==St||t[204]!==wt?(Tt=(0,k.jsxs)(`form`,{className:it,onSubmit:at,children:[ot,st,I,lt,B,W,X,_t,vt,bt,xt,St,wt]}),t[191]=it,t[192]=at,t[193]=ot,t[194]=st,t[195]=I,t[196]=lt,t[197]=B,t[198]=W,t[199]=X,t[200]=_t,t[201]=vt,t[202]=bt,t[203]=St,t[204]=wt,t[205]=Tt):Tt=t[205];let Et;t[206]!==He||t[207]!==M||t[208]!==N||t[209]!==Tt?(Et=(0,k.jsxs)(He,{className:M,children:[N,Tt]}),t[206]=He,t[207]=M,t[208]=N,t[209]=Tt,t[210]=Et):Et=t[210];let Dt;return t[211]!==Ue||t[212]!==P||t[213]!==F||t[214]!==Et?(Dt=(0,k.jsx)(Ue,{onOpenChange:P,open:F,children:Et}),t[211]=Ue,t[212]=P,t[213]=F,t[214]=Et,t[215]=Dt):Dt=t[215],Dt}function qe(e){return(0,k.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,k.jsx)(`span`,{className:`font-medium`,children:e.label}),` —`,` `,e.note]},e.label)}function Je(e){let{field:t}=e;return(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{"aria-label":`Apply immediately`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),(0,k.jsx)(`span`,{children:`Apply now instead of waiting for the maintenance window`})]})}function Ye(e){return{value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``}}function Xe(e){return{value:e,label:e}}function Ze(e){return e.DBInstanceClass??``}function Qe(e){return e.VpcSecurityGroupId??``}function A(e,t){return e.EventCategories?.includes(t)??!1}function $e(e,t){return e.filter(t).toSorted((e,t)=>(e.Date?.getTime()??0)-(t.Date?.getTime()??0)).at(-1)}function et(e){let t=e.Endpoint?.Address;if(!t)return[];let n=e.Endpoint?.Port??e.DbInstancePort,r=e.MasterUsername??``,i=e.DBName??r;return e.Engine===`postgres`?[{label:`Connect`,parts:[{type:`bin`,value:`psql`},{type:`value`,value:` "host=${t} port=${n} dbname=${i} user=${r} sslmode=require"`}]}]:[{label:`Connect`,parts:[{type:`bin`,value:`mariadb`},{type:`flag`,value:` --host`},{type:`value`,value:`=${t}`},{type:`flag`,value:` --port`},{type:`value`,value:`=${n}`},{type:`flag`,value:` --user`},{type:`value`,value:`=${r}`},{type:`flag`,value:` --ssl`},{type:`value`,value:` ${i}`}]}]}function j(e){let t=(0,We.c)(262),{dbInstanceIdentifier:n}=e,r=s(),i;t[0]===n?i=t[1]:(i=ge(n),t[0]=n,t[1]=i);let{data:ae}=a(i),u=ae.DBInstances?.[0],oe=u?.DBInstanceArn??``,d;t[2]===n?d=t[3]:(d=v(n),t[2]=n,t[3]=d);let{data:pe}=a(d),g;t[4]===n?g=t[5]:(g=me(n),t[4]=n,t[5]=g);let{data:he}=a(g),_;t[6]===n?_=t[7]:(_=_e(n),t[6]=n,t[7]=_);let{data:y}=a(_),b=h(),x=m(),S=p(),[C,ye]=(0,O.useState)(!1),[w,xe]=(0,O.useState)(!1),[Se,Ce]=(0,O.useState)(!1),[we,Te]=(0,O.useState)(null);if(!u?.DBInstanceIdentifier){let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ee,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`DB instance not found.`})]}),t[8]=e):e=t[8],e}let T=u.DBInstanceStatus,Ee,De,Ne,Pe,Fe,Ie,Le,Re,Ge,qe,Je,Ye,Xe,Ze,Qe,A,j,M,N,P,F,I,ct,lt,ut,dt,L;if(t[9]!==y.DBInstanceAutomatedBackups?.[0]||t[10]!==n||t[11]!==pe.Events||t[12]!==u||t[13]!==S||t[14]!==he.DBSnapshots||t[15]!==b||t[16]!==T||t[17]!==x){Ie=pe.Events??[];let e=b.error??x.error??S.error,r=$e(Ie,st),i=$e(Ie,ot);Le=he.DBSnapshots??[];let a=Le.filter(at).toSorted(it).at(-1),o=y.DBInstanceAutomatedBackups?.[0],s=u.PendingModifiedValues,ae=s?.AllocatedStorage!==void 0||s?.DBInstanceClass!==void 0;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,k.jsx)(ee,{to:`/rds/describe-db-instances`,children:`Back to databases`}),t[45]=F):F=t[45],t[46]===e?I=t[47]:(I=e&&(0,k.jsx)(ve,{error:e,msg:`Failed to change the DB instance state.`}),t[46]=e,t[47]=I),M=`space-y-6`;let oe;t[48]!==b.isPending||t[49]!==T?(oe=!de(T)||b.isPending,t[48]=b.isPending,t[49]=T,t[50]=oe):oe=t[50];let d;t[51]!==n||t[52]!==b?(d=()=>b.mutate(n),t[51]=n,t[52]=b,t[53]=d):d=t[53];let f;t[54]!==oe||t[55]!==d?(f=(0,k.jsx)(l,{disabled:oe,onClick:d,size:`sm`,variant:`outline`,children:`Start`}),t[54]=oe,t[55]=d,t[56]=f):f=t[56];let le;t[57]!==T||t[58]!==x.isPending?(le=!ue(T)||x.isPending,t[57]=T,t[58]=x.isPending,t[59]=le):le=t[59];let p;t[60]!==n||t[61]!==x?(p=()=>x.mutate(n),t[60]=n,t[61]=x,t[62]=p):p=t[62];let m;t[63]!==le||t[64]!==p?(m=(0,k.jsx)(l,{disabled:le,onClick:p,size:`sm`,variant:`outline`,children:`Stop`}),t[63]=le,t[64]=p,t[65]=m):m=t[65];let h;t[66]!==S.isPending||t[67]!==T?(h=!fe(T)||S.isPending,t[66]=S.isPending,t[67]=T,t[68]=h):h=t[68];let me;t[69]!==n||t[70]!==S?(me=()=>S.mutate(n),t[69]=n,t[70]=S,t[71]=me):me=t[71];let g;t[72]!==h||t[73]!==me?(g=(0,k.jsx)(l,{disabled:h,onClick:me,size:`sm`,variant:`outline`,children:`Reboot`}),t[72]=h,t[73]=me,t[74]=g):g=t[74];let ge;t[75]===T?ge=t[76]:(ge=ce(T),t[75]=T,t[76]=ge);let _=!ge,v;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>Ce(!0),t[77]=v):v=t[77];let _e;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,k.jsx)(te,{className:`size-4`}),t[78]=_e):_e=t[78];let C;t[79]===_?C=t[80]:(C=(0,k.jsxs)(l,{disabled:_,onClick:v,size:`sm`,variant:`outline`,children:[_e,`Take Snapshot`]}),t[79]=_,t[80]=C);let w;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>xe(!0),t[81]=w):w=t[81];let Se;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,k.jsxs)(l,{onClick:w,size:`sm`,variant:`outline`,children:[(0,k.jsx)(ne,{className:`size-4`}),`Modify`]}),t[82]=Se):Se=t[82];let we;t[83]===T?we=t[84]:(we=se(T),t[83]=T,t[84]=we);let Te=!we,ze;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>ye(!0),t[85]=ze):ze=t[85];let Be;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,k.jsx)(ie,{className:`size-4`}),t[86]=Be):Be=t[86];let Ve;t[87]===Te?Ve=t[88]:(Ve=(0,k.jsxs)(l,{disabled:Te,onClick:ze,size:`sm`,variant:`destructive`,children:[Be,`Delete`]}),t[87]=Te,t[88]=Ve);let He;t[89]!==f||t[90]!==m||t[91]!==g||t[92]!==C||t[93]!==Ve?(He=(0,k.jsxs)(`div`,{className:`flex gap-2`,children:[f,m,g,C,Se,Ve]}),t[89]=f,t[90]=m,t[91]=g,t[92]=C,t[93]=Ve,t[94]=He):He=t[94],t[95]!==n||t[96]!==He?(N=(0,k.jsx)(be,{actions:He,subtitle:`DB Instance`,title:n}),t[95]=n,t[96]=He,t[97]=N):N=t[97];let Ue;t[98]===T?Ue=t[99]:(Ue=(0,k.jsx)(Oe,{state:T}),t[98]=T,t[99]=Ue);let O;t[100]===u.StatusInfos?O=t[101]:(O=u.StatusInfos?.map(rt),t[100]=u.StatusInfos,t[101]=O),t[102]!==Ue||t[103]!==O?(P=(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Ue,O]}),t[102]=Ue,t[103]=O,t[104]=P):P=t[104],Fe=Me,Ze=`connectivity`,t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,k.jsxs)(Ae,{children:[(0,k.jsx)(ke,{value:`connectivity`,children:`Connectivity`}),(0,k.jsx)(ke,{value:`configuration`,children:`Configuration`}),(0,k.jsx)(ke,{value:`backups`,children:`Backups`}),(0,k.jsx)(ke,{value:`tags`,children:`Tags`}),(0,k.jsx)(ke,{value:`events`,children:`Events`})]}),t[105]=Qe):Qe=t[105];let We;t[106]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,k.jsx)(E.Header,{children:`Endpoint`}),t[106]=We):We=t[106];let Ke=u.Endpoint?.Address,R;t[107]===Ke?R=t[108]:(R=(0,k.jsx)(D,{label:`Address`,value:Ke}),t[107]=Ke,t[108]=R);let z;t[109]!==u.DbInstancePort||t[110]!==u.Endpoint?.Port?(z=(u.Endpoint?.Port??u.DbInstancePort)?.toString(),t[109]=u.DbInstancePort,t[110]=u.Endpoint?.Port,t[111]=z):z=t[111];let B;t[112]===z?B=t[113]:(B=(0,k.jsx)(D,{label:`Port`,value:z}),t[112]=z,t[113]=B);let ft=u.DBSubnetGroup?.VpcId,V;t[114]===ft?V=t[115]:(V=(0,k.jsx)(D,{label:`VPC`,value:ft}),t[114]=ft,t[115]=V);let pt=u.DBSubnetGroup?.DBSubnetGroupName,H;t[116]===pt?H=t[117]:(H=(0,k.jsx)(D,{label:`DB subnet group`,value:pt}),t[116]=pt,t[117]=H);let U;t[118]===u.VpcSecurityGroups?U=t[119]:(U=u.VpcSecurityGroups?.map(nt).join(`, `),t[118]=u.VpcSecurityGroups,t[119]=U);let W;t[120]===U?W=t[121]:(W=(0,k.jsx)(D,{label:`Security groups`,value:U}),t[120]=U,t[121]=W);let G;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,k.jsx)(D,{label:`Publicly accessible`,value:`No — private VPC address`}),t[122]=G):G=t[122];let K;t[123]!==R||t[124]!==B||t[125]!==V||t[126]!==H||t[127]!==W?(K=(0,k.jsxs)(E,{children:[We,(0,k.jsxs)(E.Content,{children:[R,B,V,H,W,G]})]}),t[123]=R,t[124]=B,t[125]=V,t[126]=H,t[127]=W,t[128]=K):K=t[128];let q;t[129]===u?q=t[130]:(q=et(u),t[129]=u,t[130]=q);let J;t[131]===q?J=t[132]:(J=(0,k.jsx)(re,{commands:q}),t[131]=q,t[132]=J),t[133]!==K||t[134]!==J?(A=(0,k.jsx)(je,{value:`connectivity`,children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[K,J]})}),t[133]=K,t[134]=J,t[135]=A):A=t[135];let Y;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,k.jsx)(E.Header,{children:`Configuration`}),t[136]=Y):Y=t[136];let X;t[137]===u.Engine?X=t[138]:(X=(0,k.jsx)(D,{label:`Engine`,value:u.Engine}),t[137]=u.Engine,t[138]=X);let mt;t[139]===u.EngineVersion?mt=t[140]:(mt=(0,k.jsx)(D,{label:`Version`,value:u.EngineVersion}),t[139]=u.EngineVersion,t[140]=mt);let Z;t[141]===u.DBInstanceClass?Z=t[142]:(Z=(0,k.jsx)(D,{label:`Instance class`,value:u.DBInstanceClass}),t[141]=u.DBInstanceClass,t[142]=Z);let ht=u.AllocatedStorage?`${u.AllocatedStorage} GiB`:void 0,Q;t[143]===ht?Q=t[144]:(Q=(0,k.jsx)(D,{label:`Allocated storage`,value:ht}),t[143]=ht,t[144]=Q);let $;t[145]===u.StorageType?$=t[146]:($=(0,k.jsx)(D,{label:`Storage type`,value:u.StorageType}),t[145]=u.StorageType,t[146]=$);let gt=u.StorageEncrypted?`Encrypted — always on`:`Not encrypted`,_t;t[147]===gt?_t=t[148]:(_t=(0,k.jsx)(D,{label:`Encryption`,value:gt}),t[147]=gt,t[148]=_t);let vt;t[149]===u.DBParameterGroups?vt=t[150]:(vt=u.DBParameterGroups?.map(tt).join(`, `),t[149]=u.DBParameterGroups,t[150]=vt);let yt;t[151]===vt?yt=t[152]:(yt=(0,k.jsx)(D,{label:`Parameter group`,value:vt}),t[151]=vt,t[152]=yt);let bt;t[153]===u.MasterUsername?bt=t[154]:(bt=(0,k.jsx)(D,{label:`Master username`,value:u.MasterUsername}),t[153]=u.MasterUsername,t[154]=bt);let xt;t[155]===u.DBName?xt=t[156]:(xt=(0,k.jsx)(D,{label:`Initial database`,value:u.DBName}),t[155]=u.DBName,t[156]=xt);let St=u.DeletionProtection?`On`:`Off`,Ct;t[157]===St?Ct=t[158]:(Ct=(0,k.jsx)(D,{label:`Deletion protection`,value:St}),t[157]=St,t[158]=Ct);let wt;t[159]===u.InstanceCreateTime?wt=t[160]:(wt=c(u.InstanceCreateTime),t[159]=u.InstanceCreateTime,t[160]=wt);let Tt;t[161]===wt?Tt=t[162]:(Tt=(0,k.jsx)(D,{label:`Created`,value:wt}),t[161]=wt,t[162]=Tt);let Et;t[163]!==X||t[164]!==mt||t[165]!==Z||t[166]!==Q||t[167]!==$||t[168]!==_t||t[169]!==yt||t[170]!==bt||t[171]!==xt||t[172]!==Ct||t[173]!==Tt?(Et=(0,k.jsxs)(E,{children:[Y,(0,k.jsxs)(E.Content,{children:[X,mt,Z,Q,$,_t,yt,bt,xt,Ct,Tt]})]}),t[163]=X,t[164]=mt,t[165]=Z,t[166]=Q,t[167]=$,t[168]=_t,t[169]=yt,t[170]=bt,t[171]=xt,t[172]=Ct,t[173]=Tt,t[174]=Et):Et=t[174];let Dt;t[175]!==ae||t[176]!==s?(Dt=ae&&(0,k.jsxs)(E,{children:[(0,k.jsx)(E.Header,{children:`Pending Changes`}),(0,k.jsxs)(E.Content,{children:[(0,k.jsx)(D,{label:`Instance class`,value:s?.DBInstanceClass}),(0,k.jsx)(D,{label:`Allocated storage`,value:s?.AllocatedStorage?`${s.AllocatedStorage} GiB`:void 0})]})]}),t[175]=ae,t[176]=s,t[177]=Dt):Dt=t[177],t[178]!==Et||t[179]!==Dt?(j=(0,k.jsx)(je,{value:`configuration`,children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[Et,Dt]})}),t[178]=Et,t[179]=Dt,t[180]=j):j=t[180],Pe=je,Xe=`backups`,qe=`space-y-4`,Je=r&&(0,k.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`alert`,children:[(0,k.jsx)(`p`,{className:`font-medium`,children:`An automated backup failed`}),(0,k.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[r.Message,` (`,c(r.Date),`)`]})]}),Ye=i&&(0,k.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`alert`,children:[(0,k.jsx)(`p`,{className:`font-medium`,children:`A backup raised a warning`}),(0,k.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[i.Message,` (`,c(i.Date),`)`]})]}),Ne=E,t[181]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,k.jsx)(E.Header,{children:`Automated Backups`}),t[181]=Ge):Ge=t[181],De=E.Content;let Ot=u.BackupRetentionPeriod===0?`Disabled`:`${u.BackupRetentionPeriod} days`;t[182]===Ot?ut=t[183]:(ut=(0,k.jsx)(D,{label:`Retention`,value:Ot}),t[182]=Ot,t[183]=ut);let kt=o?.Status??`None — automated backups are off`;t[184]===kt?dt=t[185]:(dt=(0,k.jsx)(D,{label:`Status`,value:kt}),t[184]=kt,t[185]=dt),t[186]===u.PreferredBackupWindow?L=t[187]:(L=(0,k.jsx)(D,{label:`Preferred backup window`,value:u.PreferredBackupWindow}),t[186]=u.PreferredBackupWindow,t[187]=L),t[188]===u.PreferredMaintenanceWindow?Re=t[189]:(Re=(0,k.jsx)(D,{label:`Preferred maintenance window`,value:u.PreferredMaintenanceWindow}),t[188]=u.PreferredMaintenanceWindow,t[189]=Re),Ee=D,ct=`Last backup`,lt=a?.SnapshotCreateTime&&c(a.SnapshotCreateTime),t[9]=y.DBInstanceAutomatedBackups?.[0],t[10]=n,t[11]=pe.Events,t[12]=u,t[13]=S,t[14]=he.DBSnapshots,t[15]=b,t[16]=T,t[17]=x,t[18]=Ee,t[19]=De,t[20]=Ne,t[21]=Pe,t[22]=Fe,t[23]=Ie,t[24]=Le,t[25]=Re,t[26]=Ge,t[27]=qe,t[28]=Je,t[29]=Ye,t[30]=Xe,t[31]=Ze,t[32]=Qe,t[33]=A,t[34]=j,t[35]=M,t[36]=N,t[37]=P,t[38]=F,t[39]=I,t[40]=ct,t[41]=lt,t[42]=ut,t[43]=dt,t[44]=L}else Ee=t[18],De=t[19],Ne=t[20],Pe=t[21],Fe=t[22],Ie=t[23],Le=t[24],Re=t[25],Ge=t[26],qe=t[27],Je=t[28],Ye=t[29],Xe=t[30],Ze=t[31],Qe=t[32],A=t[33],j=t[34],M=t[35],N=t[36],P=t[37],F=t[38],I=t[39],ct=t[40],lt=t[41],ut=t[42],dt=t[43],L=t[44];let R;t[190]!==Ee||t[191]!==ct||t[192]!==lt?(R=(0,k.jsx)(Ee,{label:ct,value:lt}),t[190]=Ee,t[191]=ct,t[192]=lt,t[193]=R):R=t[193];let z;t[194]!==De||t[195]!==Re||t[196]!==R||t[197]!==ut||t[198]!==dt||t[199]!==L?(z=(0,k.jsxs)(De,{children:[ut,dt,L,Re,R]}),t[194]=De,t[195]=Re,t[196]=R,t[197]=ut,t[198]=dt,t[199]=L,t[200]=z):z=t[200];let B;t[201]!==Ne||t[202]!==Ge||t[203]!==z?(B=(0,k.jsxs)(Ne,{children:[Ge,z]}),t[201]=Ne,t[202]=Ge,t[203]=z,t[204]=B):B=t[204];let ft;t[205]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,k.jsx)(`h3`,{className:`text-sm font-medium`,children:`Snapshots`}),t[205]=ft):ft=t[205];let V;t[206]!==r||t[207]!==Le?(V=(0,k.jsxs)(`div`,{className:`space-y-2`,children:[ft,Le.length>0?(0,k.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,k.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,k.jsx)(`thead`,{children:(0,k.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Identifier`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Type`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,k.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,k.jsx)(`tbody`,{children:Le.map(e=>{let t=e.DBSnapshotIdentifier;return t?(0,k.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,k.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,k.jsx)(o,{className:`text-primary hover:underline`,params:{id:t},to:`/rds/describe-db-snapshots/$id`,children:t})}),(0,k.jsx)(`td`,{className:`px-4 py-2`,children:e.SnapshotType}),(0,k.jsx)(`td`,{className:`px-4 py-2`,children:(0,k.jsx)(Oe,{state:e.Status})}),(0,k.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:c(e.SnapshotCreateTime)}),(0,k.jsxs)(`td`,{className:`space-x-2 px-4 py-2 text-right`,children:[(0,k.jsx)(l,{disabled:!f(e.Status),onClick:async()=>await r({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:t}}),size:`sm`,variant:`outline`,children:`Restore`}),(0,k.jsx)(l,{disabled:!le(e.Status,e.SnapshotType),onClick:()=>Te(t),size:`sm`,variant:`destructive`,children:`Delete`})]})]},t):null})})]})}):(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`No snapshots of this instance.`})]}),t[206]=r,t[207]=Le,t[208]=V):V=t[208];let pt;t[209]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Automated backups are daily snapshots taken in the backup window, deleted by retention rather than by hand. There is no point-in-time restore.`}),t[209]=pt):pt=t[209];let H;t[210]!==qe||t[211]!==Je||t[212]!==Ye||t[213]!==B||t[214]!==V?(H=(0,k.jsxs)(`div`,{className:qe,children:[Je,Ye,B,V,pt]}),t[210]=qe,t[211]=Je,t[212]=Ye,t[213]=B,t[214]=V,t[215]=H):H=t[215];let U;t[216]!==Pe||t[217]!==Xe||t[218]!==H?(U=(0,k.jsx)(Pe,{value:Xe,children:H}),t[216]=Pe,t[217]=Xe,t[218]=H,t[219]=U):U=t[219];let W;t[220]===oe?W=t[221]:(W=(0,k.jsx)(je,{value:`tags`,children:(0,k.jsx)(He,{arn:oe})}),t[220]=oe,t[221]=W);let G;t[222]===Ie?G=t[223]:(G=(0,k.jsx)(je,{value:`events`,children:(0,k.jsx)(Ve,{events:Ie})}),t[222]=Ie,t[223]=G);let K;t[224]!==Fe||t[225]!==Ze||t[226]!==Qe||t[227]!==A||t[228]!==j||t[229]!==U||t[230]!==W||t[231]!==G?(K=(0,k.jsxs)(Fe,{defaultValue:Ze,children:[Qe,A,j,U,W,G]}),t[224]=Fe,t[225]=Ze,t[226]=Qe,t[227]=A,t[228]=j,t[229]=U,t[230]=W,t[231]=G,t[232]=K):K=t[232];let q;t[233]!==M||t[234]!==N||t[235]!==P||t[236]!==K?(q=(0,k.jsxs)(`div`,{className:M,children:[N,P,K]}),t[233]=M,t[234]=N,t[235]=P,t[236]=K,t[237]=q):q=t[237];let J;t[238]!==u||t[239]!==w?(J=w&&(0,k.jsx)(Ke,{instance:u,onOpenChange:xe,open:!0}),t[238]=u,t[239]=w,t[240]=J):J=t[240];let Y;t[241]!==n||t[242]!==Se?(Y=Se&&(0,k.jsx)(ze,{dbInstanceIdentifier:n,onOpenChange:Ce,open:!0}),t[241]=n,t[242]=Se,t[243]=Y):Y=t[243];let X;t[244]===we?X=t[245]:(X=we&&(0,k.jsx)(Be,{dbSnapshotIdentifier:we,onOpenChange:e=>!e&&Te(null),open:!0}),t[244]=we,t[245]=X);let mt=u.DeletionProtection??!1,Z;t[246]===r?Z=t[247]:(Z=async()=>await r({to:`/rds/describe-db-instances`}),t[246]=r,t[247]=Z);let ht;t[248]===Symbol.for(`react.memo_cache_sentinel`)?(ht=()=>{ye(!1),xe(!0)},t[248]=ht):ht=t[248];let Q;t[249]!==n||t[250]!==C||t[251]!==mt||t[252]!==Z?(Q=(0,k.jsx)(Ue,{dbInstanceIdentifier:n,deletionProtection:mt,onDeleted:Z,onModify:ht,onOpenChange:ye,open:C}),t[249]=n,t[250]=C,t[251]=mt,t[252]=Z,t[253]=Q):Q=t[253];let $;return t[254]!==F||t[255]!==I||t[256]!==q||t[257]!==J||t[258]!==Y||t[259]!==X||t[260]!==Q?($=(0,k.jsxs)(k.Fragment,{children:[F,I,q,J,Y,X,Q]}),t[254]=F,t[255]=I,t[256]=q,t[257]=J,t[258]=Y,t[259]=X,t[260]=Q,t[261]=$):$=t[261],$}function tt(e){return`${e.DBParameterGroupName} (${e.ParameterApplyStatus})`}function nt(e){return e.VpcSecurityGroupId}function rt(e){return(0,k.jsxs)(`span`,{className:`text-xs text-tactical-amber`,children:[e.StatusType,`: `,e.Message??e.Status]},`${e.StatusType}-${e.Status}`)}function it(e,t){return(e.SnapshotCreateTime?.getTime()??0)-(t.SnapshotCreateTime?.getTime()??0)}function at(e){return e.SnapshotType===d}function ot(e){return A(e,`backup`)&&A(e,`notification`)}function st(e){return A(e,`backup`)&&A(e,`failure`)}function M(){let e=(0,We.c)(2),{id:t}=y.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,k.jsx)(j,{dbInstanceIdentifier:n}),e[0]=n,e[1]=r),r}export{M as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id41.js b/spinifex/services/spinifexui/frontend/dist/assets/_id41.js index cdd37b051..050f6e4ff 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id41.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id41.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./link.js";import{t as ne}from"./useNavigate.js";import{Qt as re}from"./cluster-config.js";import{t as ie}from"./back-link.js";import{t as ae}from"./trash-2.js";import{t as oe}from"./button.js";import{a as se,d as ce,l as le}from"./rds.js";import{i as ue,p as de}from"./rds3.js";import{t as fe}from"./page-heading.js";import{t as i}from"./_id20.js";import{n as a,t as o}from"./detail-row.js";import{t as pe}from"./state-badge.js";import{i as me,n as he,r as ge,t as _e}from"./tabs.js";import{t as ve}from"./delete-db-snapshot-dialog.js";import{t as ye}from"./rds-events-panel.js";import{t as be}from"./rds-tags-tab.js";var xe=r(),Se=e(n(),1),s=t();function Ce(e){let t=(0,xe.c)(114),{dbSnapshotIdentifier:n}=e,r=ne(),i;t[0]===n?i=t[1]:(i=ue(n),t[0]=n,t[1]=i);let{data:Ce}=ee(i),c=Ce.DBSnapshots?.[0],we=c?.DBSnapshotArn??``,l;t[2]===n?l=t[3]:(l=de(n),t[2]=n,t[3]=l);let{data:Te}=ee(l),[Ee,De]=(0,Se.useState)(!1);if(!c?.DBSnapshotIdentifier){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ie,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,s.jsx)(`p`,{className:`text-muted-foreground`,children:`DB snapshot not found.`})]}),t[4]=e):e=t[4],e}let u=c.Status,d=c.SnapshotType,Oe=d===se,f=c.DBInstanceIdentifier??``,ke;t[5]===Te.Events?ke=t[6]:(ke=Te.Events??[],t[5]=Te.Events,t[6]=ke);let Ae=ke,je;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,s.jsx)(ie,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),t[7]=je):je=t[7];let Me;t[8]===u?Me=t[9]:(Me=ce(u),t[8]=u,t[9]=Me);let Ne=!Me,p;t[10]!==n||t[11]!==r?(p=async()=>await r({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:n}}),t[10]=n,t[11]=r,t[12]=p):p=t[12];let m;t[13]!==Ne||t[14]!==p?(m=(0,s.jsx)(oe,{disabled:Ne,onClick:p,size:`sm`,variant:`outline`,children:`Restore`}),t[13]=Ne,t[14]=p,t[15]=m):m=t[15];let h;t[16]!==d||t[17]!==u?(h=le(u,d),t[16]=d,t[17]=u,t[18]=h):h=t[18];let Pe=!h,g;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>De(!0),t[19]=g):g=t[19];let _;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,s.jsx)(ae,{className:`size-4`}),t[20]=_):_=t[20];let v;t[21]===Pe?v=t[22]:(v=(0,s.jsxs)(oe,{disabled:Pe,onClick:g,size:`sm`,variant:`destructive`,children:[_,`Delete`]}),t[21]=Pe,t[22]=v);let y;t[23]!==v||t[24]!==m?(y=(0,s.jsxs)(`div`,{className:`flex gap-2`,children:[m,v]}),t[23]=v,t[24]=m,t[25]=y):y=t[25];let b;t[26]!==n||t[27]!==y?(b=(0,s.jsx)(fe,{actions:y,subtitle:`DB Snapshot`,title:n}),t[26]=n,t[27]=y,t[28]=b):b=t[28];let x;t[29]===u?x=t[30]:(x=(0,s.jsx)(pe,{state:u}),t[29]=u,t[30]=x);let S;t[31]===Oe?S=t[32]:(S=Oe&&(0,s.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`An automated backup: it is deleted by the source instance's backup retention, not by hand.`}),t[31]=Oe,t[32]=S);let C;t[33]!==x||t[34]!==S?(C=(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[x,S]}),t[33]=x,t[34]=S,t[35]=C):C=t[35];let w;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,s.jsxs)(he,{children:[(0,s.jsx)(me,{value:`overview`,children:`Overview`}),(0,s.jsx)(me,{value:`tags`,children:`Tags`}),(0,s.jsx)(me,{value:`events`,children:`Events`})]}),t[36]=w):w=t[36];let T;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,s.jsx)(a.Header,{children:`Snapshot`}),t[37]=T):T=t[37];let E;t[38]===d?E=t[39]:(E=(0,s.jsx)(o,{label:`Type`,value:d}),t[38]=d,t[39]=E);let D;t[40]===u?D=t[41]:(D=(0,s.jsx)(o,{label:`Status`,value:u}),t[40]=u,t[41]=D);let O;t[42]===c.SnapshotCreateTime?O=t[43]:(O=re(c.SnapshotCreateTime),t[42]=c.SnapshotCreateTime,t[43]=O);let k;t[44]===O?k=t[45]:(k=(0,s.jsx)(o,{label:`Created`,value:O}),t[44]=O,t[45]=k);let Fe=c.PercentProgress===void 0?void 0:`${c.PercentProgress}%`,A;t[46]===Fe?A=t[47]:(A=(0,s.jsx)(o,{label:`Progress`,value:Fe}),t[46]=Fe,t[47]=A);let j;t[48]===c.DBSnapshotArn?j=t[49]:(j=(0,s.jsx)(o,{label:`ARN`,value:c.DBSnapshotArn}),t[48]=c.DBSnapshotArn,t[49]=j);let M;t[50]!==E||t[51]!==D||t[52]!==k||t[53]!==A||t[54]!==j?(M=(0,s.jsxs)(a,{children:[T,(0,s.jsxs)(a.Content,{children:[E,D,k,A,j]})]}),t[50]=E,t[51]=D,t[52]=k,t[53]=A,t[54]=j,t[55]=M):M=t[55];let N;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,s.jsx)(a.Header,{children:`Source`}),t[56]=N):N=t[56];let P;t[57]===f?P=t[58]:(P=f===``?void 0:(0,s.jsx)(te,{className:`text-primary hover:underline`,params:{id:f},to:`/rds/describe-db-instances/$id`,children:f}),t[57]=f,t[58]=P);let F;t[59]===P?F=t[60]:(F=(0,s.jsx)(o,{label:`DB instance`,value:P}),t[59]=P,t[60]=F);let I;t[61]===c.Engine?I=t[62]:(I=(0,s.jsx)(o,{label:`Engine`,value:c.Engine}),t[61]=c.Engine,t[62]=I);let L;t[63]===c.EngineVersion?L=t[64]:(L=(0,s.jsx)(o,{label:`Version`,value:c.EngineVersion}),t[63]=c.EngineVersion,t[64]=L);let Ie=c.AllocatedStorage?`${c.AllocatedStorage} GiB`:void 0,R;t[65]===Ie?R=t[66]:(R=(0,s.jsx)(o,{label:`Allocated storage`,value:Ie}),t[65]=Ie,t[66]=R);let z;t[67]===c.StorageType?z=t[68]:(z=(0,s.jsx)(o,{label:`Storage type`,value:c.StorageType}),t[67]=c.StorageType,t[68]=z);let Le=c.Encrypted?`Encrypted — always on`:`Not encrypted`,B;t[69]===Le?B=t[70]:(B=(0,s.jsx)(o,{label:`Encryption`,value:Le}),t[69]=Le,t[70]=B);let V;t[71]===c.MasterUsername?V=t[72]:(V=(0,s.jsx)(o,{label:`Master username`,value:c.MasterUsername}),t[71]=c.MasterUsername,t[72]=V);let H;t[73]===c.Port?H=t[74]:(H=c.Port?.toString(),t[73]=c.Port,t[74]=H);let U;t[75]===H?U=t[76]:(U=(0,s.jsx)(o,{label:`Port`,value:H}),t[75]=H,t[76]=U);let W;t[77]===c.VpcId?W=t[78]:(W=(0,s.jsx)(o,{label:`VPC`,value:c.VpcId}),t[77]=c.VpcId,t[78]=W);let G;t[79]!==F||t[80]!==I||t[81]!==L||t[82]!==R||t[83]!==z||t[84]!==B||t[85]!==V||t[86]!==U||t[87]!==W?(G=(0,s.jsxs)(a,{children:[N,(0,s.jsxs)(a.Content,{children:[F,I,L,R,z,B,V,U,W]})]}),t[79]=F,t[80]=I,t[81]=L,t[82]=R,t[83]=z,t[84]=B,t[85]=V,t[86]=U,t[87]=W,t[88]=G):G=t[88];let Re;t[89]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A restore starts on this snapshot's datadir, so the engine, the master credentials and the initial database come with it and cannot be changed.`}),t[89]=Re):Re=t[89];let K;t[90]!==M||t[91]!==G?(K=(0,s.jsx)(ge,{value:`overview`,children:(0,s.jsxs)(`div`,{className:`space-y-4`,children:[M,G,Re]})}),t[90]=M,t[91]=G,t[92]=K):K=t[92];let q;t[93]===we?q=t[94]:(q=(0,s.jsx)(ge,{value:`tags`,children:(0,s.jsx)(be,{arn:we})}),t[93]=we,t[94]=q);let J;t[95]===Ae?J=t[96]:(J=(0,s.jsx)(ge,{value:`events`,children:(0,s.jsx)(ye,{events:Ae})}),t[95]=Ae,t[96]=J);let Y;t[97]!==K||t[98]!==q||t[99]!==J?(Y=(0,s.jsxs)(_e,{defaultValue:`overview`,children:[w,K,q,J]}),t[97]=K,t[98]=q,t[99]=J,t[100]=Y):Y=t[100];let X;t[101]!==b||t[102]!==C||t[103]!==Y?(X=(0,s.jsxs)(`div`,{className:`space-y-6`,children:[b,C,Y]}),t[101]=b,t[102]=C,t[103]=Y,t[104]=X):X=t[104];let Z;t[105]===r?Z=t[106]:(Z=async()=>await r({to:`/rds/describe-db-snapshots`}),t[105]=r,t[106]=Z);let Q;t[107]!==n||t[108]!==Ee||t[109]!==Z?(Q=(0,s.jsx)(ve,{dbSnapshotIdentifier:n,onDeleted:Z,onOpenChange:De,open:Ee}),t[107]=n,t[108]=Ee,t[109]=Z,t[110]=Q):Q=t[110];let $;return t[111]!==X||t[112]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[je,X,Q]}),t[111]=X,t[112]=Q,t[113]=$):$=t[113],$}function c(){let e=(0,xe.c)(2),{id:t}=i.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,s.jsx)(Ce,{dbSnapshotIdentifier:n}),e[0]=n,e[1]=r),r}export{c as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./link.js";import{t as ne}from"./useNavigate.js";import{Qt as re}from"./cluster-config.js";import{t as ie}from"./back-link.js";import{t as ae}from"./trash-2.js";import{t as oe}from"./button.js";import{a as se,d as ce,l as le}from"./rds.js";import{i as ue,p as de}from"./rds3.js";import{t as i}from"./_id20.js";import{t as fe}from"./page-heading.js";import{n as a,t as o}from"./detail-row.js";import{t as pe}from"./state-badge.js";import{i as me,n as he,r as ge,t as _e}from"./tabs.js";import{t as ve}from"./delete-db-snapshot-dialog.js";import{t as ye}from"./rds-events-panel.js";import{t as be}from"./rds-tags-tab.js";var xe=r(),Se=e(n(),1),s=t();function Ce(e){let t=(0,xe.c)(114),{dbSnapshotIdentifier:n}=e,r=ne(),i;t[0]===n?i=t[1]:(i=ue(n),t[0]=n,t[1]=i);let{data:Ce}=ee(i),c=Ce.DBSnapshots?.[0],we=c?.DBSnapshotArn??``,l;t[2]===n?l=t[3]:(l=de(n),t[2]=n,t[3]=l);let{data:Te}=ee(l),[Ee,De]=(0,Se.useState)(!1);if(!c?.DBSnapshotIdentifier){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ie,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,s.jsx)(`p`,{className:`text-muted-foreground`,children:`DB snapshot not found.`})]}),t[4]=e):e=t[4],e}let u=c.Status,d=c.SnapshotType,Oe=d===se,f=c.DBInstanceIdentifier??``,ke;t[5]===Te.Events?ke=t[6]:(ke=Te.Events??[],t[5]=Te.Events,t[6]=ke);let Ae=ke,je;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,s.jsx)(ie,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),t[7]=je):je=t[7];let Me;t[8]===u?Me=t[9]:(Me=ce(u),t[8]=u,t[9]=Me);let Ne=!Me,p;t[10]!==n||t[11]!==r?(p=async()=>await r({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:n}}),t[10]=n,t[11]=r,t[12]=p):p=t[12];let m;t[13]!==Ne||t[14]!==p?(m=(0,s.jsx)(oe,{disabled:Ne,onClick:p,size:`sm`,variant:`outline`,children:`Restore`}),t[13]=Ne,t[14]=p,t[15]=m):m=t[15];let h;t[16]!==d||t[17]!==u?(h=le(u,d),t[16]=d,t[17]=u,t[18]=h):h=t[18];let Pe=!h,g;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>De(!0),t[19]=g):g=t[19];let _;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,s.jsx)(ae,{className:`size-4`}),t[20]=_):_=t[20];let v;t[21]===Pe?v=t[22]:(v=(0,s.jsxs)(oe,{disabled:Pe,onClick:g,size:`sm`,variant:`destructive`,children:[_,`Delete`]}),t[21]=Pe,t[22]=v);let y;t[23]!==v||t[24]!==m?(y=(0,s.jsxs)(`div`,{className:`flex gap-2`,children:[m,v]}),t[23]=v,t[24]=m,t[25]=y):y=t[25];let b;t[26]!==n||t[27]!==y?(b=(0,s.jsx)(fe,{actions:y,subtitle:`DB Snapshot`,title:n}),t[26]=n,t[27]=y,t[28]=b):b=t[28];let x;t[29]===u?x=t[30]:(x=(0,s.jsx)(pe,{state:u}),t[29]=u,t[30]=x);let S;t[31]===Oe?S=t[32]:(S=Oe&&(0,s.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`An automated backup: it is deleted by the source instance's backup retention, not by hand.`}),t[31]=Oe,t[32]=S);let C;t[33]!==x||t[34]!==S?(C=(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[x,S]}),t[33]=x,t[34]=S,t[35]=C):C=t[35];let w;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,s.jsxs)(he,{children:[(0,s.jsx)(me,{value:`overview`,children:`Overview`}),(0,s.jsx)(me,{value:`tags`,children:`Tags`}),(0,s.jsx)(me,{value:`events`,children:`Events`})]}),t[36]=w):w=t[36];let T;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,s.jsx)(a.Header,{children:`Snapshot`}),t[37]=T):T=t[37];let E;t[38]===d?E=t[39]:(E=(0,s.jsx)(o,{label:`Type`,value:d}),t[38]=d,t[39]=E);let D;t[40]===u?D=t[41]:(D=(0,s.jsx)(o,{label:`Status`,value:u}),t[40]=u,t[41]=D);let O;t[42]===c.SnapshotCreateTime?O=t[43]:(O=re(c.SnapshotCreateTime),t[42]=c.SnapshotCreateTime,t[43]=O);let k;t[44]===O?k=t[45]:(k=(0,s.jsx)(o,{label:`Created`,value:O}),t[44]=O,t[45]=k);let Fe=c.PercentProgress===void 0?void 0:`${c.PercentProgress}%`,A;t[46]===Fe?A=t[47]:(A=(0,s.jsx)(o,{label:`Progress`,value:Fe}),t[46]=Fe,t[47]=A);let j;t[48]===c.DBSnapshotArn?j=t[49]:(j=(0,s.jsx)(o,{label:`ARN`,value:c.DBSnapshotArn}),t[48]=c.DBSnapshotArn,t[49]=j);let M;t[50]!==E||t[51]!==D||t[52]!==k||t[53]!==A||t[54]!==j?(M=(0,s.jsxs)(a,{children:[T,(0,s.jsxs)(a.Content,{children:[E,D,k,A,j]})]}),t[50]=E,t[51]=D,t[52]=k,t[53]=A,t[54]=j,t[55]=M):M=t[55];let N;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,s.jsx)(a.Header,{children:`Source`}),t[56]=N):N=t[56];let P;t[57]===f?P=t[58]:(P=f===``?void 0:(0,s.jsx)(te,{className:`text-primary hover:underline`,params:{id:f},to:`/rds/describe-db-instances/$id`,children:f}),t[57]=f,t[58]=P);let F;t[59]===P?F=t[60]:(F=(0,s.jsx)(o,{label:`DB instance`,value:P}),t[59]=P,t[60]=F);let I;t[61]===c.Engine?I=t[62]:(I=(0,s.jsx)(o,{label:`Engine`,value:c.Engine}),t[61]=c.Engine,t[62]=I);let L;t[63]===c.EngineVersion?L=t[64]:(L=(0,s.jsx)(o,{label:`Version`,value:c.EngineVersion}),t[63]=c.EngineVersion,t[64]=L);let Ie=c.AllocatedStorage?`${c.AllocatedStorage} GiB`:void 0,R;t[65]===Ie?R=t[66]:(R=(0,s.jsx)(o,{label:`Allocated storage`,value:Ie}),t[65]=Ie,t[66]=R);let z;t[67]===c.StorageType?z=t[68]:(z=(0,s.jsx)(o,{label:`Storage type`,value:c.StorageType}),t[67]=c.StorageType,t[68]=z);let Le=c.Encrypted?`Encrypted — always on`:`Not encrypted`,B;t[69]===Le?B=t[70]:(B=(0,s.jsx)(o,{label:`Encryption`,value:Le}),t[69]=Le,t[70]=B);let V;t[71]===c.MasterUsername?V=t[72]:(V=(0,s.jsx)(o,{label:`Master username`,value:c.MasterUsername}),t[71]=c.MasterUsername,t[72]=V);let H;t[73]===c.Port?H=t[74]:(H=c.Port?.toString(),t[73]=c.Port,t[74]=H);let U;t[75]===H?U=t[76]:(U=(0,s.jsx)(o,{label:`Port`,value:H}),t[75]=H,t[76]=U);let W;t[77]===c.VpcId?W=t[78]:(W=(0,s.jsx)(o,{label:`VPC`,value:c.VpcId}),t[77]=c.VpcId,t[78]=W);let G;t[79]!==F||t[80]!==I||t[81]!==L||t[82]!==R||t[83]!==z||t[84]!==B||t[85]!==V||t[86]!==U||t[87]!==W?(G=(0,s.jsxs)(a,{children:[N,(0,s.jsxs)(a.Content,{children:[F,I,L,R,z,B,V,U,W]})]}),t[79]=F,t[80]=I,t[81]=L,t[82]=R,t[83]=z,t[84]=B,t[85]=V,t[86]=U,t[87]=W,t[88]=G):G=t[88];let Re;t[89]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A restore starts on this snapshot's datadir, so the engine, the master credentials and the initial database come with it and cannot be changed.`}),t[89]=Re):Re=t[89];let K;t[90]!==M||t[91]!==G?(K=(0,s.jsx)(ge,{value:`overview`,children:(0,s.jsxs)(`div`,{className:`space-y-4`,children:[M,G,Re]})}),t[90]=M,t[91]=G,t[92]=K):K=t[92];let q;t[93]===we?q=t[94]:(q=(0,s.jsx)(ge,{value:`tags`,children:(0,s.jsx)(be,{arn:we})}),t[93]=we,t[94]=q);let J;t[95]===Ae?J=t[96]:(J=(0,s.jsx)(ge,{value:`events`,children:(0,s.jsx)(ye,{events:Ae})}),t[95]=Ae,t[96]=J);let Y;t[97]!==K||t[98]!==q||t[99]!==J?(Y=(0,s.jsxs)(_e,{defaultValue:`overview`,children:[w,K,q,J]}),t[97]=K,t[98]=q,t[99]=J,t[100]=Y):Y=t[100];let X;t[101]!==b||t[102]!==C||t[103]!==Y?(X=(0,s.jsxs)(`div`,{className:`space-y-6`,children:[b,C,Y]}),t[101]=b,t[102]=C,t[103]=Y,t[104]=X):X=t[104];let Z;t[105]===r?Z=t[106]:(Z=async()=>await r({to:`/rds/describe-db-snapshots`}),t[105]=r,t[106]=Z);let Q;t[107]!==n||t[108]!==Ee||t[109]!==Z?(Q=(0,s.jsx)(ve,{dbSnapshotIdentifier:n,onDeleted:Z,onOpenChange:De,open:Ee}),t[107]=n,t[108]=Ee,t[109]=Z,t[110]=Q):Q=t[110];let $;return t[111]!==X||t[112]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[je,X,Q]}),t[111]=X,t[112]=Q,t[113]=$):$=t[113],$}function c(){let e=(0,xe.c)(2),{id:t}=i.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,s.jsx)(Ce,{dbSnapshotIdentifier:n}),e[0]=n,e[1]=r),r}export{c as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id42.js b/spinifex/services/spinifexui/frontend/dist/assets/_id42.js index 4566fdeed..0e4b05ad2 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id42.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id42.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as ee}from"./QueryClientProvider.js";import{t as te}from"./useQuery.js";import{t as i}from"./useSuspenseQuery.js";import{t as ne}from"./useNavigate.js";import{t as a}from"./back-link.js";import{i as o,n as s,r as c,t as re}from"./cli-command-panel.js";import{t as l}from"./input.js";import{a as u,n as d,r as f,t as p}from"./field.js";import{o as m,w as h}from"./ec2.js";import{C as g,d as _,w as v}from"./rds.js";import{f as y}from"./rds2.js";import{d as ie,h as ae,i as oe,l as se,o as ce}from"./rds3.js";import{a as le,i as ue,t as de}from"./zod.js";import{t as fe}from"./error-banner.js";import{t as b}from"./page-heading.js";import{t as pe}from"./form-actions.js";import{t as x}from"./_id21.js";import{n as S,t as C}from"./detail-row.js";import{a as me,r as he}from"./system-managed.js";import{t as ge}from"./tags-field-array.js";import{t as _e}from"./system-image-required.js";import{n as w}from"./picker-notice.js";import{a as T,i as E,n as D,o as O,r as k,s as A,t as j}from"./security-group-checkboxes.js";var M=r(),N=e(n(),1),P=t(),F=[{label:`Engine and version`,note:`The datadir is written in one engine's on-disk format; restoring it as another is refused.`},{label:`Master username and password`,note:`The datadir already holds the master role and its password hash, so no bootstrap runs.`},{label:`Initial database`,note:`A restore cannot create a database the snapshot does not hold.`},{label:`Backup retention and windows`,note:`The restored instance takes the platform defaults; change them with a modify afterwards.`}];function I({dbSnapshotIdentifier:e}){let t=ne(),n=ee(),r=y(),[o,s]=(0,N.useState)(!1),{data:c}=i(oe(e)),{data:x}=i(ce),{data:M}=i(ae),{data:I}=i(ie),{data:L}=i(h),{data:ye}=i(m),R=c.DBSnapshots?.[0],z=R?.Engine??``,B=R?.AllocatedStorage??0,V=te(se(z)),{clearErrors:be,control:H,formState:{errors:U,isSubmitting:xe},handleSubmit:Se,register:W,setError:Ce,setValue:G}=ue({resolver:de(g),defaultValues:{snapshotAllocatedStorage:B,dbInstanceIdentifier:v(R?.DBInstanceIdentifier??``,`restored`),dbInstanceClass:``,allocatedStorage:B,port:R?.Port?String(R.Port):``,dbSubnetGroupName:``,vpcSecurityGroupIds:[],dbParameterGroupName:``,deletionProtection:!1,tags:[]}}),K=le({control:H}),q=K.dbSubnetGroupName??``,J=K.vpcSecurityGroupIds??[],we=async()=>{s(!0);try{await n.invalidateQueries({queryKey:m.queryKey})}finally{s(!1)}},Y=e=>{be(`vpcSecurityGroupIds`),G(`vpcSecurityGroupIds`,e,{shouldValidate:!0})},Te=e=>{let t=Z.find(t=>t.DBSubnetGroupName===e)?.VpcId??R?.VpcId,n=k($,t,J);if(e!==``&&t!==R?.VpcId&&n.length===0){let e=D($,t);n=e?[e]:[]}G(`dbSubnetGroupName`,e,{shouldValidate:!0}),Y(n)},Ee=async n=>{if(n.dbSubnetGroupName!==``&&Q!==R?.VpcId&&n.vpcSecurityGroupIds.length===0){Ce(`vpcSecurityGroupIds`,{message:`Select a security group in the new placement VPC`});return}try{await r.mutateAsync({...n,dbSnapshotIdentifier:e})}catch{return}await t({to:`/rds/describe-db-instances/$id`,params:{id:n.dbInstanceIdentifier}})};if(!R?.DBSnapshotIdentifier)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`DB snapshot not found.`})]});if(!_(R.Status))return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(b,{subtitle:e,title:`Restore Snapshot`}),(0,P.jsxs)(`p`,{className:`text-muted-foreground`,children:[e,` is `,R.Status,`. A snapshot can only be restored once it is available.`]})]});if(!(ye.Images??[]).some(e=>he(e,z,R.EngineVersion??``)))return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(b,{subtitle:e,title:`Restore Snapshot`}),(0,P.jsx)(_e,{description:`This snapshot holds ${z} data and can only be restored onto a ${z} instance, but no ${z} image is imported on this cluster.`,importCommand:me(z),isRechecking:o,onRecheck:we,title:`${z} image not found`})]});let De=V.data?.OrderableDBInstanceOptions??[],X=[...new Set(De.map(e=>e.DBInstanceClass??``).filter(Boolean))],Oe=w(V,X.length===0,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:`No instance class this cluster's nodes can run is available for ${z}.`}),Z=M.DBSubnetGroups??[],ke=A(I.DBParameterGroups??[],x.DBEngineVersions??[],z),Q=Z.find(e=>e.DBSubnetGroupName===q)?.VpcId??R.VpcId,$=L.SecurityGroups??[],Ae=E($,Q);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(b,{subtitle:e,title:`Restore Snapshot`}),r.error&&(0,P.jsx)(fe,{error:r.error,msg:`Failed to restore the DB snapshot`}),(0,P.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,P.jsxs)(S,{children:[(0,P.jsx)(S.Header,{children:`Restoring From`}),(0,P.jsxs)(S.Content,{children:[(0,P.jsx)(C,{label:`Snapshot`,value:e}),(0,P.jsx)(C,{label:`Source DB instance`,value:R.DBInstanceIdentifier}),(0,P.jsx)(C,{label:`Engine`,value:[z,R.EngineVersion].filter(Boolean).join(` `)}),(0,P.jsx)(C,{label:`Master username`,value:R.MasterUsername}),(0,P.jsx)(C,{label:`Snapshot storage`,value:B?`${B} GiB`:void 0})]})]}),(0,P.jsxs)(`form`,{className:`space-y-6`,onSubmit:Se(Ee),children:[(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:(0,P.jsx)(`label`,{htmlFor:`restore-identifier`,children:`New DB instance identifier`})}),(0,P.jsx)(l,{"aria-invalid":!!U.dbInstanceIdentifier,id:`restore-identifier`,...W(`dbInstanceIdentifier`)}),(0,P.jsx)(d,{children:`A restore always creates a new instance; it never writes back over the one the snapshot came from.`}),(0,P.jsx)(f,{errors:[U.dbInstanceIdentifier]})]}),(0,P.jsx)(O,{control:H,id:`restore-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:Oe,options:X.map(e=>({value:e,label:e})),placeholder:`Select an instance class`}),(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:(0,P.jsx)(`label`,{htmlFor:`restore-storage`,children:`Allocated storage (GiB)`})}),(0,P.jsx)(l,{"aria-invalid":!!U.allocatedStorage,id:`restore-storage`,min:B,type:`number`,...W(`allocatedStorage`,{valueAsNumber:!0})}),(0,P.jsxs)(d,{children:[`The snapshot holds `,B,` GiB. A restore may grow the volume but never shrink it.`]}),(0,P.jsx)(f,{errors:[U.allocatedStorage]})]}),(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:(0,P.jsx)(`label`,{htmlFor:`restore-port`,children:`Port`})}),(0,P.jsx)(l,{"aria-invalid":!!U.port,id:`restore-port`,placeholder:`Snapshot's port`,...W(`port`)}),(0,P.jsx)(d,{children:`Leave blank to keep the port the snapshot was taken on. The port is fixed once the instance exists.`}),(0,P.jsx)(f,{errors:[U.port]})]}),(0,P.jsx)(O,{control:H,description:`Leave unset to place the restored endpoint in the group the snapshot recorded.`,id:`restore-subnet-group`,label:`DB subnet group`,name:`dbSubnetGroupName`,onValueChange:Te,options:Z.map(e=>({value:e.DBSubnetGroupName??``,label:`${e.DBSubnetGroupName} (${e.VpcId})`})),placeholder:`The snapshot's subnet group`}),(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:`VPC security groups`}),(0,P.jsx)(j,{emptyText:Q?`No security groups available in ${Q}.`:`The snapshot does not identify a placement VPC.`,groups:Ae,onChange:Y,selected:J}),(0,P.jsx)(d,{children:`Leave every box clear to inherit the groups the snapshot recorded.`}),(0,P.jsx)(f,{errors:[U.vpcSecurityGroupIds]})]}),(0,P.jsx)(O,{control:H,id:`restore-parameter-group`,label:`DB parameter group`,name:`dbParameterGroupName`,options:ke.map(e=>({value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``})),placeholder:`The snapshot's parameter group`}),(0,P.jsx)(T,{control:H,name:`deletionProtection`}),(0,P.jsx)(ge,{control:H,name:`tags`}),(0,P.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-4`,children:[(0,P.jsx)(`h3`,{className:`text-xs font-medium`,children:`Inherited from the snapshot`}),F.map(e=>(0,P.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,P.jsx)(`span`,{className:`font-medium`,children:e.label}),` —`,` `,e.note]},e.label))]}),(0,P.jsx)(re,{commands:ve(e,{dbInstanceIdentifier:K.dbInstanceIdentifier??``,dbInstanceClass:K.dbInstanceClass??``,allocatedStorage:K.allocatedStorage??B,port:K.port??``,dbSubnetGroupName:q,vpcSecurityGroupIds:J,dbParameterGroupName:K.dbParameterGroupName??``,deletionProtection:K.deletionProtection??!1})}),(0,P.jsx)(pe,{isPending:r.isPending,isSubmitting:xe,onCancel:async()=>await t({to:`/rds/describe-db-snapshots`}),pendingLabel:`Restoring…`,submitLabel:`Restore Snapshot`})]})]})]})}function ve(e,t){return[{label:`Restore DB Instance`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds restore-db-instance-from-db-snapshot`},...c(`--db-snapshot-identifier`,e),...c(`--db-instance-identifier`,s(t.dbInstanceIdentifier,`DBInstanceIdentifier`)),...c(`--db-instance-class`,s(t.dbInstanceClass,`DBInstanceClass`)),...c(`--allocated-storage`,t.allocatedStorage),...o(`--port`,t.port),...o(`--db-subnet-group-name`,t.dbSubnetGroupName),...o(`--vpc-security-group-ids`,t.vpcSecurityGroupIds.join(` `)),...o(`--db-parameter-group-name`,t.dbParameterGroupName),...o(`--deletion-protection`,t.deletionProtection)]}]}function L(){let e=(0,M.c)(2),{id:t}=x.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,P.jsx)(I,{dbSnapshotIdentifier:n}),e[0]=n,e[1]=r),r}export{L as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as ee}from"./QueryClientProvider.js";import{t as te}from"./useQuery.js";import{t as i}from"./useSuspenseQuery.js";import{t as ne}from"./useNavigate.js";import{t as a}from"./back-link.js";import{i as o,n as s,r as c,t as re}from"./cli-command-panel.js";import{t as l}from"./input.js";import{o as u,w as ie}from"./ec2.js";import{C as ae,d as oe,w as se}from"./rds.js";import{f as d}from"./rds2.js";import{d as f,h as p,i as m,l as h,o as ce}from"./rds3.js";import{t as g}from"./_id21.js";import{a as le,i as ue,t as de}from"./zod.js";import{t as fe}from"./error-banner.js";import{t as pe}from"./form-actions.js";import{t as _}from"./page-heading.js";import{a as v,n as y,r as b,t as x}from"./field.js";import{n as S,t as C}from"./detail-row.js";import{a as me,r as he}from"./system-managed.js";import{t as ge}from"./tags-field-array.js";import{t as _e}from"./system-image-required.js";import{n as w}from"./picker-notice.js";import{a as T,i as E,n as D,o as O,r as k,s as A,t as j}from"./security-group-checkboxes.js";var M=r(),N=e(n(),1),P=t(),F=[{label:`Engine and version`,note:`The datadir is written in one engine's on-disk format; restoring it as another is refused.`},{label:`Master username and password`,note:`The datadir already holds the master role and its password hash, so no bootstrap runs.`},{label:`Initial database`,note:`A restore cannot create a database the snapshot does not hold.`},{label:`Backup retention and windows`,note:`The restored instance takes the platform defaults; change them with a modify afterwards.`}];function I({dbSnapshotIdentifier:e}){let t=ne(),n=ee(),r=d(),[o,s]=(0,N.useState)(!1),{data:c}=i(m(e)),{data:g}=i(ce),{data:M}=i(p),{data:I}=i(f),{data:L}=i(ie),{data:ye}=i(u),R=c.DBSnapshots?.[0],z=R?.Engine??``,B=R?.AllocatedStorage??0,V=te(h(z)),{clearErrors:be,control:H,formState:{errors:U,isSubmitting:xe},handleSubmit:Se,register:W,setError:Ce,setValue:G}=ue({resolver:de(ae),defaultValues:{snapshotAllocatedStorage:B,dbInstanceIdentifier:se(R?.DBInstanceIdentifier??``,`restored`),dbInstanceClass:``,allocatedStorage:B,port:R?.Port?String(R.Port):``,dbSubnetGroupName:``,vpcSecurityGroupIds:[],dbParameterGroupName:``,deletionProtection:!1,tags:[]}}),K=le({control:H}),q=K.dbSubnetGroupName??``,J=K.vpcSecurityGroupIds??[],we=async()=>{s(!0);try{await n.invalidateQueries({queryKey:u.queryKey})}finally{s(!1)}},Y=e=>{be(`vpcSecurityGroupIds`),G(`vpcSecurityGroupIds`,e,{shouldValidate:!0})},Te=e=>{let t=Z.find(t=>t.DBSubnetGroupName===e)?.VpcId??R?.VpcId,n=k($,t,J);if(e!==``&&t!==R?.VpcId&&n.length===0){let e=D($,t);n=e?[e]:[]}G(`dbSubnetGroupName`,e,{shouldValidate:!0}),Y(n)},Ee=async n=>{if(n.dbSubnetGroupName!==``&&Q!==R?.VpcId&&n.vpcSecurityGroupIds.length===0){Ce(`vpcSecurityGroupIds`,{message:`Select a security group in the new placement VPC`});return}try{await r.mutateAsync({...n,dbSnapshotIdentifier:e})}catch{return}await t({to:`/rds/describe-db-instances/$id`,params:{id:n.dbInstanceIdentifier}})};if(!R?.DBSnapshotIdentifier)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`DB snapshot not found.`})]});if(!oe(R.Status))return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(_,{subtitle:e,title:`Restore Snapshot`}),(0,P.jsxs)(`p`,{className:`text-muted-foreground`,children:[e,` is `,R.Status,`. A snapshot can only be restored once it is available.`]})]});if(!(ye.Images??[]).some(e=>he(e,z,R.EngineVersion??``)))return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(_,{subtitle:e,title:`Restore Snapshot`}),(0,P.jsx)(_e,{description:`This snapshot holds ${z} data and can only be restored onto a ${z} instance, but no ${z} image is imported on this cluster.`,importCommand:me(z),isRechecking:o,onRecheck:we,title:`${z} image not found`})]});let De=V.data?.OrderableDBInstanceOptions??[],X=[...new Set(De.map(e=>e.DBInstanceClass??``).filter(Boolean))],Oe=w(V,X.length===0,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:`No instance class this cluster's nodes can run is available for ${z}.`}),Z=M.DBSubnetGroups??[],ke=A(I.DBParameterGroups??[],g.DBEngineVersions??[],z),Q=Z.find(e=>e.DBSubnetGroupName===q)?.VpcId??R.VpcId,$=L.SecurityGroups??[],Ae=E($,Q);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(_,{subtitle:e,title:`Restore Snapshot`}),r.error&&(0,P.jsx)(fe,{error:r.error,msg:`Failed to restore the DB snapshot`}),(0,P.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,P.jsxs)(S,{children:[(0,P.jsx)(S.Header,{children:`Restoring From`}),(0,P.jsxs)(S.Content,{children:[(0,P.jsx)(C,{label:`Snapshot`,value:e}),(0,P.jsx)(C,{label:`Source DB instance`,value:R.DBInstanceIdentifier}),(0,P.jsx)(C,{label:`Engine`,value:[z,R.EngineVersion].filter(Boolean).join(` `)}),(0,P.jsx)(C,{label:`Master username`,value:R.MasterUsername}),(0,P.jsx)(C,{label:`Snapshot storage`,value:B?`${B} GiB`:void 0})]})]}),(0,P.jsxs)(`form`,{className:`space-y-6`,onSubmit:Se(Ee),children:[(0,P.jsxs)(x,{children:[(0,P.jsx)(v,{children:(0,P.jsx)(`label`,{htmlFor:`restore-identifier`,children:`New DB instance identifier`})}),(0,P.jsx)(l,{"aria-invalid":!!U.dbInstanceIdentifier,id:`restore-identifier`,...W(`dbInstanceIdentifier`)}),(0,P.jsx)(y,{children:`A restore always creates a new instance; it never writes back over the one the snapshot came from.`}),(0,P.jsx)(b,{errors:[U.dbInstanceIdentifier]})]}),(0,P.jsx)(O,{control:H,id:`restore-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:Oe,options:X.map(e=>({value:e,label:e})),placeholder:`Select an instance class`}),(0,P.jsxs)(x,{children:[(0,P.jsx)(v,{children:(0,P.jsx)(`label`,{htmlFor:`restore-storage`,children:`Allocated storage (GiB)`})}),(0,P.jsx)(l,{"aria-invalid":!!U.allocatedStorage,id:`restore-storage`,min:B,type:`number`,...W(`allocatedStorage`,{valueAsNumber:!0})}),(0,P.jsxs)(y,{children:[`The snapshot holds `,B,` GiB. A restore may grow the volume but never shrink it.`]}),(0,P.jsx)(b,{errors:[U.allocatedStorage]})]}),(0,P.jsxs)(x,{children:[(0,P.jsx)(v,{children:(0,P.jsx)(`label`,{htmlFor:`restore-port`,children:`Port`})}),(0,P.jsx)(l,{"aria-invalid":!!U.port,id:`restore-port`,placeholder:`Snapshot's port`,...W(`port`)}),(0,P.jsx)(y,{children:`Leave blank to keep the port the snapshot was taken on. The port is fixed once the instance exists.`}),(0,P.jsx)(b,{errors:[U.port]})]}),(0,P.jsx)(O,{control:H,description:`Leave unset to place the restored endpoint in the group the snapshot recorded.`,id:`restore-subnet-group`,label:`DB subnet group`,name:`dbSubnetGroupName`,onValueChange:Te,options:Z.map(e=>({value:e.DBSubnetGroupName??``,label:`${e.DBSubnetGroupName} (${e.VpcId})`})),placeholder:`The snapshot's subnet group`}),(0,P.jsxs)(x,{children:[(0,P.jsx)(v,{children:`VPC security groups`}),(0,P.jsx)(j,{emptyText:Q?`No security groups available in ${Q}.`:`The snapshot does not identify a placement VPC.`,groups:Ae,onChange:Y,selected:J}),(0,P.jsx)(y,{children:`Leave every box clear to inherit the groups the snapshot recorded.`}),(0,P.jsx)(b,{errors:[U.vpcSecurityGroupIds]})]}),(0,P.jsx)(O,{control:H,id:`restore-parameter-group`,label:`DB parameter group`,name:`dbParameterGroupName`,options:ke.map(e=>({value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``})),placeholder:`The snapshot's parameter group`}),(0,P.jsx)(T,{control:H,name:`deletionProtection`}),(0,P.jsx)(ge,{control:H,name:`tags`}),(0,P.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-4`,children:[(0,P.jsx)(`h3`,{className:`text-xs font-medium`,children:`Inherited from the snapshot`}),F.map(e=>(0,P.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,P.jsx)(`span`,{className:`font-medium`,children:e.label}),` —`,` `,e.note]},e.label))]}),(0,P.jsx)(re,{commands:ve(e,{dbInstanceIdentifier:K.dbInstanceIdentifier??``,dbInstanceClass:K.dbInstanceClass??``,allocatedStorage:K.allocatedStorage??B,port:K.port??``,dbSubnetGroupName:q,vpcSecurityGroupIds:J,dbParameterGroupName:K.dbParameterGroupName??``,deletionProtection:K.deletionProtection??!1})}),(0,P.jsx)(pe,{isPending:r.isPending,isSubmitting:xe,onCancel:async()=>await t({to:`/rds/describe-db-snapshots`}),pendingLabel:`Restoring…`,submitLabel:`Restore Snapshot`})]})]})]})}function ve(e,t){return[{label:`Restore DB Instance`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds restore-db-instance-from-db-snapshot`},...c(`--db-snapshot-identifier`,e),...c(`--db-instance-identifier`,s(t.dbInstanceIdentifier,`DBInstanceIdentifier`)),...c(`--db-instance-class`,s(t.dbInstanceClass,`DBInstanceClass`)),...c(`--allocated-storage`,t.allocatedStorage),...o(`--port`,t.port),...o(`--db-subnet-group-name`,t.dbSubnetGroupName),...o(`--vpc-security-group-ids`,t.vpcSecurityGroupIds.join(` `)),...o(`--db-parameter-group-name`,t.dbParameterGroupName),...o(`--deletion-protection`,t.deletionProtection)]}]}function L(){let e=(0,M.c)(2),{id:t}=g.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,P.jsx)(I,{dbSnapshotIdentifier:n}),e[0]=n,e[1]=r),r}export{L as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id5.js b/spinifex/services/spinifexui/frontend/dist/assets/_id5.js index 144c98a3c..b57d346a7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id5.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id5.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id24.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/rotate-cw.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/admin-context.js","assets/sts.js","assets/signed-fetch.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/iam2.js","assets/commandBuilder3.js","assets/json.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/ami-details.js","assets/admin.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{a as r,c as i,s as a}from"./ec2.js";var o=e(`/_auth/ec2/(instances)/describe-instances/$id`)({loader:async({context:e,params:t})=>{let[n]=await Promise.all([e.queryClient.ensureQueryData(a(t.id)),e.queryClient.ensureQueryData(i)]),o=n.Reservations?.[0]?.Instances?.[0]?.ImageId;return await e.queryClient.ensureQueryData(r(o)),n},head:({loaderData:e})=>({meta:[{title:`${e?.Reservations?.[0]?.Instances?.[0]?.InstanceId??`Instance`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id24.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id24.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/rotate-cw.js","assets/trash-2.js","assets/input.js","assets/admin-context.js","assets/sts.js","assets/signed-fetch.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/iam2.js","assets/commandBuilder3.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/ami-details.js","assets/gpu-instance-type-select.js","assets/admin.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{a as r,c as i,s as a}from"./ec2.js";var o=e(`/_auth/ec2/(instances)/describe-instances/$id`)({loader:async({context:e,params:t})=>{let[n]=await Promise.all([e.queryClient.ensureQueryData(a(t.id)),e.queryClient.ensureQueryData(i)]),o=n.Reservations?.[0]?.Instances?.[0]?.ImageId;return await e.queryClient.ensureQueryData(r(o)),n},head:({loaderData:e})=>({meta:[{title:`${e?.Reservations?.[0]?.Instances?.[0]?.InstanceId??`Instance`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id24.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id6.js b/spinifex/services/spinifexui/frontend/dist/assets/_id6.js index 1dc4d6a8f..4d5032d0d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id6.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id6.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id25.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{M as r,u as i}from"./ec2.js";var a=e(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Internet Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id25.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id25.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{M as r,u as i}from"./ec2.js";var a=e(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Internet Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id25.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id7.js b/spinifex/services/spinifexui/frontend/dist/assets/_id7.js index 6562f15ae..ac01fa2c5 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id7.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id7.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id26.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{f as r}from"./ec2.js";var i=e(`/_auth/ec2/(key)/describe-key-pairs/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.KeyPairs?.[0]?.KeyName??`Key Pair`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id26.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id26.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{f as r}from"./ec2.js";var i=e(`/_auth/ec2/(key)/describe-key-pairs/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.KeyPairs?.[0]?.KeyName??`Key Pair`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id26.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id8.js b/spinifex/services/spinifexui/frontend/dist/assets/_id8.js index 752803f19..d8fe1f4d2 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id8.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id8.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id27.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js","assets/launch-template-data-fields.js","assets/collapsible.js","assets/textarea.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,c as i,h as a,m as o,o as s,p as c,w as l}from"./ec2.js";var u=e(`/_auth/ec2/(launch-templates)/describe-launch-templates/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(l)])},head:({params:e})=>({meta:[{title:`${e.id} | Launch Template | Mulga`}]}),component:t(()=>n(()=>import(`./_id27.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44])),`component`)});export{u as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id27.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/detail-row.js","assets/launch-template-data-fields.js","assets/textarea.js","assets/collapsible.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,c as i,h as a,m as o,o as s,p as c,w as l}from"./ec2.js";var u=e(`/_auth/ec2/(launch-templates)/describe-launch-templates/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(l)])},head:({params:e})=>({meta:[{title:`${e.id} | Launch Template | Mulga`}]}),component:t(()=>n(()=>import(`./_id27.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50])),`component`)});export{u as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id9.js b/spinifex/services/spinifexui/frontend/dist/assets/_id9.js index 2c40716a3..f4447faad 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id9.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id9.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id28.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/pencil.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/acm.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/certificate-import-dialog.js","assets/useMutation.js","assets/error-banner.js","assets/textarea.js","assets/ec2.js","assets/elbv2.js","assets/commandBuilder2.js","assets/elbv22.js","assets/zod.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/elbv23.js","assets/attributes-editor.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r}from"./ec2.js";import{i,n as a,r as o,s,u as c}from"./elbv22.js";var l=e(`/_auth/ec2/(load-balancers)/describe-load-balancers/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(s([n])),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Load Balancer | Mulga`}]}),component:t(()=>n(()=>import(`./_id28.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49])),`component`)});export{l as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id28.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/pencil.js","assets/trash-2.js","assets/input.js","assets/acm.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/certificate-import-dialog.js","assets/useMutation.js","assets/mutation.js","assets/error-banner.js","assets/field.js","assets/separator.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/textarea.js","assets/ec2.js","assets/elbv2.js","assets/commandBuilder2.js","assets/elbv22.js","assets/zod.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/elbv23.js","assets/attributes-editor.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r}from"./ec2.js";import{i,n as a,r as o,s,u as c}from"./elbv22.js";var l=e(`/_auth/ec2/(load-balancers)/describe-load-balancers/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(s([n])),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Load Balancer | Mulga`}]}),component:t(()=>n(()=>import(`./_id28.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55])),`component`)});export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName.js b/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName.js index 28faf189b..21484f2be 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_instanceProfileName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{u as r,y as i}from"./iam2.js";var a=e(`/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.instanceProfileName)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.instanceProfileName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_instanceProfileName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_instanceProfileName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/mutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{u as r,y as i}from"./iam2.js";var a=e(`/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.instanceProfileName)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.instanceProfileName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_instanceProfileName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName2.js index fa00ab0b4..fba5f9646 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_instanceProfileName2.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{D as u,h as d,t as f}from"./iam.js";import{u as p,y as m}from"./iam2.js";import{t as h}from"./error-banner.js";import{t as g}from"./page-heading.js";import{t as _}from"./_instanceProfileName.js";import{t as v}from"./delete-confirmation-dialog.js";import{n as y,t as b}from"./detail-row.js";var x=e(n()),S=t();function C(){let{instanceProfileName:e}=_.useParams(),t=a(),{data:n}=r(p(e)),{data:C}=r(m),w=d(),T=f(),E=u(),[D,O]=(0,x.useState)(!1),[k,A]=(0,x.useState)(!1),[j,M]=(0,x.useState)(null),N=n.InstanceProfile,P=N?.Roles??[],F=C.Roles??[],I=new Set(P.map(e=>e.RoleName)),L=F.filter(e=>e.RoleName&&!I.has(e.RoleName)),R=async()=>{try{await w.mutateAsync(e),t({to:`/iam/list-instance-profiles`})}finally{O(!1)}},z=async t=>{await T.mutateAsync({instanceProfileName:e,roleName:t}),A(!1)},B=async t=>{M(t);try{await E.mutateAsync({instanceProfileName:e,roleName:t})}finally{M(null)}};return N?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{to:`/iam/list-instance-profiles`,children:`Back to instance profiles`}),w.error&&(0,S.jsx)(h,{error:w.error,msg:`Failed to delete instance profile`}),T.error&&(0,S.jsx)(h,{error:T.error,msg:`Failed to add role`}),E.error&&(0,S.jsx)(h,{error:E.error,msg:`Failed to remove role`}),(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsx)(g,{actions:(0,S.jsxs)(l,{onClick:()=>O(!0),size:`sm`,variant:`destructive`,children:[(0,S.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`Instance Profile Details`,title:N.InstanceProfileName??``}),(0,S.jsxs)(y,{children:[(0,S.jsx)(y.Header,{children:`Instance Profile Information`}),(0,S.jsxs)(y.Content,{children:[(0,S.jsx)(b,{label:`Name`,value:N.InstanceProfileName}),(0,S.jsx)(b,{label:`ID`,value:N.InstanceProfileId}),(0,S.jsx)(b,{label:`ARN`,value:N.Arn}),(0,S.jsx)(b,{label:`Path`,value:N.Path}),(0,S.jsx)(b,{label:`Created`,value:o(N.CreateDate)})]})]}),(0,S.jsxs)(y,{children:[(0,S.jsx)(y.Header,{children:(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`span`,{children:`Roles`}),(0,S.jsx)(l,{onClick:()=>A(!k),size:`sm`,children:`Add Role`})]})}),(0,S.jsxs)(y.Content,{children:[k&&L.length>0&&(0,S.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,S.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a role to add:`}),(0,S.jsx)(`div`,{className:`space-y-1`,children:L.map(e=>(0,S.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:T.isPending,onClick:()=>{e.RoleName&&z(e.RoleName)},type:`button`,children:[(0,S.jsx)(`span`,{children:e.RoleName}),(0,S.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.RoleName))})]}),k&&L.length===0&&(0,S.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No roles available to add.`}),P.length>0?(0,S.jsx)(`div`,{className:`col-span-2 space-y-3`,children:P.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,S.jsx)(i,{className:`text-sm font-medium text-primary hover:underline`,params:{roleName:e.RoleName??``},to:`/iam/list-roles/$roleName`,children:e.RoleName}),(0,S.jsx)(l,{disabled:j===e.RoleName,onClick:()=>{e.RoleName&&B(e.RoleName)},size:`sm`,variant:`outline`,children:`Remove`})]},e.RoleName))}):(0,S.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No roles in this instance profile.`})]})]})]}),(0,S.jsx)(v,{description:`Are you sure you want to delete the instance profile "${e}"? This action cannot be undone. You must remove all roles first.`,isPending:w.isPending,onConfirm:R,onOpenChange:O,open:D,title:`Delete Instance Profile`})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{to:`/iam/list-instance-profiles`,children:`Back to instance profiles`}),(0,S.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance profile not found.`})]})}export{C as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{D as u,h as d,t as f}from"./iam.js";import{u as p,y as m}from"./iam2.js";import{t as h}from"./_instanceProfileName.js";import{t as g}from"./error-banner.js";import{t as _}from"./page-heading.js";import{t as v}from"./delete-confirmation-dialog.js";import{n as y,t as b}from"./detail-row.js";var x=e(n()),S=t();function C(){let{instanceProfileName:e}=h.useParams(),t=a(),{data:n}=r(p(e)),{data:C}=r(m),w=d(),T=f(),E=u(),[D,O]=(0,x.useState)(!1),[k,A]=(0,x.useState)(!1),[j,M]=(0,x.useState)(null),N=n.InstanceProfile,P=N?.Roles??[],F=C.Roles??[],I=new Set(P.map(e=>e.RoleName)),L=F.filter(e=>e.RoleName&&!I.has(e.RoleName)),R=async()=>{try{await w.mutateAsync(e),t({to:`/iam/list-instance-profiles`})}finally{O(!1)}},z=async t=>{await T.mutateAsync({instanceProfileName:e,roleName:t}),A(!1)},B=async t=>{M(t);try{await E.mutateAsync({instanceProfileName:e,roleName:t})}finally{M(null)}};return N?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{to:`/iam/list-instance-profiles`,children:`Back to instance profiles`}),w.error&&(0,S.jsx)(g,{error:w.error,msg:`Failed to delete instance profile`}),T.error&&(0,S.jsx)(g,{error:T.error,msg:`Failed to add role`}),E.error&&(0,S.jsx)(g,{error:E.error,msg:`Failed to remove role`}),(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsx)(_,{actions:(0,S.jsxs)(l,{onClick:()=>O(!0),size:`sm`,variant:`destructive`,children:[(0,S.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`Instance Profile Details`,title:N.InstanceProfileName??``}),(0,S.jsxs)(y,{children:[(0,S.jsx)(y.Header,{children:`Instance Profile Information`}),(0,S.jsxs)(y.Content,{children:[(0,S.jsx)(b,{label:`Name`,value:N.InstanceProfileName}),(0,S.jsx)(b,{label:`ID`,value:N.InstanceProfileId}),(0,S.jsx)(b,{label:`ARN`,value:N.Arn}),(0,S.jsx)(b,{label:`Path`,value:N.Path}),(0,S.jsx)(b,{label:`Created`,value:o(N.CreateDate)})]})]}),(0,S.jsxs)(y,{children:[(0,S.jsx)(y.Header,{children:(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`span`,{children:`Roles`}),(0,S.jsx)(l,{onClick:()=>A(!k),size:`sm`,children:`Add Role`})]})}),(0,S.jsxs)(y.Content,{children:[k&&L.length>0&&(0,S.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,S.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a role to add:`}),(0,S.jsx)(`div`,{className:`space-y-1`,children:L.map(e=>(0,S.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:T.isPending,onClick:()=>{e.RoleName&&z(e.RoleName)},type:`button`,children:[(0,S.jsx)(`span`,{children:e.RoleName}),(0,S.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.RoleName))})]}),k&&L.length===0&&(0,S.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No roles available to add.`}),P.length>0?(0,S.jsx)(`div`,{className:`col-span-2 space-y-3`,children:P.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,S.jsx)(i,{className:`text-sm font-medium text-primary hover:underline`,params:{roleName:e.RoleName??``},to:`/iam/list-roles/$roleName`,children:e.RoleName}),(0,S.jsx)(l,{disabled:j===e.RoleName,onClick:()=>{e.RoleName&&B(e.RoleName)},size:`sm`,variant:`outline`,children:`Remove`})]},e.RoleName))}):(0,S.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No roles in this instance profile.`})]})]})]}),(0,S.jsx)(v,{description:`Are you sure you want to delete the instance profile "${e}"? This action cannot be undone. You must remove all roles first.`,isPending:w.isPending,onConfirm:R,onOpenChange:O,open:D,title:`Delete Instance Profile`})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{to:`/iam/list-instance-profiles`,children:`Back to instance profiles`}),(0,S.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance profile not found.`})]})}export{C as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name.js b/spinifex/services/spinifexui/frontend/dist/assets/_name.js index 3bd2d693e..5599bca5b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_name.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_name3.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/rds.js","assets/awsClient.js","assets/index.browser.js","assets/rds2.js","assets/useMutation.js","assets/rds3.js","assets/queryOptions.js","assets/page-heading.js","assets/detail-row.js","assets/tabs.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/tags-editor.js","assets/plus.js","assets/delete-db-parameter-group-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{b as r}from"./rds.js";import{f as i,g as a,u as o}from"./rds3.js";var s=e(`/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.name),[s]=await Promise.all([e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(i(n))]),c=r(n)?``:s.DBParameterGroups?.[0]?.DBParameterGroupArn??``;c!==``&&await e.queryClient.ensureQueryData(a(c))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.name)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_name3.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42])),`component`)});export{s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_name3.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/rds.js","assets/awsClient.js","assets/index.browser.js","assets/rds2.js","assets/useMutation.js","assets/mutation.js","assets/rds3.js","assets/queryOptions.js","assets/page-heading.js","assets/detail-row.js","assets/tabs.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/tags-editor.js","assets/plus.js","assets/delete-db-parameter-group-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{b as r}from"./rds.js";import{f as i,g as a,u as o}from"./rds3.js";var s=e(`/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.name),[s]=await Promise.all([e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(i(n))]),c=r(n)?``:s.DBParameterGroups?.[0]?.DBParameterGroupArn??``;c!==``&&await e.queryClient.ensureQueryData(a(c))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.name)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_name3.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name2.js b/spinifex/services/spinifexui/frontend/dist/assets/_name2.js index 526c0f32e..a29ba0c05 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_name2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name2.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_name4.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/rds3.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/rds2.js","assets/useMutation.js","assets/tags-editor.js","assets/plus.js","assets/input.js","assets/useRegisterFieldControl.js","assets/delete-db-subnet-group-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r,m as i}from"./rds3.js";var a=e(`/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.name),a=(await e.queryClient.ensureQueryData(i(n))).DBSubnetGroups?.[0]?.DBSubnetGroupArn??``;a!==``&&await e.queryClient.ensureQueryData(r(a))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.name)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_name4.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_name4.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/rds3.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/useControlled.js","assets/DirectionContext.js","assets/useCompositeListItem.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/rds2.js","assets/useMutation.js","assets/mutation.js","assets/tags-editor.js","assets/plus.js","assets/input.js","assets/useRegisterFieldControl.js","assets/delete-db-subnet-group-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r,m as i}from"./rds3.js";var a=e(`/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.name),a=(await e.queryClient.ensureQueryData(i(n))).DBSubnetGroups?.[0]?.DBSubnetGroupArn??``;a!==``&&await e.queryClient.ensureQueryData(r(a))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.name)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_name4.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name3.js b/spinifex/services/spinifexui/frontend/dist/assets/_name3.js index 59880a1e9..129048a8e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_name3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name3.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{b as h,s as g,t as _}from"./rds.js";import{u as v}from"./rds2.js";import{f as y,u as ee}from"./rds3.js";import{t as te}from"./page-heading.js";import{t as b}from"./_name.js";import{n as x,t as S}from"./detail-row.js";import{i as ne,n as re,r as ie,t as ae}from"./tabs.js";import{t as oe}from"./rds-tags-tab.js";import{t as se}from"./delete-db-parameter-group-dialog.js";var ce=r(),le=e(n(),1),C=t();function w(e){let t=e.AllowedValues??``;if(e.DataType!==`boolean`&&e.DataType!==`enum`)return null;let n=t.split(`,`).filter(e=>e.length>0);return n.length===0?null:n.includes(e.ParameterValue??``)?n:null}function T(e){return e.DataType===`integer`||e.DataType===`real`}function E(e){return e.ApplyType===`static`?_:e.ApplyMethod??`pending-reboot`}function D(e){let t=(0,ce.c)(23),{parameter:n,value:r,options:i,editable:a,onChange:o}=e,c=n.ParameterName??``;if(!a){let e;return t[0]===r?e=t[1]:(e=(0,C.jsx)(`span`,{className:`font-mono text-xs`,children:r}),t[0]=r,t[1]=e),e}if(i){let e;t[2]===o?e=t[3]:(e=e=>o(e??``),t[2]=o,t[3]=e);let n=`Value of ${c}`,a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,C.jsx)(s,{}),t[4]=a):a=t[4];let f;t[5]===n?f=t[6]:(f=(0,C.jsx)(u,{"aria-label":n,className:`w-40`,children:a}),t[5]=n,t[6]=f);let p;t[7]===i?p=t[8]:(p=i.map(O),t[7]=i,t[8]=p);let m;t[9]===p?m=t[10]:(m=(0,C.jsx)(l,{children:p}),t[9]=p,t[10]=m);let h;return t[11]!==e||t[12]!==f||t[13]!==m||t[14]!==r?(h=(0,C.jsxs)(d,{onValueChange:e,value:r,children:[f,m]}),t[11]=e,t[12]=f,t[13]=m,t[14]=r,t[15]=h):h=t[15],h}let f=`Value of ${c}`,p;t[16]===o?p=t[17]:(p=e=>o(e.target.value),t[16]=o,t[17]=p);let h=T(n)?`number`:`text`,g;return t[18]!==f||t[19]!==p||t[20]!==h||t[21]!==r?(g=(0,C.jsx)(m,{"aria-label":f,className:`w-40`,onChange:p,type:h,value:r}),t[18]=f,t[19]=p,t[20]=h,t[21]=r,t[22]=g):g=t[22],g}function O(e){return(0,C.jsx)(c,{value:e,children:e},e)}function ue({dbParameterGroupName:e,parameters:t,readOnly:n}){let r=v(),[i,a]=(0,le.useState)({}),[o,f]=(0,le.useState)(``),[h,_]=(0,le.useState)(`all`),y=Object.keys(i),ee=y.length>20,te=y.some(e=>(i[e]?.value??``).trim()===``),b=(e,t)=>{let n=e.ParameterName??``;a(r=>({...r,[n]:{value:e.ParameterValue??``,applyMethod:E(e),...r[n],...t}}))},x=e=>{a(t=>{let{[e]:n,...r}=t;return r})},S=async()=>{try{await r.mutateAsync({dbParameterGroupName:e,parameters:y.map(e=>({name:e,value:i[e]?.value??``,applyMethod:i[e]?.applyMethod??`pending-reboot`}))}),a({})}catch{}},ne=o.trim().toLowerCase(),re=t.filter(e=>{let t=e.Source??``;return h===`user`&&t!==`user`||h===`engine-default`&&t===`user`?!1:(e.ParameterName??``).toLowerCase().includes(ne)});return(0,C.jsxs)(`div`,{className:`space-y-4`,children:[(0,C.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,C.jsxs)(`div`,{className:`grow`,children:[(0,C.jsx)(`label`,{className:`sr-only`,htmlFor:`parameter-filter`,children:`Filter parameters`}),(0,C.jsx)(m,{id:`parameter-filter`,onChange:e=>f(e.target.value),placeholder:`Filter by parameter name`,value:o})]}),(0,C.jsxs)(d,{onValueChange:e=>_(e??`all`),value:h,children:[(0,C.jsx)(u,{"aria-label":`Filter by source`,className:`w-56`,children:(0,C.jsx)(s,{})}),(0,C.jsxs)(l,{children:[(0,C.jsx)(c,{value:`all`,children:`All parameters`}),(0,C.jsx)(c,{value:`user`,children:`Modified (user)`}),(0,C.jsx)(c,{value:`engine-default`,children:`Engine default`})]})]})]}),!n&&y.length>0&&(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md border p-3`,children:[(0,C.jsxs)(`p`,{className:`text-sm`,children:[y.length,` parameter`,y.length===1?``:`s`,` edited`]}),(0,C.jsx)(p,{disabled:ee||te||r.isPending,onClick:()=>{S()},size:`sm`,children:r.isPending?`Saving…`:`Save Changes`}),(0,C.jsx)(p,{onClick:()=>a({}),size:`sm`,variant:`outline`,children:`Discard`}),ee&&(0,C.jsxs)(`p`,{className:`text-xs text-destructive`,children:[`At most `,20,` parameters can be saved at once. Each save is applied as a whole, so a larger edit is split by you rather than half-applied by us.`]}),te&&(0,C.jsx)(`p`,{className:`text-xs text-destructive`,children:`An edited parameter cannot be left blank.`})]}),r.error&&(0,C.jsx)(`p`,{className:`text-sm text-destructive`,children:r.error.message}),re.length>0?(0,C.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,C.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,C.jsx)(`thead`,{children:(0,C.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Allowed`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Source`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Apply`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,C.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,C.jsx)(`tbody`,{children:re.map(e=>{let t=e.ParameterName??``,r=i[t],a=w(e),o=!n&&e.IsModifiable,f=r?.value??e.ParameterValue??``,m=r?.applyMethod??E(e),h=g(e.ApplyType);return(0,C.jsxs)(`tr`,{className:`border-b align-top last:border-0`,children:[(0,C.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t,(0,C.jsx)(`span`,{className:`mt-0.5 block font-sans text-muted-foreground`,children:e.Description})]}),(0,C.jsx)(`td`,{className:`px-4 py-2`,children:(0,C.jsx)(D,{editable:o??!1,onChange:t=>b(e,{value:t}),options:a,parameter:e,value:f})}),(0,C.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs text-muted-foreground`,children:[e.AllowedValues??`—`,(0,C.jsxs)(`span`,{className:`mt-0.5 block font-sans`,children:[e.DataType,!e.IsModifiable&&` · fixed by the platform`]})]}),(0,C.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.Source}),(0,C.jsx)(`td`,{className:`px-4 py-2`,children:o&&r&&h.length>1?(0,C.jsxs)(d,{onValueChange:t=>b(e,{applyMethod:t??`pending-reboot`}),value:m,children:[(0,C.jsx)(u,{"aria-label":`Apply method of ${t}`,className:`w-44`,children:(0,C.jsx)(s,{})}),(0,C.jsx)(l,{children:h.map(e=>(0,C.jsx)(c,{value:e,children:e},e))})]}):(0,C.jsxs)(`span`,{className:`text-xs`,children:[m,e.ApplyType===`static`&&(0,C.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:`static — adopted at the next reboot`})]})}),(0,C.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,C.jsx)(p,{onClick:()=>x(t),size:`sm`,variant:`ghost`,children:`Reset`})})]},t)})})]})}):(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`No parameter matches this filter.`})]})}function k(e){let t=(0,ce.c)(106),{dbParameterGroupName:n}=e,r=a(),s;t[0]===n?s=t[1]:(s=ee(n),t[0]=n,t[1]=s);let{data:c}=i(s),l=c.DBParameterGroups?.[0],u;t[2]===n?u=t[3]:(u=h(n),t[2]=n,t[3]=u);let d=u,m=d?``:l?.DBParameterGroupArn??``,g;t[4]===n?g=t[5]:(g=y(n),t[4]=n,t[5]=g);let{data:_}=i(g),[v,b]=(0,le.useState)(!1);if(!l?.DBParameterGroupName){let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(o,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`DB parameter group not found.`})]}),t[6]=e):e=t[6],e}let w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[7]!==n||t[8]!==l.DBParameterGroupFamily||t[9]!==l.Description||t[10]!==d||t[11]!==_.Parameters){let e=_.Parameters??[],r=e.filter(de).length;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,C.jsx)(o,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),t[32]=L):L=t[32],P=`space-y-6`;let i;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>b(!0),t[33]=i):i=t[33];let a;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,C.jsx)(f,{className:`size-4`}),t[34]=a):a=t[34];let s;t[35]===d?s=t[36]:(s=(0,C.jsxs)(p,{disabled:d,onClick:i,size:`sm`,variant:`destructive`,children:[a,`Delete`]}),t[35]=d,t[36]=s),t[37]!==n||t[38]!==s?(F=(0,C.jsx)(te,{actions:s,subtitle:`DB Parameter Group`,title:n}),t[37]=n,t[38]=s,t[39]=F):F=t[39],t[40]===d?I=t[41]:(I=d&&(0,C.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`note`,children:[(0,C.jsx)(`p`,{className:`font-medium`,children:`This is a default parameter group`}),(0,C.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`The service owns it. It can be read and attached to an instance, but it cannot be modified, deleted or tagged. Create your own group of the same family to change a value.`})]}),t[40]=d,t[41]=I),O=ae,j=`parameters`;let c,u;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,C.jsx)(ne,{value:`parameters`,children:`Parameters`}),u=(0,C.jsx)(ne,{value:`details`,children:`Details`}),t[42]=c,t[43]=u):(c=t[42],u=t[43]);let m;t[44]===d?m=t[45]:(m=!d&&(0,C.jsx)(ne,{value:`tags`,children:`Tags`}),t[44]=d,t[45]=m),t[46]===m?M=t[47]:(M=(0,C.jsxs)(re,{children:[c,u,m]}),t[46]=m,t[47]=M),N=(0,C.jsx)(ie,{value:`parameters`,children:(0,C.jsx)(ue,{dbParameterGroupName:n,parameters:e,readOnly:d})}),D=ie,A=`details`,E=x,t[48]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,C.jsx)(x.Header,{children:`Details`}),t[48]=k):k=t[48],T=x.Content,t[49]===l.DBParameterGroupFamily?B=t[50]:(B=(0,C.jsx)(S,{label:`Family`,value:l.DBParameterGroupFamily}),t[49]=l.DBParameterGroupFamily,t[50]=B),t[51]===l.Description?V=t[52]:(V=(0,C.jsx)(S,{label:`Description`,value:l.Description}),t[51]=l.Description,t[52]=V);let h=d?`Default`:`Customer`;t[53]===h?H=t[54]:(H=(0,C.jsx)(S,{label:`Type`,value:h}),t[53]=h,t[54]=H);let g;t[55]===e?g=t[56]:(g=e.length.toString(),t[55]=e,t[56]=g),t[57]===g?U=t[58]:(U=(0,C.jsx)(S,{label:`Parameters`,value:g}),t[57]=g,t[58]=U),w=S,R=`Overridden`,z=r.toString(),t[7]=n,t[8]=l.DBParameterGroupFamily,t[9]=l.Description,t[10]=d,t[11]=_.Parameters,t[12]=w,t[13]=T,t[14]=E,t[15]=D,t[16]=O,t[17]=k,t[18]=A,t[19]=j,t[20]=M,t[21]=N,t[22]=P,t[23]=F,t[24]=I,t[25]=L,t[26]=R,t[27]=z,t[28]=B,t[29]=V,t[30]=H,t[31]=U}else w=t[12],T=t[13],E=t[14],D=t[15],O=t[16],k=t[17],A=t[18],j=t[19],M=t[20],N=t[21],P=t[22],F=t[23],I=t[24],L=t[25],R=t[26],z=t[27],B=t[28],V=t[29],H=t[30],U=t[31];let W;t[59]!==w||t[60]!==R||t[61]!==z?(W=(0,C.jsx)(w,{label:R,value:z}),t[59]=w,t[60]=R,t[61]=z,t[62]=W):W=t[62];let G;t[63]===l.DBParameterGroupArn?G=t[64]:(G=(0,C.jsx)(S,{label:`ARN`,value:l.DBParameterGroupArn}),t[63]=l.DBParameterGroupArn,t[64]=G);let K;t[65]!==T||t[66]!==W||t[67]!==G||t[68]!==B||t[69]!==V||t[70]!==H||t[71]!==U?(K=(0,C.jsxs)(T,{children:[B,V,H,U,W,G]}),t[65]=T,t[66]=W,t[67]=G,t[68]=B,t[69]=V,t[70]=H,t[71]=U,t[72]=K):K=t[72];let q;t[73]!==E||t[74]!==k||t[75]!==K?(q=(0,C.jsxs)(E,{children:[k,K]}),t[73]=E,t[74]=k,t[75]=K,t[76]=q):q=t[76];let J;t[77]!==D||t[78]!==A||t[79]!==q?(J=(0,C.jsx)(D,{value:A,children:q}),t[77]=D,t[78]=A,t[79]=q,t[80]=J):J=t[80];let Y;t[81]!==m||t[82]!==d?(Y=!d&&(0,C.jsx)(ie,{value:`tags`,children:(0,C.jsx)(oe,{arn:m})}),t[81]=m,t[82]=d,t[83]=Y):Y=t[83];let X;t[84]!==O||t[85]!==j||t[86]!==M||t[87]!==N||t[88]!==J||t[89]!==Y?(X=(0,C.jsxs)(O,{defaultValue:j,children:[M,N,J,Y]}),t[84]=O,t[85]=j,t[86]=M,t[87]=N,t[88]=J,t[89]=Y,t[90]=X):X=t[90];let Z;t[91]!==P||t[92]!==F||t[93]!==I||t[94]!==X?(Z=(0,C.jsxs)(`div`,{className:P,children:[F,I,X]}),t[91]=P,t[92]=F,t[93]=I,t[94]=X,t[95]=Z):Z=t[95];let Q;t[96]===r?Q=t[97]:(Q=async()=>await r({to:`/rds/describe-db-parameter-groups`}),t[96]=r,t[97]=Q);let $;t[98]!==n||t[99]!==v||t[100]!==Q?($=(0,C.jsx)(se,{dbParameterGroupName:n,onDeleted:Q,onOpenChange:b,open:v}),t[98]=n,t[99]=v,t[100]=Q,t[101]=$):$=t[101];let fe;return t[102]!==L||t[103]!==Z||t[104]!==$?(fe=(0,C.jsxs)(C.Fragment,{children:[L,Z,$]}),t[102]=L,t[103]=Z,t[104]=$,t[105]=fe):fe=t[105],fe}function de(e){return e.Source===`user`}function A(){let e=(0,ce.c)(2),{name:t}=b.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,C.jsx)(k,{dbParameterGroupName:n}),e[0]=n,e[1]=r),r}export{A as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{b as h,s as g,t as _}from"./rds.js";import{u as v}from"./rds2.js";import{f as y,u as ee}from"./rds3.js";import{t as b}from"./_name.js";import{t as te}from"./page-heading.js";import{n as x,t as S}from"./detail-row.js";import{i as ne,n as re,r as ie,t as ae}from"./tabs.js";import{t as oe}from"./rds-tags-tab.js";import{t as se}from"./delete-db-parameter-group-dialog.js";var ce=r(),le=e(n(),1),C=t();function w(e){let t=e.AllowedValues??``;if(e.DataType!==`boolean`&&e.DataType!==`enum`)return null;let n=t.split(`,`).filter(e=>e.length>0);return n.length===0?null:n.includes(e.ParameterValue??``)?n:null}function T(e){return e.DataType===`integer`||e.DataType===`real`}function E(e){return e.ApplyType===`static`?_:e.ApplyMethod??`pending-reboot`}function D(e){let t=(0,ce.c)(23),{parameter:n,value:r,options:i,editable:a,onChange:o}=e,c=n.ParameterName??``;if(!a){let e;return t[0]===r?e=t[1]:(e=(0,C.jsx)(`span`,{className:`font-mono text-xs`,children:r}),t[0]=r,t[1]=e),e}if(i){let e;t[2]===o?e=t[3]:(e=e=>o(e??``),t[2]=o,t[3]=e);let n=`Value of ${c}`,a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,C.jsx)(s,{}),t[4]=a):a=t[4];let f;t[5]===n?f=t[6]:(f=(0,C.jsx)(u,{"aria-label":n,className:`w-40`,children:a}),t[5]=n,t[6]=f);let p;t[7]===i?p=t[8]:(p=i.map(O),t[7]=i,t[8]=p);let m;t[9]===p?m=t[10]:(m=(0,C.jsx)(l,{children:p}),t[9]=p,t[10]=m);let h;return t[11]!==e||t[12]!==f||t[13]!==m||t[14]!==r?(h=(0,C.jsxs)(d,{onValueChange:e,value:r,children:[f,m]}),t[11]=e,t[12]=f,t[13]=m,t[14]=r,t[15]=h):h=t[15],h}let f=`Value of ${c}`,p;t[16]===o?p=t[17]:(p=e=>o(e.target.value),t[16]=o,t[17]=p);let h=T(n)?`number`:`text`,g;return t[18]!==f||t[19]!==p||t[20]!==h||t[21]!==r?(g=(0,C.jsx)(m,{"aria-label":f,className:`w-40`,onChange:p,type:h,value:r}),t[18]=f,t[19]=p,t[20]=h,t[21]=r,t[22]=g):g=t[22],g}function O(e){return(0,C.jsx)(c,{value:e,children:e},e)}function ue({dbParameterGroupName:e,parameters:t,readOnly:n}){let r=v(),[i,a]=(0,le.useState)({}),[o,f]=(0,le.useState)(``),[h,_]=(0,le.useState)(`all`),y=Object.keys(i),ee=y.length>20,b=y.some(e=>(i[e]?.value??``).trim()===``),te=(e,t)=>{let n=e.ParameterName??``;a(r=>({...r,[n]:{value:e.ParameterValue??``,applyMethod:E(e),...r[n],...t}}))},x=e=>{a(t=>{let{[e]:n,...r}=t;return r})},S=async()=>{try{await r.mutateAsync({dbParameterGroupName:e,parameters:y.map(e=>({name:e,value:i[e]?.value??``,applyMethod:i[e]?.applyMethod??`pending-reboot`}))}),a({})}catch{}},ne=o.trim().toLowerCase(),re=t.filter(e=>{let t=e.Source??``;return h===`user`&&t!==`user`||h===`engine-default`&&t===`user`?!1:(e.ParameterName??``).toLowerCase().includes(ne)});return(0,C.jsxs)(`div`,{className:`space-y-4`,children:[(0,C.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,C.jsxs)(`div`,{className:`grow`,children:[(0,C.jsx)(`label`,{className:`sr-only`,htmlFor:`parameter-filter`,children:`Filter parameters`}),(0,C.jsx)(m,{id:`parameter-filter`,onChange:e=>f(e.target.value),placeholder:`Filter by parameter name`,value:o})]}),(0,C.jsxs)(d,{onValueChange:e=>_(e??`all`),value:h,children:[(0,C.jsx)(u,{"aria-label":`Filter by source`,className:`w-56`,children:(0,C.jsx)(s,{})}),(0,C.jsxs)(l,{children:[(0,C.jsx)(c,{value:`all`,children:`All parameters`}),(0,C.jsx)(c,{value:`user`,children:`Modified (user)`}),(0,C.jsx)(c,{value:`engine-default`,children:`Engine default`})]})]})]}),!n&&y.length>0&&(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md border p-3`,children:[(0,C.jsxs)(`p`,{className:`text-sm`,children:[y.length,` parameter`,y.length===1?``:`s`,` edited`]}),(0,C.jsx)(p,{disabled:ee||b||r.isPending,onClick:()=>{S()},size:`sm`,children:r.isPending?`Saving…`:`Save Changes`}),(0,C.jsx)(p,{onClick:()=>a({}),size:`sm`,variant:`outline`,children:`Discard`}),ee&&(0,C.jsxs)(`p`,{className:`text-xs text-destructive`,children:[`At most `,20,` parameters can be saved at once. Each save is applied as a whole, so a larger edit is split by you rather than half-applied by us.`]}),b&&(0,C.jsx)(`p`,{className:`text-xs text-destructive`,children:`An edited parameter cannot be left blank.`})]}),r.error&&(0,C.jsx)(`p`,{className:`text-sm text-destructive`,children:r.error.message}),re.length>0?(0,C.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,C.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,C.jsx)(`thead`,{children:(0,C.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Allowed`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Source`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Apply`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,C.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,C.jsx)(`tbody`,{children:re.map(e=>{let t=e.ParameterName??``,r=i[t],a=w(e),o=!n&&e.IsModifiable,f=r?.value??e.ParameterValue??``,m=r?.applyMethod??E(e),h=g(e.ApplyType);return(0,C.jsxs)(`tr`,{className:`border-b align-top last:border-0`,children:[(0,C.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t,(0,C.jsx)(`span`,{className:`mt-0.5 block font-sans text-muted-foreground`,children:e.Description})]}),(0,C.jsx)(`td`,{className:`px-4 py-2`,children:(0,C.jsx)(D,{editable:o??!1,onChange:t=>te(e,{value:t}),options:a,parameter:e,value:f})}),(0,C.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs text-muted-foreground`,children:[e.AllowedValues??`—`,(0,C.jsxs)(`span`,{className:`mt-0.5 block font-sans`,children:[e.DataType,!e.IsModifiable&&` · fixed by the platform`]})]}),(0,C.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.Source}),(0,C.jsx)(`td`,{className:`px-4 py-2`,children:o&&r&&h.length>1?(0,C.jsxs)(d,{onValueChange:t=>te(e,{applyMethod:t??`pending-reboot`}),value:m,children:[(0,C.jsx)(u,{"aria-label":`Apply method of ${t}`,className:`w-44`,children:(0,C.jsx)(s,{})}),(0,C.jsx)(l,{children:h.map(e=>(0,C.jsx)(c,{value:e,children:e},e))})]}):(0,C.jsxs)(`span`,{className:`text-xs`,children:[m,e.ApplyType===`static`&&(0,C.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:`static — adopted at the next reboot`})]})}),(0,C.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,C.jsx)(p,{onClick:()=>x(t),size:`sm`,variant:`ghost`,children:`Reset`})})]},t)})})]})}):(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`No parameter matches this filter.`})]})}function k(e){let t=(0,ce.c)(106),{dbParameterGroupName:n}=e,r=a(),s;t[0]===n?s=t[1]:(s=ee(n),t[0]=n,t[1]=s);let{data:c}=i(s),l=c.DBParameterGroups?.[0],u;t[2]===n?u=t[3]:(u=h(n),t[2]=n,t[3]=u);let d=u,m=d?``:l?.DBParameterGroupArn??``,g;t[4]===n?g=t[5]:(g=y(n),t[4]=n,t[5]=g);let{data:_}=i(g),[v,b]=(0,le.useState)(!1);if(!l?.DBParameterGroupName){let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(o,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`DB parameter group not found.`})]}),t[6]=e):e=t[6],e}let w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[7]!==n||t[8]!==l.DBParameterGroupFamily||t[9]!==l.Description||t[10]!==d||t[11]!==_.Parameters){let e=_.Parameters??[],r=e.filter(de).length;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,C.jsx)(o,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),t[32]=L):L=t[32],P=`space-y-6`;let i;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>b(!0),t[33]=i):i=t[33];let a;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,C.jsx)(f,{className:`size-4`}),t[34]=a):a=t[34];let s;t[35]===d?s=t[36]:(s=(0,C.jsxs)(p,{disabled:d,onClick:i,size:`sm`,variant:`destructive`,children:[a,`Delete`]}),t[35]=d,t[36]=s),t[37]!==n||t[38]!==s?(F=(0,C.jsx)(te,{actions:s,subtitle:`DB Parameter Group`,title:n}),t[37]=n,t[38]=s,t[39]=F):F=t[39],t[40]===d?I=t[41]:(I=d&&(0,C.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`note`,children:[(0,C.jsx)(`p`,{className:`font-medium`,children:`This is a default parameter group`}),(0,C.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`The service owns it. It can be read and attached to an instance, but it cannot be modified, deleted or tagged. Create your own group of the same family to change a value.`})]}),t[40]=d,t[41]=I),O=ae,j=`parameters`;let c,u;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,C.jsx)(ne,{value:`parameters`,children:`Parameters`}),u=(0,C.jsx)(ne,{value:`details`,children:`Details`}),t[42]=c,t[43]=u):(c=t[42],u=t[43]);let m;t[44]===d?m=t[45]:(m=!d&&(0,C.jsx)(ne,{value:`tags`,children:`Tags`}),t[44]=d,t[45]=m),t[46]===m?M=t[47]:(M=(0,C.jsxs)(re,{children:[c,u,m]}),t[46]=m,t[47]=M),N=(0,C.jsx)(ie,{value:`parameters`,children:(0,C.jsx)(ue,{dbParameterGroupName:n,parameters:e,readOnly:d})}),D=ie,A=`details`,E=x,t[48]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,C.jsx)(x.Header,{children:`Details`}),t[48]=k):k=t[48],T=x.Content,t[49]===l.DBParameterGroupFamily?B=t[50]:(B=(0,C.jsx)(S,{label:`Family`,value:l.DBParameterGroupFamily}),t[49]=l.DBParameterGroupFamily,t[50]=B),t[51]===l.Description?V=t[52]:(V=(0,C.jsx)(S,{label:`Description`,value:l.Description}),t[51]=l.Description,t[52]=V);let h=d?`Default`:`Customer`;t[53]===h?H=t[54]:(H=(0,C.jsx)(S,{label:`Type`,value:h}),t[53]=h,t[54]=H);let g;t[55]===e?g=t[56]:(g=e.length.toString(),t[55]=e,t[56]=g),t[57]===g?U=t[58]:(U=(0,C.jsx)(S,{label:`Parameters`,value:g}),t[57]=g,t[58]=U),w=S,R=`Overridden`,z=r.toString(),t[7]=n,t[8]=l.DBParameterGroupFamily,t[9]=l.Description,t[10]=d,t[11]=_.Parameters,t[12]=w,t[13]=T,t[14]=E,t[15]=D,t[16]=O,t[17]=k,t[18]=A,t[19]=j,t[20]=M,t[21]=N,t[22]=P,t[23]=F,t[24]=I,t[25]=L,t[26]=R,t[27]=z,t[28]=B,t[29]=V,t[30]=H,t[31]=U}else w=t[12],T=t[13],E=t[14],D=t[15],O=t[16],k=t[17],A=t[18],j=t[19],M=t[20],N=t[21],P=t[22],F=t[23],I=t[24],L=t[25],R=t[26],z=t[27],B=t[28],V=t[29],H=t[30],U=t[31];let W;t[59]!==w||t[60]!==R||t[61]!==z?(W=(0,C.jsx)(w,{label:R,value:z}),t[59]=w,t[60]=R,t[61]=z,t[62]=W):W=t[62];let G;t[63]===l.DBParameterGroupArn?G=t[64]:(G=(0,C.jsx)(S,{label:`ARN`,value:l.DBParameterGroupArn}),t[63]=l.DBParameterGroupArn,t[64]=G);let K;t[65]!==T||t[66]!==W||t[67]!==G||t[68]!==B||t[69]!==V||t[70]!==H||t[71]!==U?(K=(0,C.jsxs)(T,{children:[B,V,H,U,W,G]}),t[65]=T,t[66]=W,t[67]=G,t[68]=B,t[69]=V,t[70]=H,t[71]=U,t[72]=K):K=t[72];let q;t[73]!==E||t[74]!==k||t[75]!==K?(q=(0,C.jsxs)(E,{children:[k,K]}),t[73]=E,t[74]=k,t[75]=K,t[76]=q):q=t[76];let J;t[77]!==D||t[78]!==A||t[79]!==q?(J=(0,C.jsx)(D,{value:A,children:q}),t[77]=D,t[78]=A,t[79]=q,t[80]=J):J=t[80];let Y;t[81]!==m||t[82]!==d?(Y=!d&&(0,C.jsx)(ie,{value:`tags`,children:(0,C.jsx)(oe,{arn:m})}),t[81]=m,t[82]=d,t[83]=Y):Y=t[83];let X;t[84]!==O||t[85]!==j||t[86]!==M||t[87]!==N||t[88]!==J||t[89]!==Y?(X=(0,C.jsxs)(O,{defaultValue:j,children:[M,N,J,Y]}),t[84]=O,t[85]=j,t[86]=M,t[87]=N,t[88]=J,t[89]=Y,t[90]=X):X=t[90];let Z;t[91]!==P||t[92]!==F||t[93]!==I||t[94]!==X?(Z=(0,C.jsxs)(`div`,{className:P,children:[F,I,X]}),t[91]=P,t[92]=F,t[93]=I,t[94]=X,t[95]=Z):Z=t[95];let Q;t[96]===r?Q=t[97]:(Q=async()=>await r({to:`/rds/describe-db-parameter-groups`}),t[96]=r,t[97]=Q);let $;t[98]!==n||t[99]!==v||t[100]!==Q?($=(0,C.jsx)(se,{dbParameterGroupName:n,onDeleted:Q,onOpenChange:b,open:v}),t[98]=n,t[99]=v,t[100]=Q,t[101]=$):$=t[101];let fe;return t[102]!==L||t[103]!==Z||t[104]!==$?(fe=(0,C.jsxs)(C.Fragment,{children:[L,Z,$]}),t[102]=L,t[103]=Z,t[104]=$,t[105]=fe):fe=t[105],fe}function de(e){return e.Source===`user`}function A(){let e=(0,ce.c)(2),{name:t}=b.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,C.jsx)(k,{dbParameterGroupName:n}),e[0]=n,e[1]=r),r}export{A as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name4.js b/spinifex/services/spinifexui/frontend/dist/assets/_name4.js index c10b927c9..8fb0e9b3a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_name4.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name4.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{m as u}from"./rds3.js";import{t as d}from"./page-heading.js";import{t as f}from"./_name2.js";import{n as p,t as m}from"./detail-row.js";import{t as h}from"./state-badge.js";import{i as g,n as _,r as v,t as y}from"./tabs.js";import{t as b}from"./rds-tags-tab.js";import{t as x}from"./delete-db-subnet-group-dialog.js";var S=r(),C=e(n(),1),w=t();function T(e){let t=(0,S.c)(53),{dbSubnetGroupName:n}=e,r=o(),a;t[0]===n?a=t[1]:(a=u(n),t[0]=n,t[1]=a);let{data:f}=i(a),T=f.DBSubnetGroups?.[0],D=T?.DBSubnetGroupArn??``,[O,k]=(0,C.useState)(!1);if(!T?.DBSubnetGroupName){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`DB subnet group not found.`})]}),t[2]=e):e=t[2],e}let A;t[3]===T.Subnets?A=t[4]:(A=T.Subnets??[],t[3]=T.Subnets,t[4]=A);let j=A,M;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,w.jsx)(s,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),t[5]=M):M=t[5];let N;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>k(!0),t[6]=N):N=t[6];let P;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,w.jsxs)(l,{onClick:N,size:`sm`,variant:`destructive`,children:[(0,w.jsx)(c,{className:`size-4`}),`Delete`]}),t[7]=P):P=t[7];let F;t[8]===n?F=t[9]:(F=(0,w.jsx)(d,{actions:P,subtitle:`DB Subnet Group`,title:n}),t[8]=n,t[9]=F);let I;t[10]===T.SubnetGroupStatus?I=t[11]:(I=(0,w.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,w.jsx)(h,{state:T.SubnetGroupStatus})}),t[10]=T.SubnetGroupStatus,t[11]=I);let L;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,w.jsxs)(_,{children:[(0,w.jsx)(g,{value:`subnets`,children:`Subnets`}),(0,w.jsx)(g,{value:`tags`,children:`Tags`})]}),t[12]=L):L=t[12];let R;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,w.jsx)(p.Header,{children:`Details`}),t[13]=R):R=t[13];let z;t[14]===T.DBSubnetGroupDescription?z=t[15]:(z=(0,w.jsx)(m,{label:`Description`,value:T.DBSubnetGroupDescription}),t[14]=T.DBSubnetGroupDescription,t[15]=z);let B;t[16]===T.VpcId?B=t[17]:(B=(0,w.jsx)(m,{label:`VPC`,value:T.VpcId}),t[16]=T.VpcId,t[17]=B);let V;t[18]===j.length?V=t[19]:(V=j.length.toString(),t[18]=j.length,t[19]=V);let H;t[20]===V?H=t[21]:(H=(0,w.jsx)(m,{label:`Subnets`,value:V}),t[20]=V,t[21]=H);let U;t[22]===T.DBSubnetGroupArn?U=t[23]:(U=(0,w.jsx)(m,{label:`ARN`,value:T.DBSubnetGroupArn}),t[22]=T.DBSubnetGroupArn,t[23]=U);let W;t[24]!==z||t[25]!==B||t[26]!==H||t[27]!==U?(W=(0,w.jsxs)(p,{children:[R,(0,w.jsxs)(p.Content,{children:[z,B,H,U]})]}),t[24]=z,t[25]=B,t[26]=H,t[27]=U,t[28]=W):W=t[28];let G;t[29]===j?G=t[30]:(G=j.length>0?(0,w.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,w.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Subnet`}),(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Availability zone`}),(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`})]})}),(0,w.jsx)(`tbody`,{children:j.map(E)})]})}):(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`This group holds no subnets.`}),t[29]=j,t[30]=G);let K;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,w.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This group records which subnets RDS may place an endpoint in; each subnet's own CIDR, addresses and routing live on its EC2 page. Membership is fixed at create — ModifyDBSubnetGroup is not implemented. Changing it means creating a new group, which a DB instance can only adopt by being recreated.`}),t[31]=K):K=t[31];let q;t[32]!==W||t[33]!==G?(q=(0,w.jsx)(v,{value:`subnets`,children:(0,w.jsxs)(`div`,{className:`space-y-4`,children:[W,G,K]})}),t[32]=W,t[33]=G,t[34]=q):q=t[34];let J;t[35]===D?J=t[36]:(J=(0,w.jsx)(v,{value:`tags`,children:(0,w.jsx)(b,{arn:D})}),t[35]=D,t[36]=J);let Y;t[37]!==q||t[38]!==J?(Y=(0,w.jsxs)(y,{defaultValue:`subnets`,children:[L,q,J]}),t[37]=q,t[38]=J,t[39]=Y):Y=t[39];let X;t[40]!==Y||t[41]!==F||t[42]!==I?(X=(0,w.jsxs)(`div`,{className:`space-y-6`,children:[F,I,Y]}),t[40]=Y,t[41]=F,t[42]=I,t[43]=X):X=t[43];let Z;t[44]===r?Z=t[45]:(Z=async()=>await r({to:`/rds/describe-db-subnet-groups`}),t[44]=r,t[45]=Z);let Q;t[46]!==n||t[47]!==O||t[48]!==Z?(Q=(0,w.jsx)(x,{dbSubnetGroupName:n,onDeleted:Z,onOpenChange:k,open:O}),t[46]=n,t[47]=O,t[48]=Z,t[49]=Q):Q=t[49];let $;return t[50]!==X||t[51]!==Q?($=(0,w.jsxs)(w.Fragment,{children:[M,X,Q]}),t[50]=X,t[51]=Q,t[52]=$):$=t[52],$}function E(e){return(0,w.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,w.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,w.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.SubnetIdentifier??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetIdentifier})}),(0,w.jsx)(`td`,{className:`px-4 py-2`,children:e.SubnetAvailabilityZone?.Name??`—`}),(0,w.jsx)(`td`,{className:`px-4 py-2`,children:e.SubnetStatus})]},e.SubnetIdentifier)}function D(){let e=(0,S.c)(2),{name:t}=f.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,w.jsx)(T,{dbSubnetGroupName:n}),e[0]=n,e[1]=r),r}export{D as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{m as u}from"./rds3.js";import{t as d}from"./_name2.js";import{t as f}from"./page-heading.js";import{n as p,t as m}from"./detail-row.js";import{t as h}from"./state-badge.js";import{i as g,n as _,r as v,t as y}from"./tabs.js";import{t as b}from"./rds-tags-tab.js";import{t as x}from"./delete-db-subnet-group-dialog.js";var S=r(),C=e(n(),1),w=t();function T(e){let t=(0,S.c)(53),{dbSubnetGroupName:n}=e,r=o(),a;t[0]===n?a=t[1]:(a=u(n),t[0]=n,t[1]=a);let{data:d}=i(a),T=d.DBSubnetGroups?.[0],D=T?.DBSubnetGroupArn??``,[O,k]=(0,C.useState)(!1);if(!T?.DBSubnetGroupName){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`DB subnet group not found.`})]}),t[2]=e):e=t[2],e}let A;t[3]===T.Subnets?A=t[4]:(A=T.Subnets??[],t[3]=T.Subnets,t[4]=A);let j=A,M;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,w.jsx)(s,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),t[5]=M):M=t[5];let N;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>k(!0),t[6]=N):N=t[6];let P;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,w.jsxs)(l,{onClick:N,size:`sm`,variant:`destructive`,children:[(0,w.jsx)(c,{className:`size-4`}),`Delete`]}),t[7]=P):P=t[7];let F;t[8]===n?F=t[9]:(F=(0,w.jsx)(f,{actions:P,subtitle:`DB Subnet Group`,title:n}),t[8]=n,t[9]=F);let I;t[10]===T.SubnetGroupStatus?I=t[11]:(I=(0,w.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,w.jsx)(h,{state:T.SubnetGroupStatus})}),t[10]=T.SubnetGroupStatus,t[11]=I);let L;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,w.jsxs)(_,{children:[(0,w.jsx)(g,{value:`subnets`,children:`Subnets`}),(0,w.jsx)(g,{value:`tags`,children:`Tags`})]}),t[12]=L):L=t[12];let R;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,w.jsx)(p.Header,{children:`Details`}),t[13]=R):R=t[13];let z;t[14]===T.DBSubnetGroupDescription?z=t[15]:(z=(0,w.jsx)(m,{label:`Description`,value:T.DBSubnetGroupDescription}),t[14]=T.DBSubnetGroupDescription,t[15]=z);let B;t[16]===T.VpcId?B=t[17]:(B=(0,w.jsx)(m,{label:`VPC`,value:T.VpcId}),t[16]=T.VpcId,t[17]=B);let V;t[18]===j.length?V=t[19]:(V=j.length.toString(),t[18]=j.length,t[19]=V);let H;t[20]===V?H=t[21]:(H=(0,w.jsx)(m,{label:`Subnets`,value:V}),t[20]=V,t[21]=H);let U;t[22]===T.DBSubnetGroupArn?U=t[23]:(U=(0,w.jsx)(m,{label:`ARN`,value:T.DBSubnetGroupArn}),t[22]=T.DBSubnetGroupArn,t[23]=U);let W;t[24]!==z||t[25]!==B||t[26]!==H||t[27]!==U?(W=(0,w.jsxs)(p,{children:[R,(0,w.jsxs)(p.Content,{children:[z,B,H,U]})]}),t[24]=z,t[25]=B,t[26]=H,t[27]=U,t[28]=W):W=t[28];let G;t[29]===j?G=t[30]:(G=j.length>0?(0,w.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,w.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,w.jsx)(`thead`,{children:(0,w.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Subnet`}),(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Availability zone`}),(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`})]})}),(0,w.jsx)(`tbody`,{children:j.map(E)})]})}):(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`This group holds no subnets.`}),t[29]=j,t[30]=G);let K;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,w.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This group records which subnets RDS may place an endpoint in; each subnet's own CIDR, addresses and routing live on its EC2 page. Membership is fixed at create — ModifyDBSubnetGroup is not implemented. Changing it means creating a new group, which a DB instance can only adopt by being recreated.`}),t[31]=K):K=t[31];let q;t[32]!==W||t[33]!==G?(q=(0,w.jsx)(v,{value:`subnets`,children:(0,w.jsxs)(`div`,{className:`space-y-4`,children:[W,G,K]})}),t[32]=W,t[33]=G,t[34]=q):q=t[34];let J;t[35]===D?J=t[36]:(J=(0,w.jsx)(v,{value:`tags`,children:(0,w.jsx)(b,{arn:D})}),t[35]=D,t[36]=J);let Y;t[37]!==q||t[38]!==J?(Y=(0,w.jsxs)(y,{defaultValue:`subnets`,children:[L,q,J]}),t[37]=q,t[38]=J,t[39]=Y):Y=t[39];let X;t[40]!==Y||t[41]!==F||t[42]!==I?(X=(0,w.jsxs)(`div`,{className:`space-y-6`,children:[F,I,Y]}),t[40]=Y,t[41]=F,t[42]=I,t[43]=X):X=t[43];let Z;t[44]===r?Z=t[45]:(Z=async()=>await r({to:`/rds/describe-db-subnet-groups`}),t[44]=r,t[45]=Z);let Q;t[46]!==n||t[47]!==O||t[48]!==Z?(Q=(0,w.jsx)(x,{dbSubnetGroupName:n,onDeleted:Z,onOpenChange:k,open:O}),t[46]=n,t[47]=O,t[48]=Z,t[49]=Q):Q=t[49];let $;return t[50]!==X||t[51]!==Q?($=(0,w.jsxs)(w.Fragment,{children:[M,X,Q]}),t[50]=X,t[51]=Q,t[52]=$):$=t[52],$}function E(e){return(0,w.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,w.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,w.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.SubnetIdentifier??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetIdentifier})}),(0,w.jsx)(`td`,{className:`px-4 py-2`,children:e.SubnetAvailabilityZone?.Name??`—`}),(0,w.jsx)(`td`,{className:`px-4 py-2`,children:e.SubnetStatus})]},e.SubnetIdentifier)}function D(){let e=(0,S.c)(2),{name:t}=d.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,w.jsx)(T,{dbSubnetGroupName:n}),e[0]=n,e[1]=r),r}export{D as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js index e2a996467..1d97924f9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_policyArn2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/policy-document-viewer.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{h as r,m as i}from"./iam2.js";var a=e(`/_auth/iam/(policies)/list-policies/$policyArn`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.policyArn),a=await e.queryClient.ensureQueryData(i(n)),o=a.Policy?.DefaultVersionId;return o&&await e.queryClient.ensureQueryData(r(n,o)),a},head:({loaderData:e})=>({meta:[{title:`${e?.Policy?.PolicyName??`Policy`} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_policyArn2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_policyArn2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/mutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/policy-document-viewer.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{h as r,m as i}from"./iam2.js";var a=e(`/_auth/iam/(policies)/list-policies/$policyArn`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.policyArn),a=await e.queryClient.ensureQueryData(i(n)),o=a.Policy?.DefaultVersionId;return o&&await e.queryClient.ensureQueryData(r(n,o)),a},head:({loaderData:e})=>({meta:[{title:`${e?.Policy?.PolicyName??`Policy`} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_policyArn2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js index 16b50c890..1ef9386de 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{Qt as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{g as l}from"./iam.js";import{h as u,m as d}from"./iam2.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_policyArn.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./policy-document-viewer.js";var y=e(n()),b=t();function x(){let{policyArn:e}=m.useParams(),t=decodeURIComponent(e),n=i(),{data:x}=r(d(t)),S=x.Policy,C=l(),[w,T]=(0,y.useState)(!1),E=S?.DefaultVersionId??`v1`,{data:D}=r(u(t,E)),O=D?.PolicyVersion?.Document?decodeURIComponent(D.PolicyVersion.Document):null;return S?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/iam/list-policies`,children:`Back to policies`}),C.error&&(0,b.jsx)(f,{error:C.error,msg:`Failed to delete policy`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(c,{onClick:()=>T(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(s,{className:`size-4`}),`Delete`]}),subtitle:`Policy Details`,title:S.PolicyName??``}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Policy Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Policy Name`,value:S.PolicyName}),(0,b.jsx)(_,{label:`Policy ID`,value:S.PolicyId}),(0,b.jsx)(_,{label:`ARN`,value:S.Arn}),(0,b.jsx)(_,{label:`Path`,value:S.Path}),(0,b.jsx)(_,{label:`Description`,value:S.Description??`-`}),(0,b.jsx)(_,{label:`Created`,value:a(S.CreateDate)})]})]}),O&&(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Policy Document`}),(0,b.jsx)(`div`,{className:`p-4`,children:(0,b.jsx)(v,{document:O})})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the policy "${S.PolicyName}"? This action cannot be undone.`,isPending:C.isPending,onConfirm:async()=>{try{await C.mutateAsync(t),n({to:`/iam/list-policies`})}finally{T(!1)}},onOpenChange:T,open:w,title:`Delete Policy`})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/iam/list-policies`,children:`Back to policies`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Policy not found.`})]})}export{x as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{Qt as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{g as l}from"./iam.js";import{h as u,m as d}from"./iam2.js";import{t as f}from"./_policyArn.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./policy-document-viewer.js";var y=e(n()),b=t();function x(){let{policyArn:e}=f.useParams(),t=decodeURIComponent(e),n=i(),{data:x}=r(d(t)),S=x.Policy,C=l(),[w,T]=(0,y.useState)(!1),E=S?.DefaultVersionId??`v1`,{data:D}=r(u(t,E)),O=D?.PolicyVersion?.Document?decodeURIComponent(D.PolicyVersion.Document):null;return S?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/iam/list-policies`,children:`Back to policies`}),C.error&&(0,b.jsx)(p,{error:C.error,msg:`Failed to delete policy`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(c,{onClick:()=>T(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(s,{className:`size-4`}),`Delete`]}),subtitle:`Policy Details`,title:S.PolicyName??``}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Policy Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Policy Name`,value:S.PolicyName}),(0,b.jsx)(_,{label:`Policy ID`,value:S.PolicyId}),(0,b.jsx)(_,{label:`ARN`,value:S.Arn}),(0,b.jsx)(_,{label:`Path`,value:S.Path}),(0,b.jsx)(_,{label:`Description`,value:S.Description??`-`}),(0,b.jsx)(_,{label:`Created`,value:a(S.CreateDate)})]})]}),O&&(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Policy Document`}),(0,b.jsx)(`div`,{className:`p-4`,children:(0,b.jsx)(v,{document:O})})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the policy "${S.PolicyName}"? This action cannot be undone.`,isPending:C.isPending,onConfirm:async()=>{try{await C.mutateAsync(t),n({to:`/iam/list-policies`})}finally{T(!1)}},onOpenChange:T,open:w,title:`Delete Policy`})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{to:`/iam/list-policies`,children:`Back to policies`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Policy not found.`})]})}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_roleName.js b/spinifex/services/spinifexui/frontend/dist/assets/_roleName.js index 38d568dcb..a01786040 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_roleName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_roleName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_roleName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/policy-document-viewer.js","assets/inline-policies-panel.js","assets/useQuery.js","assets/input.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/json-editor.js","assets/textarea.js","assets/iam3.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{d as r,g as i,p as a,r as o,v as s}from"./iam2.js";var c=e(`/_auth/iam/(roles)/list-roles/$roleName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(t.roleName)),e.queryClient.ensureQueryData(o(t.roleName)),e.queryClient.ensureQueryData(r(t.roleName)),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i(t.roleName))])},head:({params:e})=>({meta:[{title:`${e.roleName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_roleName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{c as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_roleName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/mutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/policy-document-viewer.js","assets/inline-policies-panel.js","assets/useQuery.js","assets/input.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/separator.js","assets/json-editor.js","assets/textarea.js","assets/iam3.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{d as r,g as i,p as a,r as o,v as s}from"./iam2.js";var c=e(`/_auth/iam/(roles)/list-roles/$roleName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(t.roleName)),e.queryClient.ensureQueryData(o(t.roleName)),e.queryClient.ensureQueryData(r(t.roleName)),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i(t.roleName))])},head:({params:e})=>({meta:[{title:`${e.roleName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_roleName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44])),`component`)});export{c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_roleName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_roleName2.js index 095c40520..3fb7adf57 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_roleName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_roleName2.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{_ as u}from"./iam.js";import{d,v as f}from"./iam2.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./_roleName.js";import{t as g}from"./delete-confirmation-dialog.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./policy-document-viewer.js";import{n as b,t as x}from"./inline-policies-panel.js";var S=e(n()),C=t();function w(){let{roleName:e}=h.useParams(),t=a(),{data:n}=r(f(e)),{data:w}=r(d(e)),T=u(),[E,D]=(0,S.useState)(!1),O=n.Role,k=w.InstanceProfiles??[],A=O?.AssumeRolePolicyDocument?decodeURIComponent(O.AssumeRolePolicyDocument):null;return O?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{to:`/iam/list-roles`,children:`Back to roles`}),T.error&&(0,C.jsx)(p,{error:T.error,msg:`Failed to delete role`}),(0,C.jsxs)(`div`,{className:`space-y-6`,children:[(0,C.jsx)(m,{actions:(0,C.jsxs)(l,{onClick:()=>D(!0),size:`sm`,variant:`destructive`,children:[(0,C.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`Role Details`,title:O.RoleName??``}),(0,C.jsxs)(_,{children:[(0,C.jsx)(_.Header,{children:`Role Information`}),(0,C.jsxs)(_.Content,{children:[(0,C.jsx)(v,{label:`Role Name`,value:O.RoleName}),(0,C.jsx)(v,{label:`Role ID`,value:O.RoleId}),(0,C.jsx)(v,{label:`ARN`,value:O.Arn}),(0,C.jsx)(v,{label:`Path`,value:O.Path}),(0,C.jsx)(v,{label:`Description`,value:O.Description??`-`}),(0,C.jsx)(v,{label:`Created`,value:o(O.CreateDate)})]})]}),A&&(0,C.jsxs)(_,{children:[(0,C.jsx)(_.Header,{children:`Trust Policy`}),(0,C.jsx)(`div`,{className:`p-4`,children:(0,C.jsx)(y,{document:A})})]}),(0,C.jsx)(b,{kind:`role`,name:e}),(0,C.jsx)(x,{kind:`role`,name:e}),(0,C.jsxs)(_,{children:[(0,C.jsx)(_.Header,{children:`Instance Profiles`}),(0,C.jsx)(_.Content,{children:k.length>0?(0,C.jsx)(`div`,{className:`col-span-2 space-y-3`,children:k.map(e=>(0,C.jsxs)(i,{className:`flex items-center justify-between rounded-md border p-3 transition-colors hover:bg-accent`,params:{instanceProfileName:e.InstanceProfileName??``},to:`/iam/list-instance-profiles/$instanceProfileName`,children:[(0,C.jsx)(`p`,{className:`text-sm font-medium`,children:e.InstanceProfileName}),(0,C.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.InstanceProfileName))}):(0,C.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`This role is not in any instance profile.`})})]})]}),(0,C.jsx)(g,{description:`Are you sure you want to delete the role "${e}"? This action cannot be undone. You must detach all policies and remove it from all instance profiles first.`,isPending:T.isPending,onConfirm:async()=>{try{await T.mutateAsync(e),t({to:`/iam/list-roles`})}finally{D(!1)}},onOpenChange:D,open:E,title:`Delete Role`})]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{to:`/iam/list-roles`,children:`Back to roles`}),(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`Role not found.`})]})}export{w as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{_ as u}from"./iam.js";import{d,v as f}from"./iam2.js";import{t as p}from"./_roleName.js";import{t as m}from"./error-banner.js";import{t as h}from"./page-heading.js";import{t as g}from"./delete-confirmation-dialog.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./policy-document-viewer.js";import{n as b,t as x}from"./inline-policies-panel.js";var S=e(n()),C=t();function w(){let{roleName:e}=p.useParams(),t=a(),{data:n}=r(f(e)),{data:w}=r(d(e)),T=u(),[E,D]=(0,S.useState)(!1),O=n.Role,k=w.InstanceProfiles??[],A=O?.AssumeRolePolicyDocument?decodeURIComponent(O.AssumeRolePolicyDocument):null;return O?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{to:`/iam/list-roles`,children:`Back to roles`}),T.error&&(0,C.jsx)(m,{error:T.error,msg:`Failed to delete role`}),(0,C.jsxs)(`div`,{className:`space-y-6`,children:[(0,C.jsx)(h,{actions:(0,C.jsxs)(l,{onClick:()=>D(!0),size:`sm`,variant:`destructive`,children:[(0,C.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`Role Details`,title:O.RoleName??``}),(0,C.jsxs)(_,{children:[(0,C.jsx)(_.Header,{children:`Role Information`}),(0,C.jsxs)(_.Content,{children:[(0,C.jsx)(v,{label:`Role Name`,value:O.RoleName}),(0,C.jsx)(v,{label:`Role ID`,value:O.RoleId}),(0,C.jsx)(v,{label:`ARN`,value:O.Arn}),(0,C.jsx)(v,{label:`Path`,value:O.Path}),(0,C.jsx)(v,{label:`Description`,value:O.Description??`-`}),(0,C.jsx)(v,{label:`Created`,value:o(O.CreateDate)})]})]}),A&&(0,C.jsxs)(_,{children:[(0,C.jsx)(_.Header,{children:`Trust Policy`}),(0,C.jsx)(`div`,{className:`p-4`,children:(0,C.jsx)(y,{document:A})})]}),(0,C.jsx)(b,{kind:`role`,name:e}),(0,C.jsx)(x,{kind:`role`,name:e}),(0,C.jsxs)(_,{children:[(0,C.jsx)(_.Header,{children:`Instance Profiles`}),(0,C.jsx)(_.Content,{children:k.length>0?(0,C.jsx)(`div`,{className:`col-span-2 space-y-3`,children:k.map(e=>(0,C.jsxs)(i,{className:`flex items-center justify-between rounded-md border p-3 transition-colors hover:bg-accent`,params:{instanceProfileName:e.InstanceProfileName??``},to:`/iam/list-instance-profiles/$instanceProfileName`,children:[(0,C.jsx)(`p`,{className:`text-sm font-medium`,children:e.InstanceProfileName}),(0,C.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.InstanceProfileName))}):(0,C.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`This role is not in any instance profile.`})})]})]}),(0,C.jsx)(g,{description:`Are you sure you want to delete the role "${e}"? This action cannot be undone. You must detach all policies and remove it from all instance profiles first.`,isPending:T.isPending,onConfirm:async()=>{try{await T.mutateAsync(e),t({to:`/iam/list-roles`})}finally{D(!1)}},onOpenChange:D,open:E,title:`Delete Role`})]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{to:`/iam/list-roles`,children:`Back to roles`}),(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`Role not found.`})]})}export{w as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_serviceName.js b/spinifex/services/spinifexui/frontend/dist/assets/_serviceName.js index cf838b23b..ea249111e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_serviceName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_serviceName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_serviceName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/back-link.js","assets/createLucideIcon.js","assets/ecs.js","assets/queryOptions.js","assets/cluster-config.js","assets/hex-encoding.js","assets/awsClient.js","assets/index.browser.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,s as i}from"./ecs.js";var a=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.serviceName} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_serviceName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_serviceName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/back-link.js","assets/createLucideIcon.js","assets/ecs.js","assets/queryOptions.js","assets/cluster-config.js","assets/hex-encoding.js","assets/awsClient.js","assets/index.browser.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,s as i}from"./ecs.js";var a=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.serviceName} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_serviceName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_serviceName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_serviceName2.js index 652b94470..5889e5a09 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_serviceName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_serviceName2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{t as i}from"./back-link.js";import{i as a,s as o}from"./ecs.js";import{t as s}from"./page-heading.js";import{t as c}from"./_serviceName.js";import{n as l,t as u}from"./detail-row.js";import{t as d}from"./state-badge.js";var f=t(),p=e();function m(e){return e?.split(`/`).at(-1)??``}function h(e,t){return(e.attachments??[]).find(e=>e.type===`ElasticNetworkInterface`)?.details?.find(e=>e.name===t)?.value}function g(e){let t=(0,f.c)(69),{clusterName:c,serviceName:g}=e,b;t[0]===c?b=t[1]:(b=a(c),t[0]=c,t[1]=b);let{data:x}=n(b),S;t[2]===c?S=t[3]:(S=o(c),t[2]=c,t[3]=S);let{data:C}=n(S),w,T,E,D,O,k,A,j,M,N;if(t[4]!==c||t[5]!==g||t[6]!==x||t[7]!==C){E=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[18]===g?e=t[19]:(e=e=>e.serviceName===g,t[18]=g,t[19]=e);let n=x.find(e);if(!n){let e;t[20]===c?e=t[21]:(e={clusterName:c},t[20]=c,t[21]=e);let n;t[22]!==c||t[23]!==e?(n=(0,p.jsx)(i,{params:e,to:`/ecs/list-clusters/$clusterName`,children:c}),t[22]=c,t[23]=e,t[24]=n):n=t[24];let r;t[25]===g?r=t[26]:(r=(0,p.jsx)(s,{subtitle:`Service Details`,title:g}),t[25]=g,t[26]=r);let a;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`Service not found.`}),t[27]=a):a=t[27];let o;t[28]!==n||t[29]!==r?(o=(0,p.jsxs)(p.Fragment,{children:[n,r,a]}),t[28]=n,t[29]=r,t[30]=o):o=t[30],E=o;break bb0}let a=n.loadBalancers??[],o;t[31]===g?o=t[32]:(o=e=>e.group===`service:${g}`,t[31]=g,t[32]=o);let f=C.filter(o),b=n.deployments??[],S=n.events??[],P;t[33]===c?P=t[34]:(P={clusterName:c},t[33]=c,t[34]=P),t[35]!==c||t[36]!==P?(A=(0,p.jsx)(i,{params:P,to:`/ecs/list-clusters/$clusterName`,children:c}),t[35]=c,t[36]=P,t[37]=A):A=t[37],j=(0,p.jsx)(s,{actions:(0,p.jsx)(d,{state:n.status}),subtitle:`Service Details`,title:g});let F;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,p.jsx)(l.Header,{children:`Configuration`}),t[38]=F):F=t[38];let I=String(n.desiredCount??0),L;t[39]===I?L=t[40]:(L=(0,p.jsx)(u,{label:`Desired count`,value:I}),t[39]=I,t[40]=L);let R=String(n.runningCount??0),z;t[41]===R?z=t[42]:(z=(0,p.jsx)(u,{label:`Running count`,value:R}),t[41]=R,t[42]=z);let B=String(n.pendingCount??0),V;t[43]===B?V=t[44]:(V=(0,p.jsx)(u,{label:`Pending count`,value:B}),t[43]=B,t[44]=V);let H=(0,p.jsxs)(l.Content,{children:[(0,p.jsx)(u,{label:`Status`,value:(0,p.jsx)(d,{state:n.status})}),L,z,V,(0,p.jsx)(u,{label:`Task definition`,value:m(n.taskDefinition)}),(0,p.jsx)(u,{label:`Launch type`,value:n.launchType}),(0,p.jsx)(u,{label:`Scheduling strategy`,value:n.schedulingStrategy})]});t[45]===H?M=t[46]:(M=(0,p.jsxs)(l,{children:[F,H]}),t[45]=H,t[46]=M);let U;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Load balancers`}),t[47]=U):U=t[47];let W=a.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`None`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target Group`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Container`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`})]})}),(0,p.jsx)(`tbody`,{children:a.map(y)})]})});t[48]===W?N=t[49]:(N=(0,p.jsxs)(`div`,{className:`mt-6`,children:[U,W]}),t[48]=W,t[49]=N);let G;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Tasks`}),t[50]=G):G=t[50];let K=f.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`No tasks found.`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Last Status`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Private IP`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Public IP`})]})}),(0,p.jsx)(`tbody`,{children:f.map(e=>{let t=m(e.taskArn);return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,p.jsx)(r,{className:`underline`,params:{clusterName:c,taskId:t},to:`/ecs/list-clusters/$clusterName/tasks/$taskId`,children:t})}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:(0,p.jsx)(d,{state:e.lastStatus})}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:h(e,`privateIPv4Address`)??`—`}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:h(e,`publicIPv4Address`)??`—`})]},t)})})]})});t[51]===K?w=t[52]:(w=(0,p.jsxs)(`div`,{className:`mt-6`,children:[G,K]}),t[51]=K,t[52]=w);let q;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Deployments`}),t[53]=q):q=t[53];let J=b.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`None`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task Definition`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`})]})}),(0,p.jsx)(`tbody`,{children:b.map(v)})]})});t[54]===J?T=t[55]:(T=(0,p.jsxs)(`div`,{className:`mt-6`,children:[q,J]}),t[54]=J,t[55]=T),D=`mt-6`,t[56]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Events`}),t[56]=O):O=t[56],k=S.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`None`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Time`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Message`})]})}),(0,p.jsx)(`tbody`,{children:S.map(_)})]})})}t[4]=c,t[5]=g,t[6]=x,t[7]=C,t[8]=w,t[9]=T,t[10]=E,t[11]=D,t[12]=O,t[13]=k,t[14]=A,t[15]=j,t[16]=M,t[17]=N}else w=t[8],T=t[9],E=t[10],D=t[11],O=t[12],k=t[13],A=t[14],j=t[15],M=t[16],N=t[17];if(E!==Symbol.for(`react.early_return_sentinel`))return E;let P;t[57]!==D||t[58]!==O||t[59]!==k?(P=(0,p.jsxs)(`div`,{className:D,children:[O,k]}),t[57]=D,t[58]=O,t[59]=k,t[60]=P):P=t[60];let F;return t[61]!==w||t[62]!==T||t[63]!==P||t[64]!==A||t[65]!==j||t[66]!==M||t[67]!==N?(F=(0,p.jsxs)(p.Fragment,{children:[A,j,M,N,w,T,P]}),t[61]=w,t[62]=T,t[63]=P,t[64]=A,t[65]=j,t[66]=M,t[67]=N,t[68]=F):F=t[68],F}function _(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.createdAt?new Date(e.createdAt).toISOString():``}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.message})]},e.id)}function v(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.status}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:m(e.taskDefinition)}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredCount??0}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.runningCount??0}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingCount??0})]},e.id)}function y(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:m(e.targetGroupArn)}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.containerName}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.containerPort})]},`${e.targetGroupArn??``}-${e.containerName??``}-${e.containerPort??``}`)}function b(){let e=(0,f.c)(3),{clusterName:t,serviceName:n}=c.useParams(),r;return e[0]!==t||e[1]!==n?(r=(0,p.jsx)(g,{clusterName:t,serviceName:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r}export{b as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{t as i}from"./back-link.js";import{i as a,s as o}from"./ecs.js";import{t as s}from"./_serviceName.js";import{t as c}from"./page-heading.js";import{n as l,t as u}from"./detail-row.js";import{t as d}from"./state-badge.js";var f=t(),p=e();function m(e){return e?.split(`/`).at(-1)??``}function h(e,t){return(e.attachments??[]).find(e=>e.type===`ElasticNetworkInterface`)?.details?.find(e=>e.name===t)?.value}function g(e){let t=(0,f.c)(69),{clusterName:s,serviceName:g}=e,b;t[0]===s?b=t[1]:(b=a(s),t[0]=s,t[1]=b);let{data:x}=n(b),S;t[2]===s?S=t[3]:(S=o(s),t[2]=s,t[3]=S);let{data:C}=n(S),w,T,E,D,O,k,A,j,M,N;if(t[4]!==s||t[5]!==g||t[6]!==x||t[7]!==C){E=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[18]===g?e=t[19]:(e=e=>e.serviceName===g,t[18]=g,t[19]=e);let n=x.find(e);if(!n){let e;t[20]===s?e=t[21]:(e={clusterName:s},t[20]=s,t[21]=e);let n;t[22]!==s||t[23]!==e?(n=(0,p.jsx)(i,{params:e,to:`/ecs/list-clusters/$clusterName`,children:s}),t[22]=s,t[23]=e,t[24]=n):n=t[24];let r;t[25]===g?r=t[26]:(r=(0,p.jsx)(c,{subtitle:`Service Details`,title:g}),t[25]=g,t[26]=r);let a;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`Service not found.`}),t[27]=a):a=t[27];let o;t[28]!==n||t[29]!==r?(o=(0,p.jsxs)(p.Fragment,{children:[n,r,a]}),t[28]=n,t[29]=r,t[30]=o):o=t[30],E=o;break bb0}let a=n.loadBalancers??[],o;t[31]===g?o=t[32]:(o=e=>e.group===`service:${g}`,t[31]=g,t[32]=o);let f=C.filter(o),b=n.deployments??[],S=n.events??[],P;t[33]===s?P=t[34]:(P={clusterName:s},t[33]=s,t[34]=P),t[35]!==s||t[36]!==P?(A=(0,p.jsx)(i,{params:P,to:`/ecs/list-clusters/$clusterName`,children:s}),t[35]=s,t[36]=P,t[37]=A):A=t[37],j=(0,p.jsx)(c,{actions:(0,p.jsx)(d,{state:n.status}),subtitle:`Service Details`,title:g});let F;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,p.jsx)(l.Header,{children:`Configuration`}),t[38]=F):F=t[38];let I=String(n.desiredCount??0),L;t[39]===I?L=t[40]:(L=(0,p.jsx)(u,{label:`Desired count`,value:I}),t[39]=I,t[40]=L);let R=String(n.runningCount??0),z;t[41]===R?z=t[42]:(z=(0,p.jsx)(u,{label:`Running count`,value:R}),t[41]=R,t[42]=z);let B=String(n.pendingCount??0),V;t[43]===B?V=t[44]:(V=(0,p.jsx)(u,{label:`Pending count`,value:B}),t[43]=B,t[44]=V);let H=(0,p.jsxs)(l.Content,{children:[(0,p.jsx)(u,{label:`Status`,value:(0,p.jsx)(d,{state:n.status})}),L,z,V,(0,p.jsx)(u,{label:`Task definition`,value:m(n.taskDefinition)}),(0,p.jsx)(u,{label:`Launch type`,value:n.launchType}),(0,p.jsx)(u,{label:`Scheduling strategy`,value:n.schedulingStrategy})]});t[45]===H?M=t[46]:(M=(0,p.jsxs)(l,{children:[F,H]}),t[45]=H,t[46]=M);let U;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Load balancers`}),t[47]=U):U=t[47];let W=a.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`None`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target Group`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Container`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`})]})}),(0,p.jsx)(`tbody`,{children:a.map(y)})]})});t[48]===W?N=t[49]:(N=(0,p.jsxs)(`div`,{className:`mt-6`,children:[U,W]}),t[48]=W,t[49]=N);let G;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Tasks`}),t[50]=G):G=t[50];let K=f.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`No tasks found.`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Last Status`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Private IP`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Public IP`})]})}),(0,p.jsx)(`tbody`,{children:f.map(e=>{let t=m(e.taskArn);return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,p.jsx)(r,{className:`underline`,params:{clusterName:s,taskId:t},to:`/ecs/list-clusters/$clusterName/tasks/$taskId`,children:t})}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:(0,p.jsx)(d,{state:e.lastStatus})}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:h(e,`privateIPv4Address`)??`—`}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:h(e,`publicIPv4Address`)??`—`})]},t)})})]})});t[51]===K?w=t[52]:(w=(0,p.jsxs)(`div`,{className:`mt-6`,children:[G,K]}),t[51]=K,t[52]=w);let q;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Deployments`}),t[53]=q):q=t[53];let J=b.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`None`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task Definition`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`})]})}),(0,p.jsx)(`tbody`,{children:b.map(v)})]})});t[54]===J?T=t[55]:(T=(0,p.jsxs)(`div`,{className:`mt-6`,children:[q,J]}),t[54]=J,t[55]=T),D=`mt-6`,t[56]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,p.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Events`}),t[56]=O):O=t[56],k=S.length===0?(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`None`}):(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Time`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Message`})]})}),(0,p.jsx)(`tbody`,{children:S.map(_)})]})})}t[4]=s,t[5]=g,t[6]=x,t[7]=C,t[8]=w,t[9]=T,t[10]=E,t[11]=D,t[12]=O,t[13]=k,t[14]=A,t[15]=j,t[16]=M,t[17]=N}else w=t[8],T=t[9],E=t[10],D=t[11],O=t[12],k=t[13],A=t[14],j=t[15],M=t[16],N=t[17];if(E!==Symbol.for(`react.early_return_sentinel`))return E;let P;t[57]!==D||t[58]!==O||t[59]!==k?(P=(0,p.jsxs)(`div`,{className:D,children:[O,k]}),t[57]=D,t[58]=O,t[59]=k,t[60]=P):P=t[60];let F;return t[61]!==w||t[62]!==T||t[63]!==P||t[64]!==A||t[65]!==j||t[66]!==M||t[67]!==N?(F=(0,p.jsxs)(p.Fragment,{children:[A,j,M,N,w,T,P]}),t[61]=w,t[62]=T,t[63]=P,t[64]=A,t[65]=j,t[66]=M,t[67]=N,t[68]=F):F=t[68],F}function _(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.createdAt?new Date(e.createdAt).toISOString():``}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.message})]},e.id)}function v(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.status}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:m(e.taskDefinition)}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredCount??0}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.runningCount??0}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingCount??0})]},e.id)}function y(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:m(e.targetGroupArn)}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.containerName}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.containerPort})]},`${e.targetGroupArn??``}-${e.containerName??``}-${e.containerPort??``}`)}function b(){let e=(0,f.c)(3),{clusterName:t,serviceName:n}=s.useParams(),r;return e[0]!==t||e[1]!==n?(r=(0,p.jsx)(g,{clusterName:t,serviceName:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r}export{b as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_taskId.js b/spinifex/services/spinifexui/frontend/dist/assets/_taskId.js index 7d5b261bf..addeaa5da 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_taskId.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_taskId.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_taskId2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/back-link.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/ecs.js","assets/queryOptions.js","assets/cluster-config.js","assets/hex-encoding.js","assets/awsClient.js","assets/index.browser.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{s as r}from"./ecs.js";var i=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.clusterName))},head:({params:e})=>({meta:[{title:`${e.taskId} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_taskId2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_taskId2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/back-link.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/ecs.js","assets/queryOptions.js","assets/cluster-config.js","assets/hex-encoding.js","assets/awsClient.js","assets/index.browser.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{s as r}from"./ecs.js";var i=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.clusterName))},head:({params:e})=>({meta:[{title:`${e.taskId} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_taskId2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_taskId2.js b/spinifex/services/spinifexui/frontend/dist/assets/_taskId2.js index c181af8ba..f2624c906 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_taskId2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_taskId2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./back-link.js";import{s as i}from"./ecs.js";import{t as a}from"./page-heading.js";import{t as o}from"./_taskId.js";import{n as s,t as c}from"./detail-row.js";import{t as l}from"./state-badge.js";var u=t(),d=e();function f(e){return e?.split(`/`).at(-1)??``}function p(e,t){return e?.details?.find(e=>e.name===t)?.value}function m(e){return e?new Date(e).toISOString():``}function h(e){let t=(0,u.c)(48),{clusterName:o,taskId:h}=e,v;t[0]===o?v=t[1]:(v=i(o),t[0]=o,t[1]=v);let{data:y}=n(v),b,x,S,C,w,T,E,D;if(t[2]!==o||t[3]!==h||t[4]!==y){D=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[13]===h?e=t[14]:(e=e=>(e.taskArn??``).endsWith(h),t[13]=h,t[14]=e);let n=y.find(e);if(!n){let e;t[15]===o?e=t[16]:(e={clusterName:o},t[15]=o,t[16]=e);let n;t[17]!==o||t[18]!==e?(n=(0,d.jsx)(r,{params:e,to:`/ecs/list-clusters/$clusterName`,children:o}),t[17]=o,t[18]=e,t[19]=n):n=t[19];let i;t[20]===h?i=t[21]:(i=(0,d.jsx)(a,{subtitle:`Task Details`,title:h}),t[20]=h,t[21]=i);let s;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`Task not found.`}),t[22]=s):s=t[22];let c;t[23]!==n||t[24]!==i?(c=(0,d.jsxs)(d.Fragment,{children:[n,i,s]}),t[23]=n,t[24]=i,t[25]=c):c=t[25],D=c;break bb0}let i=(n.attachments??[]).find(_),u=n.containers??[],v=u.some(g),O;t[26]===o?O=t[27]:(O={clusterName:o},t[26]=o,t[27]=O),t[28]!==o||t[29]!==O?(C=(0,d.jsx)(r,{params:O,to:`/ecs/list-clusters/$clusterName`,children:o}),t[28]=o,t[29]=O,t[30]=C):C=t[30],w=(0,d.jsx)(a,{actions:(0,d.jsx)(l,{state:n.lastStatus}),subtitle:`Task Details`,title:f(n.taskArn)});let k;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,d.jsx)(s.Header,{children:`Configuration`}),t[31]=k):k=t[31];let A=(0,d.jsxs)(s.Content,{children:[(0,d.jsx)(c,{label:`Task ID`,value:f(n.taskArn)}),(0,d.jsx)(c,{label:`Last status`,value:(0,d.jsx)(l,{state:n.lastStatus})}),(0,d.jsx)(c,{label:`Desired status`,value:n.desiredStatus}),(0,d.jsx)(c,{label:`Task definition`,value:f(n.taskDefinitionArn)}),(0,d.jsx)(c,{label:`Launch type`,value:n.launchType}),(0,d.jsx)(c,{label:`Container instance`,value:f(n.containerInstanceArn)}),(0,d.jsx)(c,{label:`Created at`,value:m(n.createdAt)}),(0,d.jsx)(c,{label:`Started at`,value:m(n.startedAt)}),(0,d.jsx)(c,{label:`Stopped at`,value:m(n.stoppedAt)}),n.stoppedReason?(0,d.jsx)(c,{label:`Stopped reason`,value:n.stoppedReason}):null]});t[32]===A?T=t[33]:(T=(0,d.jsxs)(s,{children:[k,A]}),t[32]=A,t[33]=T);let j;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,d.jsx)(s.Header,{children:`Networking`}),t[34]=j):j=t[34];let M=i?(0,d.jsxs)(s.Content,{children:[(0,d.jsx)(c,{label:`ENI ID`,value:p(i,`networkInterfaceId`)}),(0,d.jsx)(c,{label:`Private IP`,value:p(i,`privateIPv4Address`)}),(0,d.jsx)(c,{label:`Public IP`,value:p(i,`publicIPv4Address`)}),(0,d.jsx)(c,{label:`Subnet`,value:p(i,`subnetId`)}),(0,d.jsx)(c,{label:`MAC`,value:p(i,`macAddress`)})]}):(0,d.jsx)(`div`,{className:`p-4`,children:(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`Network mode does not assign an ENI.`})});t[35]===M?E=t[36]:(E=(0,d.jsx)(`div`,{className:`mt-6`,children:(0,d.jsxs)(s,{children:[j,M]})}),t[35]=M,t[36]=E),b=`mt-6`,t[37]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,d.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Containers`}),t[37]=x):x=t[37],S=u.length===0?(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No containers.`}):(0,d.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,d.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Image`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Exit Code / Reason`}),v&&(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`GPUs`})]})}),(0,d.jsx)(`tbody`,{children:u.map(e=>(0,d.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,d.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:e.name}),(0,d.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.image}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:(0,d.jsx)(l,{state:e.lastStatus})}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.healthStatus}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.exitCode===void 0?e.reason??``:String(e.exitCode)}),v&&(0,d.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.gpuIds&&e.gpuIds.length>0?e.gpuIds.join(`, `):`—`})]},e.name??e.containerArn))})]})})}t[2]=o,t[3]=h,t[4]=y,t[5]=b,t[6]=x,t[7]=S,t[8]=C,t[9]=w,t[10]=T,t[11]=E,t[12]=D}else b=t[5],x=t[6],S=t[7],C=t[8],w=t[9],T=t[10],E=t[11],D=t[12];if(D!==Symbol.for(`react.early_return_sentinel`))return D;let O;t[38]!==b||t[39]!==x||t[40]!==S?(O=(0,d.jsxs)(`div`,{className:b,children:[x,S]}),t[38]=b,t[39]=x,t[40]=S,t[41]=O):O=t[41];let k;return t[42]!==O||t[43]!==C||t[44]!==w||t[45]!==T||t[46]!==E?(k=(0,d.jsxs)(d.Fragment,{children:[C,w,T,E,O]}),t[42]=O,t[43]=C,t[44]=w,t[45]=T,t[46]=E,t[47]=k):k=t[47],k}function g(e){return(e.gpuIds?.length??0)>0}function _(e){return e.type===`ElasticNetworkInterface`}function v(){let e=(0,u.c)(3),{clusterName:t,taskId:n}=o.useParams(),r;return e[0]!==t||e[1]!==n?(r=(0,d.jsx)(h,{clusterName:t,taskId:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r}export{v as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./back-link.js";import{s as i}from"./ecs.js";import{t as a}from"./_taskId.js";import{t as o}from"./page-heading.js";import{n as s,t as c}from"./detail-row.js";import{t as l}from"./state-badge.js";var u=t(),d=e();function f(e){return e?.split(`/`).at(-1)??``}function p(e,t){return e?.details?.find(e=>e.name===t)?.value}function m(e){return e?new Date(e).toISOString():``}function h(e){let t=(0,u.c)(48),{clusterName:a,taskId:h}=e,v;t[0]===a?v=t[1]:(v=i(a),t[0]=a,t[1]=v);let{data:y}=n(v),b,x,S,C,w,T,E,D;if(t[2]!==a||t[3]!==h||t[4]!==y){D=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[13]===h?e=t[14]:(e=e=>(e.taskArn??``).endsWith(h),t[13]=h,t[14]=e);let n=y.find(e);if(!n){let e;t[15]===a?e=t[16]:(e={clusterName:a},t[15]=a,t[16]=e);let n;t[17]!==a||t[18]!==e?(n=(0,d.jsx)(r,{params:e,to:`/ecs/list-clusters/$clusterName`,children:a}),t[17]=a,t[18]=e,t[19]=n):n=t[19];let i;t[20]===h?i=t[21]:(i=(0,d.jsx)(o,{subtitle:`Task Details`,title:h}),t[20]=h,t[21]=i);let s;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`Task not found.`}),t[22]=s):s=t[22];let c;t[23]!==n||t[24]!==i?(c=(0,d.jsxs)(d.Fragment,{children:[n,i,s]}),t[23]=n,t[24]=i,t[25]=c):c=t[25],D=c;break bb0}let i=(n.attachments??[]).find(_),u=n.containers??[],v=u.some(g),O;t[26]===a?O=t[27]:(O={clusterName:a},t[26]=a,t[27]=O),t[28]!==a||t[29]!==O?(C=(0,d.jsx)(r,{params:O,to:`/ecs/list-clusters/$clusterName`,children:a}),t[28]=a,t[29]=O,t[30]=C):C=t[30],w=(0,d.jsx)(o,{actions:(0,d.jsx)(l,{state:n.lastStatus}),subtitle:`Task Details`,title:f(n.taskArn)});let k;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,d.jsx)(s.Header,{children:`Configuration`}),t[31]=k):k=t[31];let A=(0,d.jsxs)(s.Content,{children:[(0,d.jsx)(c,{label:`Task ID`,value:f(n.taskArn)}),(0,d.jsx)(c,{label:`Last status`,value:(0,d.jsx)(l,{state:n.lastStatus})}),(0,d.jsx)(c,{label:`Desired status`,value:n.desiredStatus}),(0,d.jsx)(c,{label:`Task definition`,value:f(n.taskDefinitionArn)}),(0,d.jsx)(c,{label:`Launch type`,value:n.launchType}),(0,d.jsx)(c,{label:`Container instance`,value:f(n.containerInstanceArn)}),(0,d.jsx)(c,{label:`Created at`,value:m(n.createdAt)}),(0,d.jsx)(c,{label:`Started at`,value:m(n.startedAt)}),(0,d.jsx)(c,{label:`Stopped at`,value:m(n.stoppedAt)}),n.stoppedReason?(0,d.jsx)(c,{label:`Stopped reason`,value:n.stoppedReason}):null]});t[32]===A?T=t[33]:(T=(0,d.jsxs)(s,{children:[k,A]}),t[32]=A,t[33]=T);let j;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,d.jsx)(s.Header,{children:`Networking`}),t[34]=j):j=t[34];let M=i?(0,d.jsxs)(s.Content,{children:[(0,d.jsx)(c,{label:`ENI ID`,value:p(i,`networkInterfaceId`)}),(0,d.jsx)(c,{label:`Private IP`,value:p(i,`privateIPv4Address`)}),(0,d.jsx)(c,{label:`Public IP`,value:p(i,`publicIPv4Address`)}),(0,d.jsx)(c,{label:`Subnet`,value:p(i,`subnetId`)}),(0,d.jsx)(c,{label:`MAC`,value:p(i,`macAddress`)})]}):(0,d.jsx)(`div`,{className:`p-4`,children:(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`Network mode does not assign an ENI.`})});t[35]===M?E=t[36]:(E=(0,d.jsx)(`div`,{className:`mt-6`,children:(0,d.jsxs)(s,{children:[j,M]})}),t[35]=M,t[36]=E),b=`mt-6`,t[37]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,d.jsx)(`h2`,{className:`mb-2 font-semibold`,children:`Containers`}),t[37]=x):x=t[37],S=u.length===0?(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No containers.`}):(0,d.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,d.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Image`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Exit Code / Reason`}),v&&(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`GPUs`})]})}),(0,d.jsx)(`tbody`,{children:u.map(e=>(0,d.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,d.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:e.name}),(0,d.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.image}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:(0,d.jsx)(l,{state:e.lastStatus})}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.healthStatus}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.exitCode===void 0?e.reason??``:String(e.exitCode)}),v&&(0,d.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.gpuIds&&e.gpuIds.length>0?e.gpuIds.join(`, `):`—`})]},e.name??e.containerArn))})]})})}t[2]=a,t[3]=h,t[4]=y,t[5]=b,t[6]=x,t[7]=S,t[8]=C,t[9]=w,t[10]=T,t[11]=E,t[12]=D}else b=t[5],x=t[6],S=t[7],C=t[8],w=t[9],T=t[10],E=t[11],D=t[12];if(D!==Symbol.for(`react.early_return_sentinel`))return D;let O;t[38]!==b||t[39]!==x||t[40]!==S?(O=(0,d.jsxs)(`div`,{className:b,children:[x,S]}),t[38]=b,t[39]=x,t[40]=S,t[41]=O):O=t[41];let k;return t[42]!==O||t[43]!==C||t[44]!==w||t[45]!==T||t[46]!==E?(k=(0,d.jsxs)(d.Fragment,{children:[C,w,T,E,O]}),t[42]=O,t[43]=C,t[44]=w,t[45]=T,t[46]=E,t[47]=k):k=t[47],k}function g(e){return(e.gpuIds?.length??0)>0}function _(e){return e.type===`ElasticNetworkInterface`}function v(){let e=(0,u.c)(3),{clusterName:t,taskId:n}=a.useParams(),r;return e[0]!==t||e[1]!==n?(r=(0,d.jsx)(h,{clusterName:t,taskId:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_userName.js b/spinifex/services/spinifexui/frontend/dist/assets/_userName.js index bc9545ed4..c0d0baf3e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_userName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_userName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_userName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/check.js","assets/trash-2.js","assets/triangle-alert.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/iam.js","assets/useMutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/use-copy-to-clipboard.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/inline-policies-panel.js","assets/useQuery.js","assets/input.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/json-editor.js","assets/textarea.js","assets/iam3.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{S as r,b as i,c as a,i as o,p as s,t as c}from"./iam2.js";var l=e(`/_auth/iam/(users)/list-users/$userName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.userName)),e.queryClient.ensureQueryData(c(t.userName)),e.queryClient.ensureQueryData(o(t.userName)),e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(a(t.userName)),e.queryClient.ensureQueryData(i(t.userName))])},head:({params:e})=>({meta:[{title:`${e.userName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_userName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])),`component`)});export{l as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_userName2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/check.js","assets/trash-2.js","assets/triangle-alert.js","assets/button.js","assets/dist.js","assets/iam.js","assets/useMutation.js","assets/mutation.js","assets/awsClient.js","assets/index.browser.js","assets/commandBuilder3.js","assets/iam2.js","assets/queryOptions.js","assets/json.js","assets/use-copy-to-clipboard.js","assets/error-banner.js","assets/page-heading.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/inline-policies-panel.js","assets/useQuery.js","assets/input.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/separator.js","assets/json-editor.js","assets/textarea.js","assets/iam3.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{S as r,b as i,c as a,i as o,p as s,t as c}from"./iam2.js";var l=e(`/_auth/iam/(users)/list-users/$userName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.userName)),e.queryClient.ensureQueryData(c(t.userName)),e.queryClient.ensureQueryData(o(t.userName)),e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(a(t.userName)),e.queryClient.ensureQueryData(i(t.userName))])},head:({params:e})=>({meta:[{title:`${e.userName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_userName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47])),`component`)});export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js index 79be7409a..229cd0a87 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{Qt as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{t as l}from"./check.js";import{t as u}from"./trash-2.js";import{t as d}from"./triangle-alert.js";import{t as f}from"./button.js";import{a as p,c as m,i as h,l as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{O as x,f as S,k as C,o as w,y as T}from"./iam.js";import{S as E,c as D,t as O}from"./iam2.js";import{t as k}from"./use-copy-to-clipboard.js";import{t as A}from"./error-banner.js";import{t as j}from"./page-heading.js";import{t as M}from"./_userName.js";import{t as N}from"./delete-confirmation-dialog.js";import{n as P,t as F}from"./detail-row.js";import{t as I}from"./state-badge.js";import{n as L,t as R}from"./inline-policies-panel.js";var z=e(n()),B=r(),V=t();function H(e){let t=(0,B.c)(27),{onClose:n,accessKeyId:r,secretAccessKey:i}=e,{copied:a,copy:o}=k(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,V.jsxs)(y,{children:[(0,V.jsx)(m,{children:(0,V.jsx)(d,{className:`text-destructive`})}),(0,V.jsx)(g,{children:`Save Your Access Key`}),(0,V.jsx)(p,{children:`This is your only chance to view the secret access key. Please copy it now. You won't be able to retrieve it again.`})]}),t[0]=s):s=t[0];let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Access Key ID: `}),t[1]=c):c=t[1];let u;t[2]===r?u=t[3]:(u=(0,V.jsxs)(`div`,{children:[c,r]}),t[2]=r,t[3]=u);let x;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Secret Access Key: `}),t[4]=x):x=t[4];let S;t[5]===i?S=t[6]:(S=(0,V.jsxs)(`div`,{children:[x,i]}),t[5]=i,t[6]=S);let C;t[7]!==u||t[8]!==S?(C=(0,V.jsxs)(`div`,{className:`space-y-2 rounded-md border p-4 font-mono text-sm`,children:[u,S]}),t[7]=u,t[8]=S,t[9]=C):C=t[9];let w;t[10]!==r||t[11]!==o||t[12]!==i?(w=async()=>await o(`Access Key ID: ${r}\nSecret Access Key: ${i}`),t[10]=r,t[11]=o,t[12]=i,t[13]=w):w=t[13];let T;t[14]===a?T=t[15]:(T=a?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(l,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[14]=a,t[15]=T);let E;t[16]!==w||t[17]!==T?(E=(0,V.jsx)(f,{className:`w-full`,onClick:w,type:`button`,variant:`outline`,children:T}),t[16]=w,t[17]=T,t[18]=E):E=t[18];let D;t[19]!==C||t[20]!==E?(D=(0,V.jsxs)(`div`,{className:`space-y-3`,children:[C,E]}),t[19]=C,t[20]=E,t[21]=D):D=t[21];let O;t[22]===n?O=t[23]:(O=(0,V.jsx)(_,{children:(0,V.jsx)(v,{onClick:n,children:`Close and Continue`})}),t[22]=n,t[23]=O);let A;return t[24]!==D||t[25]!==O?(A=(0,V.jsx)(b,{open:!0,children:(0,V.jsxs)(h,{className:`max-w-2xl`,children:[s,D,O]})}),t[24]=D,t[25]=O,t[26]=A):A=t[26],A}function U(){let{userName:e}=M.useParams(),t=o(),{data:n}=i(E(e)),{data:r}=i(O(e)),{data:l}=i(D(e)),d=T(),p=w(),m=S(),h=C(),g=x(),[_,v]=(0,z.useState)(!1),[y,b]=(0,z.useState)(null),[k,B]=(0,z.useState)(null),[U,W]=(0,z.useState)(null),G=n.User,K=r.AccessKeyMetadata??[],q=l.Groups??[],J=async()=>{try{await d.mutateAsync(e),t({to:`/iam/list-users`})}finally{v(!1)}},Y=async()=>{let t=await p.mutateAsync(e);t.AccessKey&&b({accessKeyId:t.AccessKey.AccessKeyId??``,secretAccessKey:t.AccessKey.SecretAccessKey??``})},X=async t=>{if(t.AccessKeyId){B(t.AccessKeyId);try{await h.mutateAsync({userName:e,accessKeyId:t.AccessKeyId,status:t.Status===`Active`?`Inactive`:`Active`})}finally{B(null)}}},Z=async t=>{B(t);try{await m.mutateAsync({userName:e,accessKeyId:t})}finally{B(null)}},Q=async t=>{W(t);try{await g.mutateAsync({groupName:t,userName:e})}finally{W(null)}};return G?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),d.error&&(0,V.jsx)(A,{error:d.error,msg:`Failed to delete user`}),p.error&&(0,V.jsx)(A,{error:p.error,msg:`Failed to create access key`}),m.error&&(0,V.jsx)(A,{error:m.error,msg:`Failed to delete access key`}),g.error&&(0,V.jsx)(A,{error:g.error,msg:`Failed to remove from group`}),(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsx)(j,{actions:(0,V.jsxs)(f,{onClick:()=>v(!0),size:`sm`,variant:`destructive`,children:[(0,V.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`User Details`,title:G.UserName??``}),(0,V.jsxs)(P,{children:[(0,V.jsx)(P.Header,{children:`User Information`}),(0,V.jsxs)(P.Content,{children:[(0,V.jsx)(F,{label:`User Name`,value:G.UserName}),(0,V.jsx)(F,{label:`User ID`,value:G.UserId}),(0,V.jsx)(F,{label:`ARN`,value:G.Arn}),(0,V.jsx)(F,{label:`Path`,value:G.Path}),(0,V.jsx)(F,{label:`Created`,value:s(G.CreateDate)})]})]}),(0,V.jsxs)(P,{children:[(0,V.jsx)(P.Header,{children:(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(`span`,{children:`Access Keys`}),(0,V.jsx)(f,{disabled:p.isPending,onClick:Y,size:`sm`,children:p.isPending?`Creating...`:`Create Access Key`})]})}),(0,V.jsx)(P.Content,{children:K.length>0?(0,V.jsx)(`div`,{className:`col-span-2 space-y-3`,children:K.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(`p`,{className:`font-mono text-sm`,children:e.AccessKeyId}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Created `,s(e.CreateDate)]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(I,{state:e.Status}),(0,V.jsx)(f,{disabled:k===e.AccessKeyId,onClick:async()=>await X(e),size:`sm`,variant:`outline`,children:e.Status===`Active`?`Deactivate`:`Activate`}),(0,V.jsx)(f,{disabled:k===e.AccessKeyId,onClick:()=>{e.AccessKeyId&&Z(e.AccessKeyId)},size:`sm`,variant:`destructive`,children:`Delete`})]})]},e.AccessKeyId))}):(0,V.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No access keys.`})})]}),(0,V.jsx)(L,{kind:`user`,name:e}),(0,V.jsx)(R,{kind:`user`,name:e}),(0,V.jsxs)(P,{children:[(0,V.jsx)(P.Header,{children:`Groups`}),(0,V.jsx)(P.Content,{children:q.length>0?(0,V.jsx)(`div`,{className:`col-span-2 space-y-3`,children:q.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,V.jsx)(a,{className:`text-sm font-medium hover:underline`,params:{groupName:e.GroupName??``},to:`/iam/list-groups/$groupName`,children:e.GroupName}),(0,V.jsx)(f,{disabled:U===e.GroupName,onClick:()=>{e.GroupName&&Q(e.GroupName)},size:`sm`,variant:`outline`,children:`Remove`})]},e.GroupName))}):(0,V.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`Not a member of any group.`})})]})]}),(0,V.jsx)(N,{description:`Are you sure you want to delete the user "${e}"? This action cannot be undone. You must detach all policies and delete all access keys first.`,isPending:d.isPending,onConfirm:J,onOpenChange:v,open:_,title:`Delete User`}),y&&(0,V.jsx)(H,{accessKeyId:y.accessKeyId,onClose:()=>b(null),secretAccessKey:y.secretAccessKey})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),(0,V.jsx)(`p`,{className:`text-muted-foreground`,children:`User not found.`})]})}export{U as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{Qt as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{t as l}from"./check.js";import{t as u}from"./trash-2.js";import{t as d}from"./triangle-alert.js";import{t as f}from"./button.js";import{O as p,f as m,k as h,o as g,y as _}from"./iam.js";import{S as v,c as y,t as b}from"./iam2.js";import{t as x}from"./_userName.js";import{t as S}from"./use-copy-to-clipboard.js";import{t as C}from"./error-banner.js";import{t as w}from"./page-heading.js";import{a as T,c as E,i as D,l as O,o as k,r as A,s as j,t as M}from"./alert-dialog.js";import{t as N}from"./delete-confirmation-dialog.js";import{n as P,t as F}from"./detail-row.js";import{t as I}from"./state-badge.js";import{n as L,t as R}from"./inline-policies-panel.js";var z=e(n()),B=r(),V=t();function H(e){let t=(0,B.c)(27),{onClose:n,accessKeyId:r,secretAccessKey:i}=e,{copied:a,copy:o}=S(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,V.jsxs)(j,{children:[(0,V.jsx)(E,{children:(0,V.jsx)(d,{className:`text-destructive`})}),(0,V.jsx)(O,{children:`Save Your Access Key`}),(0,V.jsx)(T,{children:`This is your only chance to view the secret access key. Please copy it now. You won't be able to retrieve it again.`})]}),t[0]=s):s=t[0];let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Access Key ID: `}),t[1]=c):c=t[1];let u;t[2]===r?u=t[3]:(u=(0,V.jsxs)(`div`,{children:[c,r]}),t[2]=r,t[3]=u);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Secret Access Key: `}),t[4]=p):p=t[4];let m;t[5]===i?m=t[6]:(m=(0,V.jsxs)(`div`,{children:[p,i]}),t[5]=i,t[6]=m);let h;t[7]!==u||t[8]!==m?(h=(0,V.jsxs)(`div`,{className:`space-y-2 rounded-md border p-4 font-mono text-sm`,children:[u,m]}),t[7]=u,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==r||t[11]!==o||t[12]!==i?(g=async()=>await o(`Access Key ID: ${r}\nSecret Access Key: ${i}`),t[10]=r,t[11]=o,t[12]=i,t[13]=g):g=t[13];let _;t[14]===a?_=t[15]:(_=a?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(l,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[14]=a,t[15]=_);let v;t[16]!==g||t[17]!==_?(v=(0,V.jsx)(f,{className:`w-full`,onClick:g,type:`button`,variant:`outline`,children:_}),t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==h||t[20]!==v?(y=(0,V.jsxs)(`div`,{className:`space-y-3`,children:[h,v]}),t[19]=h,t[20]=v,t[21]=y):y=t[21];let b;t[22]===n?b=t[23]:(b=(0,V.jsx)(k,{children:(0,V.jsx)(A,{onClick:n,children:`Close and Continue`})}),t[22]=n,t[23]=b);let x;return t[24]!==y||t[25]!==b?(x=(0,V.jsx)(M,{open:!0,children:(0,V.jsxs)(D,{className:`max-w-2xl`,children:[s,y,b]})}),t[24]=y,t[25]=b,t[26]=x):x=t[26],x}function U(){let{userName:e}=x.useParams(),t=o(),{data:n}=i(v(e)),{data:r}=i(b(e)),{data:l}=i(y(e)),d=_(),S=g(),T=m(),E=h(),D=p(),[O,k]=(0,z.useState)(!1),[A,j]=(0,z.useState)(null),[M,B]=(0,z.useState)(null),[U,W]=(0,z.useState)(null),G=n.User,K=r.AccessKeyMetadata??[],q=l.Groups??[],J=async()=>{try{await d.mutateAsync(e),t({to:`/iam/list-users`})}finally{k(!1)}},Y=async()=>{let t=await S.mutateAsync(e);t.AccessKey&&j({accessKeyId:t.AccessKey.AccessKeyId??``,secretAccessKey:t.AccessKey.SecretAccessKey??``})},X=async t=>{if(t.AccessKeyId){B(t.AccessKeyId);try{await E.mutateAsync({userName:e,accessKeyId:t.AccessKeyId,status:t.Status===`Active`?`Inactive`:`Active`})}finally{B(null)}}},Z=async t=>{B(t);try{await T.mutateAsync({userName:e,accessKeyId:t})}finally{B(null)}},Q=async t=>{W(t);try{await D.mutateAsync({groupName:t,userName:e})}finally{W(null)}};return G?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),d.error&&(0,V.jsx)(C,{error:d.error,msg:`Failed to delete user`}),S.error&&(0,V.jsx)(C,{error:S.error,msg:`Failed to create access key`}),T.error&&(0,V.jsx)(C,{error:T.error,msg:`Failed to delete access key`}),D.error&&(0,V.jsx)(C,{error:D.error,msg:`Failed to remove from group`}),(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsx)(w,{actions:(0,V.jsxs)(f,{onClick:()=>k(!0),size:`sm`,variant:`destructive`,children:[(0,V.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`User Details`,title:G.UserName??``}),(0,V.jsxs)(P,{children:[(0,V.jsx)(P.Header,{children:`User Information`}),(0,V.jsxs)(P.Content,{children:[(0,V.jsx)(F,{label:`User Name`,value:G.UserName}),(0,V.jsx)(F,{label:`User ID`,value:G.UserId}),(0,V.jsx)(F,{label:`ARN`,value:G.Arn}),(0,V.jsx)(F,{label:`Path`,value:G.Path}),(0,V.jsx)(F,{label:`Created`,value:s(G.CreateDate)})]})]}),(0,V.jsxs)(P,{children:[(0,V.jsx)(P.Header,{children:(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(`span`,{children:`Access Keys`}),(0,V.jsx)(f,{disabled:S.isPending,onClick:Y,size:`sm`,children:S.isPending?`Creating...`:`Create Access Key`})]})}),(0,V.jsx)(P.Content,{children:K.length>0?(0,V.jsx)(`div`,{className:`col-span-2 space-y-3`,children:K.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(`p`,{className:`font-mono text-sm`,children:e.AccessKeyId}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Created `,s(e.CreateDate)]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(I,{state:e.Status}),(0,V.jsx)(f,{disabled:M===e.AccessKeyId,onClick:async()=>await X(e),size:`sm`,variant:`outline`,children:e.Status===`Active`?`Deactivate`:`Activate`}),(0,V.jsx)(f,{disabled:M===e.AccessKeyId,onClick:()=>{e.AccessKeyId&&Z(e.AccessKeyId)},size:`sm`,variant:`destructive`,children:`Delete`})]})]},e.AccessKeyId))}):(0,V.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No access keys.`})})]}),(0,V.jsx)(L,{kind:`user`,name:e}),(0,V.jsx)(R,{kind:`user`,name:e}),(0,V.jsxs)(P,{children:[(0,V.jsx)(P.Header,{children:`Groups`}),(0,V.jsx)(P.Content,{children:q.length>0?(0,V.jsx)(`div`,{className:`col-span-2 space-y-3`,children:q.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,V.jsx)(a,{className:`text-sm font-medium hover:underline`,params:{groupName:e.GroupName??``},to:`/iam/list-groups/$groupName`,children:e.GroupName}),(0,V.jsx)(f,{disabled:U===e.GroupName,onClick:()=>{e.GroupName&&Q(e.GroupName)},size:`sm`,variant:`outline`,children:`Remove`})]},e.GroupName))}):(0,V.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`Not a member of any group.`})})]})]}),(0,V.jsx)(N,{description:`Are you sure you want to delete the user "${e}"? This action cannot be undone. You must detach all policies and delete all access keys first.`,isPending:d.isPending,onConfirm:J,onOpenChange:k,open:O,title:`Delete User`}),A&&(0,V.jsx)(H,{accessKeyId:A.accessKeyId,onClose:()=>j(null),secretAccessKey:A.secretAccessKey})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),(0,V.jsx)(`p`,{className:`text-muted-foreground`,children:`User not found.`})]})}export{U as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js index 11e798e7d..10265023a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{a as i,o as a}from"./useValueAsRef.js";import{a as o,n as s,u as c}from"./dist.js";import{Yt as l}from"./cluster-config.js";import{o as u,r as d,t as f}from"./button.js";import{b as p,r as m,s as h,t as g,x as _,y as v}from"./createBaseUIEventDetails.js";import{A as y,C as b,E as x,G as S,P as C,S as w,T,W as E,_ as D,b as O,c as k,h as A,j,m as ee,n as te,p as M,r as ne,t as re,v as ie,x as ae,y as oe}from"./useScrollLock.js";var N=e(n(),1),P=N.createContext(void 0);function F(e){let t=N.useContext(P);if(!e&&t===void 0)throw Error(c(27));return t}var I=N.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...o}=e,c=F(),l=c.useState(`open`),u=c.useState(`nested`),d=c.useState(`mounted`),f={open:l,transitionStatus:c.useState(`transitionStatus`)};return s(`div`,e,{state:f,ref:[c.context.backdropRef,t],stateAttributesMapping:S,props:[{role:`presentation`,hidden:!d,style:{userSelect:`none`,WebkitUserSelect:`none`}},o],enabled:a||!u})}),L=N.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,...c}=e,l=F(),u=l.useState(`open`),{getButtonProps:f,buttonRef:p}=d({disabled:a,native:o}),h={disabled:a};function _(e){u&&l.setOpen(!1,g(m,e.nativeEvent))}return s(`button`,e,{state:h,ref:[t,p],props:[{onClick:_},c,f]})}),R=N.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,c=F(),l=_(a);return c.useSyncedValueWithCleanup(`descriptionElementId`,l),s(`p`,e,{ref:t,props:[{id:l},o]})});function se(){return new T({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new M,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function z(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:se(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:o,inactiveTriggerProps:o,popupProps:o}}function B(e,t,n=!1){return new T({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0})}var V=e=>e.triggerIdProp??e.activeTriggerId,H=e=>e.openProp??e.open,U=e=>(e.popupElement?.id??e.floatingId)||void 0;function W(e,t){return t!==void 0&&H(e)&&V(e)===t}function ce(e,t){return W(e,t)?!0:t!==void 0&&H(e)&&V(e)==null&&e.triggerCount===1}var G={open:H,mounted:e=>e.mounted,transitionStatus:e=>e.transitionStatus,floatingRootContext:e=>e.floatingRootContext,triggerCount:e=>e.triggerCount,preventUnmountingOnClose:e=>e.preventUnmountingOnClose,payload:e=>e.payload,activeTriggerId:V,activeTriggerElement:e=>e.mounted?e.activeTriggerElement:null,popupId:U,isTriggerActive:(e,t)=>t!==void 0&&V(e)===t,isOpenedByTrigger:(e,t)=>W(e,t),isMountedByTrigger:(e,t)=>t!==void 0&&V(e)===t&&e.mounted,triggerProps:(e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps,triggerPopupId:(e,t)=>ce(e,t)?U(e):void 0,popupProps:e=>e.popupProps,popupElement:e=>e.popupElement,positionerElement:e=>e.positionerElement},K=N.createContext(void 0);function le(){let e=N.useContext(K);if(e===void 0)throw Error(c(26));return e}var q={...E,...i,nestedDialogOpen(e){return e?{"data-nested-dialog-open":``}:null}},J=t(),Y=N.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:o,initialFocus:c,...l}=e,u=F(),d=u.useState(`descriptionElementId`),f=u.useState(`disablePointerDismissal`),p=u.useState(`floatingRootContext`),m=u.useState(`popupProps`),h=u.useState(`modal`),g=u.useState(`mounted`),_=u.useState(`nested`),v=u.useState(`nestedOpenDialogCount`),y=u.useState(`open`),b=u.useState(`openMethod`),x=u.useState(`titleElementId`),S=u.useState(`transitionStatus`),C=u.useState(`role`),w=p.useState(`floatingId`);le(),a({open:y,ref:u.context.popupRef,onComplete(){y&&u.context.onOpenChangeComplete?.(!0)}});let T=c===void 0?D(u.context.popupRef):c,E=v>0,O=u.useStateSetter(`popupElement`),A=s(`div`,e,{state:{open:y,nested:_,transitionStatus:S,nestedDialogOpen:E},props:[m,{id:w,"aria-labelledby":x,"aria-describedby":d,role:C,...ee,hidden:!g,onKeyDown(e){k.has(e.key)&&e.stopPropagation()},style:{"--nested-dialogs":v}},l],ref:[t,u.context.popupRef,O],stateAttributesMapping:q});return(0,J.jsx)(j,{context:p,openInteractionType:b,disabled:!g,closeOnFocusOut:!f,initialFocus:T,returnFocus:o,modal:h!==!1,restoreFocus:`popup`,children:A})}),X=N.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,i=F(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,J.jsx)(K.Provider,{value:n,children:(0,J.jsxs)(C,{ref:t,...r,children:[a&&o===!0&&(0,J.jsx)(te,{ref:i.context.internalBackdropRef,inert:ne(!s)}),e.children]})}):null});function ue({store:e,parentContext:t,isDrawer:n}){let r=e.useState(`open`),i=e.useState(`disablePointerDismissal`),a=e.useState(`modal`),o=e.useState(`popupElement`),s=e.useState(`floatingRootContext`),[c,l]=N.useState(0),[d,f]=N.useState(0),m=c===0,h=y(s,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?`intentional`:{mouse:a===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(t){if(!e.context.outsidePressEnabledRef.current||`button`in t&&t.button!==0)return!1;if(`touches`in t){if(t.type===`touchend`){if(t.changedTouches.length!==1||t.touches.length!==0)return!1}else if(t.touches.length!==1)return!1}let n=p(t);if(m&&!i){if(a){let t=e.context.internalBackdropRef.current,r=e.context.backdropRef.current;return t||r?t===n||r===n||v(n,o)&&!n?.hasAttribute(`data-base-ui-portal`):!0}return!0}return!1},escapeKey:m});return re(r&&a===!0,o),e.useContextCallback(`onNestedDialogOpen`,(e,t)=>{l(e),f(t)}),u(()=>(t?.onNestedDialogOpen&&(r?t.onNestedDialogOpen(c+1,d+ +!!n):t.onNestedDialogOpen(0,0)),()=>{t?.onNestedDialogOpen&&r&&t.onNestedDialogOpen(0,0)}),[n,r,c,d,t]),ae(e,{activeTriggerProps:h.reference,inactiveTriggerProps:h.trigger,popupProps:h.floating,nestedOpenDialogCount:c,nestedOpenDrawerCount:d}),null}var de={...G,modal:e=>e.modal,nested:e=>e.nested,nestedOpenDialogCount:e=>e.nestedOpenDialogCount,nestedOpenDrawerCount:e=>e.nestedOpenDrawerCount,disablePointerDismissal:e=>e.disablePointerDismissal,openMethod:e=>e.openMethod,descriptionElementId:e=>e.descriptionElementId,titleElementId:e=>e.titleElementId,viewportElement:e=>e.viewportElement,role:e=>e.role},fe=class extends x{constructor(e,t,n){let r=new M,i=pe(e,r,t,n);super(i,me(r),de)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let n={open:e};ie(n,e,t.trigger),this.update(n)}};function pe(e,t,n,r=!1){let i={...z(),modal:!0,disablePointerDismissal:!1,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:`dialog`,...e};return i.floatingRootContext=B(t,n,r),i}function me(e){return{popupRef:N.createRef(),backdropRef:N.createRef(),internalBackdropRef:N.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:e,onOpenChange:void 0,onOpenChangeComplete:void 0}}function Z(e,t){let{children:n,open:r,defaultOpen:i=!1,onOpenChange:a,onOpenChangeComplete:o,disablePointerDismissal:s=!1,modal:c=!0,actionsRef:l,handle:u,triggerId:d,defaultTriggerId:f=null}=t,p=e===`drawer`,m=e===`alert-dialog`,_=m?!0:c,v=m||s,y=m?`alertdialog`:`dialog`,x=F(!0),S={modal:_,disablePointerDismissal:v,nested:x!=null,role:y},C=w((e,t)=>new fe({open:i,openProp:r,activeTriggerId:f,triggerIdProp:d,...S},e,t),!0);C.useControlledProp(`openProp`,r),C.useControlledProp(`triggerIdProp`,d),C.useSyncedValues(S),C.useContextCallback(`onOpenChange`,a),C.useContextCallback(`onOpenChangeComplete`,o);let T=C.useState(`open`),E=C.useState(`mounted`),D=C.useState(`payload`);b(C,T),oe(C);let{forceUnmount:k}=O(T,C);N.useImperativeHandle(l,()=>({unmount:k,close:()=>C.setOpen(!1,g(h))}),[k,C]);let j=T||E;return(0,J.jsxs)(P.Provider,{value:C,children:[u&&(0,J.jsx)(A,{handle:u,store:C}),j&&(0,J.jsx)(ue,{store:C,parentContext:x?.context,isDrawer:p}),typeof n==`function`?n({payload:D}):n]})}var Q=N.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,c=F(),l=_(a);return c.useSyncedValueWithCleanup(`titleElementId`,l),s(`h2`,e,{ref:t,props:[{id:l},o]})});function he(e){return Z(`alert-dialog`,e)}var $=r();function ge(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,J.jsx)(he,{"data-slot":`alert-dialog`,...n}),t[2]=n,t[3]=r),r}function _e(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,J.jsx)(X,{"data-slot":`alert-dialog-portal`,...n}),t[2]=n,t[3]=r),r}function ve(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(I,{className:i,"data-slot":`alert-dialog-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ye(e){let t=(0,$.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`default`:i,o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(ve,{}),t[4]=o):o=t[4];let s;t[5]===n?s=t[6]:(s=l(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 group/alert-dialog-content data-closed:animate-out data-open:animate-in fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-3 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm`,n),t[5]=n,t[6]=s);let c;return t[7]!==r||t[8]!==a||t[9]!==s?(c=(0,J.jsxs)(_e,{children:[o,(0,J.jsx)(Y,{className:s,"data-size":a,"data-slot":`alert-dialog-content`,...r})]}),t[7]=r,t[8]=a,t[9]=s,t[10]=c):c=t[10],c}function be(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(`div`,{className:i,"data-slot":`alert-dialog-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function xe(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(`div`,{className:i,"data-slot":`alert-dialog-footer`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Se(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`mb-2 inline-flex size-8 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(`div`,{className:i,"data-slot":`alert-dialog-media`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ce(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(Q,{className:i,"data-slot":`alert-dialog-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function we(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`text-xs/relaxed text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(R,{className:i,"data-slot":`alert-dialog-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Te(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(f,{className:i,"data-slot":`alert-dialog-action`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ee(e){let t=(0,$.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,variant:i,size:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=i===void 0?`outline`:i,s=a===void 0?`default`:a,c;t[5]===n?c=t[6]:(c=l(n),t[5]=n,t[6]=c);let u;t[7]!==s||t[8]!==o?(u=(0,J.jsx)(f,{size:s,variant:o}),t[7]=s,t[8]=o,t[9]=u):u=t[9];let d;return t[10]!==r||t[11]!==c||t[12]!==u?(d=(0,J.jsx)(L,{className:c,"data-slot":`alert-dialog-cancel`,render:u,...r}),t[10]=r,t[11]=c,t[12]=u,t[13]=d):d=t[13],d}export{R as _,we as a,Se as c,Z as d,X as f,G as g,B as h,ye as i,Ce as l,z as m,Te as n,xe as o,Y as p,Ee as r,be as s,ge as t,Q as u,L as v,I as y}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{Yt as n}from"./cluster-config.js";import{t as r}from"./button.js";import{c as i,i as a,l as o,n as s,r as c,t as l,u}from"./DialogTitle.js";function d(e){return s(`alert-dialog`,e)}var f=t(),p=e();function m(e){let t=(0,f.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,p.jsx)(d,{"data-slot":`alert-dialog`,...n}),t[2]=n,t[3]=r),r}function h(e){let t=(0,f.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,p.jsx)(c,{"data-slot":`alert-dialog-portal`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,f.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,p.jsx)(u,{className:a,"data-slot":`alert-dialog-overlay`,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function _(e){let t=(0,f.c)(11),r,i,o;t[0]===e?(r=t[1],i=t[2],o=t[3]):({className:r,size:o,...i}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=o);let s=o===void 0?`default`:o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,p.jsx)(g,{}),t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=n(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 group/alert-dialog-content data-closed:animate-out data-open:animate-in fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-3 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm`,r),t[5]=r,t[6]=l);let u;return t[7]!==i||t[8]!==s||t[9]!==l?(u=(0,p.jsxs)(h,{children:[c,(0,p.jsx)(a,{className:l,"data-size":s,"data-slot":`alert-dialog-content`,...i})]}),t[7]=i,t[8]=s,t[9]=l,t[10]=u):u=t[10],u}function v(e){let t=(0,f.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,p.jsx)(`div`,{className:a,"data-slot":`alert-dialog-header`,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,f.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,p.jsx)(`div`,{className:a,"data-slot":`alert-dialog-footer`,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,f.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`mb-2 inline-flex size-8 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-4`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,p.jsx)(`div`,{className:a,"data-slot":`alert-dialog-media`,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,f.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,p.jsx)(l,{className:a,"data-slot":`alert-dialog-title`,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function S(e){let t=(0,f.c)(8),r,a;t[0]===e?(r=t[1],a=t[2]):({className:r,...a}=e,t[0]=e,t[1]=r,t[2]=a);let o;t[3]===r?o=t[4]:(o=n(`text-xs/relaxed text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,r),t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,p.jsx)(i,{className:o,"data-slot":`alert-dialog-description`,...a}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function C(e){let t=(0,f.c)(8),i,a;t[0]===e?(i=t[1],a=t[2]):({className:i,...a}=e,t[0]=e,t[1]=i,t[2]=a);let o;t[3]===i?o=t[4]:(o=n(i),t[3]=i,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,p.jsx)(r,{className:o,"data-slot":`alert-dialog-action`,...a}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function w(e){let t=(0,f.c)(14),i,a,s,c;t[0]===e?(i=t[1],a=t[2],s=t[3],c=t[4]):({className:i,variant:s,size:c,...a}=e,t[0]=e,t[1]=i,t[2]=a,t[3]=s,t[4]=c);let l=s===void 0?`outline`:s,u=c===void 0?`default`:c,d;t[5]===i?d=t[6]:(d=n(i),t[5]=i,t[6]=d);let m;t[7]!==u||t[8]!==l?(m=(0,p.jsx)(r,{size:u,variant:l}),t[7]=u,t[8]=l,t[9]=m):m=t[9];let h;return t[10]!==a||t[11]!==d||t[12]!==m?(h=(0,p.jsx)(o,{className:d,"data-slot":`alert-dialog-cancel`,render:m,...a}),t[10]=a,t[11]=d,t[12]=m,t[13]=h):h=t[13],h}export{S as a,b as c,_ as i,x as l,C as n,y as o,w as r,v as s,m as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/allocate-address.js b/spinifex/services/spinifexui/frontend/dist/assets/allocate-address.js index 0ec1a8c8f..0613bab23 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/allocate-address.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/allocate-address.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,t as s}from"./field.js";import{n as c}from"./ec22.js";import{a as l,i as u,t as d}from"./zod.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{n as m}from"./ec23.js";import{t as h}from"./form-actions.js";var g=t(),_=e();function v(){let e=(0,g.c)(36),t=n(),v=c(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:d(m),defaultValues:{name:``}},e[0]=b):b=e[0];let{control:x,handleSubmit:S,register:C,formState:w}=u(b),{isSubmitting:T}=w,E;e[1]===x?E=e[2]:(E={control:x},e[1]=x,e[2]=E);let D=l(E),O;e[3]!==v||e[4]!==t?(O=async e=>{let n=(await v.mutateAsync({name:e.name?.trim()??void 0})).AllocationId;t(n?{to:`/ec2/describe-addresses/$id`,params:{id:n}}:{to:`/ec2/describe-addresses`})},e[3]=v,e[4]=t,e[5]=O):O=e[5];let k=O,A,j;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,_.jsx)(r,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),j=(0,_.jsx)(p,{title:`Allocate Elastic IP`}),e[6]=A,e[7]=j):(A=e[6],j=e[7]);let M;e[8]===v.error?M=e[9]:(M=v.error&&(0,_.jsx)(f,{error:v.error,msg:`Failed to allocate Elastic IP`}),e[8]=v.error,e[9]=M);let N;e[10]!==S||e[11]!==k?(N=S(k),e[10]=S,e[11]=k,e[12]=N):N=e[12];let P;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,_.jsx)(o,{children:(0,_.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[13]=P):P=e[13];let F;e[14]===C?F=e[15]:(F=C(`name`),e[14]=C,e[15]=F);let I;e[16]===F?I=e[17]:(I=(0,_.jsxs)(s,{children:[P,(0,_.jsx)(a,{id:`name`,placeholder:`my-elastic-ip`,...F})]}),e[16]=F,e[17]=I);let L=D.name??``,R;e[18]===L?R=e[19]:(R=y(L),e[18]=L,e[19]=R);let z;e[20]===R?z=e[21]:(z=(0,_.jsx)(i,{commands:R}),e[20]=R,e[21]=z);let B;e[22]===t?B=e[23]:(B=async()=>await t({to:`/ec2/describe-addresses`}),e[22]=t,e[23]=B);let V;e[24]!==v.isPending||e[25]!==T||e[26]!==B?(V=(0,_.jsx)(h,{isPending:v.isPending,isSubmitting:T,onCancel:B,pendingLabel:`Allocating…`,submitLabel:`Allocate`}),e[24]=v.isPending,e[25]=T,e[26]=B,e[27]=V):V=e[27];let H;e[28]!==I||e[29]!==z||e[30]!==V||e[31]!==N?(H=(0,_.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[I,z,V]}),e[28]=I,e[29]=z,e[30]=V,e[31]=N,e[32]=H):H=e[32];let U;return e[33]!==H||e[34]!==M?(U=(0,_.jsxs)(_.Fragment,{children:[A,j,M,H]}),e[33]=H,e[34]=M,e[35]=U):U=e[35],U}function y(e){let t=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 allocate-address`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{n as o}from"./ec22.js";import{a as s,i as c,t as l}from"./zod.js";import{t as u}from"./error-banner.js";import{t as d}from"./form-actions.js";import{t as f}from"./page-heading.js";import{a as p,t as m}from"./field.js";import{n as h}from"./ec23.js";var g=t(),_=e();function v(){let e=(0,g.c)(36),t=n(),v=o(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:l(h),defaultValues:{name:``}},e[0]=b):b=e[0];let{control:x,handleSubmit:S,register:C,formState:w}=c(b),{isSubmitting:T}=w,E;e[1]===x?E=e[2]:(E={control:x},e[1]=x,e[2]=E);let D=s(E),O;e[3]!==v||e[4]!==t?(O=async e=>{let n=(await v.mutateAsync({name:e.name?.trim()??void 0})).AllocationId;t(n?{to:`/ec2/describe-addresses/$id`,params:{id:n}}:{to:`/ec2/describe-addresses`})},e[3]=v,e[4]=t,e[5]=O):O=e[5];let k=O,A,j;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,_.jsx)(r,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),j=(0,_.jsx)(f,{title:`Allocate Elastic IP`}),e[6]=A,e[7]=j):(A=e[6],j=e[7]);let M;e[8]===v.error?M=e[9]:(M=v.error&&(0,_.jsx)(u,{error:v.error,msg:`Failed to allocate Elastic IP`}),e[8]=v.error,e[9]=M);let N;e[10]!==S||e[11]!==k?(N=S(k),e[10]=S,e[11]=k,e[12]=N):N=e[12];let P;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,_.jsx)(p,{children:(0,_.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[13]=P):P=e[13];let F;e[14]===C?F=e[15]:(F=C(`name`),e[14]=C,e[15]=F);let I;e[16]===F?I=e[17]:(I=(0,_.jsxs)(m,{children:[P,(0,_.jsx)(a,{id:`name`,placeholder:`my-elastic-ip`,...F})]}),e[16]=F,e[17]=I);let L=D.name??``,R;e[18]===L?R=e[19]:(R=y(L),e[18]=L,e[19]=R);let z;e[20]===R?z=e[21]:(z=(0,_.jsx)(i,{commands:R}),e[20]=R,e[21]=z);let B;e[22]===t?B=e[23]:(B=async()=>await t({to:`/ec2/describe-addresses`}),e[22]=t,e[23]=B);let V;e[24]!==v.isPending||e[25]!==T||e[26]!==B?(V=(0,_.jsx)(d,{isPending:v.isPending,isSubmitting:T,onCancel:B,pendingLabel:`Allocating…`,submitLabel:`Allocate`}),e[24]=v.isPending,e[25]=T,e[26]=B,e[27]=V):V=e[27];let H;e[28]!==I||e[29]!==z||e[30]!==V||e[31]!==N?(H=(0,_.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[I,z,V]}),e[28]=I,e[29]=z,e[30]=V,e[31]=N,e[32]=H):H=e[32];let U;return e[33]!==H||e[34]!==M?(U=(0,_.jsxs)(_.Fragment,{children:[A,j,M,H]}),e[33]=H,e[34]=M,e[35]=U):U=e[35],U}function y(e){let t=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 allocate-address`},{type:`flag`,value:` \\ --domain`},{type:`value`,value:` vpc`}];return e.trim()&&t.push({type:`flag`,value:` \\ --tag-specifications`},{type:`value`,value:` 'ResourceType=elastic-ip,Tags=[{Key=Name,Value=${e.trim()}}]'`}),[{label:`Allocate Elastic IP`,parts:t}]}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js index 944e9ca28..682c8d878 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{a as o,t as s}from"./field.js";import{a as c,i as l,l as ee,n as u,o as d,r as f,s as p,t as te}from"./alert-dialog.js";import{fa as m,n as h}from"./awsClient.js";import{i as g,n as _,r as v}from"./acm.js";import{t as y}from"./error-banner.js";import{t as b}from"./textarea.js";var x=class extends g(_,v,`ImportCertificate`,m){},S=e(n(),1),C=r(),w=new TextEncoder;function T(){let e=(0,C.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:E,onSuccess:()=>{t.invalidateQueries({queryKey:[`acm`,`certificates`]})}},e[0]=t,e[1]=n),a(n)}async function E(e){let t=new x({Certificate:w.encode(e.certificate),PrivateKey:w.encode(e.privateKey),CertificateChain:e.certificateChain&&e.certificateChain.length>0?w.encode(e.certificateChain):void 0});return await h().send(t)}var D=t();function O(e){let t=(0,C.c)(54),{open:n,onOpenChange:r,onImported:i}=e,[a,m]=(0,S.useState)(``),[h,g]=(0,S.useState)(``),[_,v]=(0,S.useState)(``),x=T(),w;t[0]===x?w=t[1]:(w=()=>{m(``),g(``),v(``),x.reset()},t[0]=x,t[1]=w);let E=w,O;t[2]!==r||t[3]!==E?(O=e=>{e||E(),r(e)},t[2]=r,t[3]=E,t[4]=O):O=t[4];let k=O,A;t[5]!==a||t[6]!==h?(A=a.trim().length>0&&h.trim().length>0,t[5]=a,t[6]=h,t[7]=A):A=t[7];let j=A,M;t[8]!==j||t[9]!==a||t[10]!==_||t[11]!==x||t[12]!==i||t[13]!==r||t[14]!==h||t[15]!==E?(M=async()=>{if(j)try{let e=await x.mutateAsync({certificate:a,privateKey:h,certificateChain:_});e.CertificateArn&&i(e.CertificateArn),E(),r(!1)}catch{}},t[8]=j,t[9]=a,t[10]=_,t[11]=x,t[12]=i,t[13]=r,t[14]=h,t[15]=E,t[16]=M):M=t[16];let N=M,P;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(P={maxWidth:`36rem`,width:`calc(100vw - 2rem)`},t[17]=P):P=t[17];let F;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,D.jsxs)(p,{children:[(0,D.jsx)(ee,{children:`Import certificate`}),(0,D.jsx)(c,{children:`Paste a PEM-encoded certificate and its private key. The optional chain is appended for intermediate CAs.`})]}),t[18]=F):F=t[18];let I;t[19]===x.error?I=t[20]:(I=x.error&&(0,D.jsx)(y,{error:x.error,msg:`Failed to import certificate`}),t[19]=x.error,t[20]=I);let L;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-body`,children:`Certificate body`})}),t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>m(e.target.value),t[22]=R):R=t[22];let z;t[23]===a?z=t[24]:(z=(0,D.jsxs)(s,{children:[L,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-body`,onChange:R,placeholder:`-----BEGIN CERTIFICATE-----`,rows:5,value:a})]}),t[23]=a,t[24]=z);let B;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-key`,children:`Private key`})}),t[25]=B):B=t[25];let V;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>g(e.target.value),t[26]=V):V=t[26];let H;t[27]===h?H=t[28]:(H=(0,D.jsxs)(s,{children:[B,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-key`,onChange:V,placeholder:`-----BEGIN PRIVATE KEY-----`,rows:5,value:h})]}),t[27]=h,t[28]=H);let U;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-chain`,children:`Certificate chain (optional)`})}),t[29]=U):U=t[29];let W;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(W=e=>v(e.target.value),t[30]=W):W=t[30];let G;t[31]===_?G=t[32]:(G=(0,D.jsxs)(s,{children:[U,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-chain`,onChange:W,placeholder:`-----BEGIN CERTIFICATE-----`,rows:4,value:_})]}),t[31]=_,t[32]=G);let K;t[33]!==z||t[34]!==H||t[35]!==G?(K=(0,D.jsxs)(`div`,{className:`min-w-0 space-y-4`,children:[z,H,G]}),t[33]=z,t[34]=H,t[35]=G,t[36]=K):K=t[36];let q;t[37]===x.isPending?q=t[38]:(q=(0,D.jsx)(f,{disabled:x.isPending,children:`Cancel`}),t[37]=x.isPending,t[38]=q);let J=!j||x.isPending,Y=x.isPending?`Importing…`:`Import`,X;t[39]!==N||t[40]!==J||t[41]!==Y?(X=(0,D.jsx)(u,{disabled:J,onClick:N,children:Y}),t[39]=N,t[40]=J,t[41]=Y,t[42]=X):X=t[42];let Z;t[43]!==q||t[44]!==X?(Z=(0,D.jsxs)(d,{children:[q,X]}),t[43]=q,t[44]=X,t[45]=Z):Z=t[45];let Q;t[46]!==K||t[47]!==Z||t[48]!==I?(Q=(0,D.jsxs)(l,{className:`grid-cols-[minmax(0,1fr)]`,style:P,children:[F,I,K,Z]}),t[46]=K,t[47]=Z,t[48]=I,t[49]=Q):Q=t[49];let $;return t[50]!==k||t[51]!==n||t[52]!==Q?($=(0,D.jsx)(te,{onOpenChange:k,open:n,children:Q}),t[50]=k,t[51]=n,t[52]=Q,t[53]=$):$=t[53],$}export{O as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{fa as o,n as s}from"./awsClient.js";import{i as c,n as l,r as u}from"./acm.js";import{t as d}from"./error-banner.js";import{a as f,t as p}from"./field.js";import{a as m,i as ee,l as te,n as h,o as g,r as _,s as v,t as y}from"./alert-dialog.js";import{t as b}from"./textarea.js";var x=class extends c(l,u,`ImportCertificate`,o){},S=e(n(),1),C=r(),w=new TextEncoder;function T(){let e=(0,C.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:E,onSuccess:()=>{t.invalidateQueries({queryKey:[`acm`,`certificates`]})}},e[0]=t,e[1]=n),a(n)}async function E(e){let t=new x({Certificate:w.encode(e.certificate),PrivateKey:w.encode(e.privateKey),CertificateChain:e.certificateChain&&e.certificateChain.length>0?w.encode(e.certificateChain):void 0});return await s().send(t)}var D=t();function O(e){let t=(0,C.c)(54),{open:n,onOpenChange:r,onImported:i}=e,[a,o]=(0,S.useState)(``),[s,c]=(0,S.useState)(``),[l,u]=(0,S.useState)(``),x=T(),w;t[0]===x?w=t[1]:(w=()=>{o(``),c(``),u(``),x.reset()},t[0]=x,t[1]=w);let E=w,O;t[2]!==r||t[3]!==E?(O=e=>{e||E(),r(e)},t[2]=r,t[3]=E,t[4]=O):O=t[4];let k=O,A;t[5]!==a||t[6]!==s?(A=a.trim().length>0&&s.trim().length>0,t[5]=a,t[6]=s,t[7]=A):A=t[7];let j=A,M;t[8]!==j||t[9]!==a||t[10]!==l||t[11]!==x||t[12]!==i||t[13]!==r||t[14]!==s||t[15]!==E?(M=async()=>{if(j)try{let e=await x.mutateAsync({certificate:a,privateKey:s,certificateChain:l});e.CertificateArn&&i(e.CertificateArn),E(),r(!1)}catch{}},t[8]=j,t[9]=a,t[10]=l,t[11]=x,t[12]=i,t[13]=r,t[14]=s,t[15]=E,t[16]=M):M=t[16];let N=M,P;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(P={maxWidth:`36rem`,width:`calc(100vw - 2rem)`},t[17]=P):P=t[17];let F;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,D.jsxs)(v,{children:[(0,D.jsx)(te,{children:`Import certificate`}),(0,D.jsx)(m,{children:`Paste a PEM-encoded certificate and its private key. The optional chain is appended for intermediate CAs.`})]}),t[18]=F):F=t[18];let I;t[19]===x.error?I=t[20]:(I=x.error&&(0,D.jsx)(d,{error:x.error,msg:`Failed to import certificate`}),t[19]=x.error,t[20]=I);let L;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,D.jsx)(f,{children:(0,D.jsx)(`label`,{htmlFor:`cert-body`,children:`Certificate body`})}),t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>o(e.target.value),t[22]=R):R=t[22];let z;t[23]===a?z=t[24]:(z=(0,D.jsxs)(p,{children:[L,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-body`,onChange:R,placeholder:`-----BEGIN CERTIFICATE-----`,rows:5,value:a})]}),t[23]=a,t[24]=z);let B;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,D.jsx)(f,{children:(0,D.jsx)(`label`,{htmlFor:`cert-key`,children:`Private key`})}),t[25]=B):B=t[25];let V;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>c(e.target.value),t[26]=V):V=t[26];let H;t[27]===s?H=t[28]:(H=(0,D.jsxs)(p,{children:[B,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-key`,onChange:V,placeholder:`-----BEGIN PRIVATE KEY-----`,rows:5,value:s})]}),t[27]=s,t[28]=H);let U;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,D.jsx)(f,{children:(0,D.jsx)(`label`,{htmlFor:`cert-chain`,children:`Certificate chain (optional)`})}),t[29]=U):U=t[29];let W;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(W=e=>u(e.target.value),t[30]=W):W=t[30];let G;t[31]===l?G=t[32]:(G=(0,D.jsxs)(p,{children:[U,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-chain`,onChange:W,placeholder:`-----BEGIN CERTIFICATE-----`,rows:4,value:l})]}),t[31]=l,t[32]=G);let K;t[33]!==z||t[34]!==H||t[35]!==G?(K=(0,D.jsxs)(`div`,{className:`min-w-0 space-y-4`,children:[z,H,G]}),t[33]=z,t[34]=H,t[35]=G,t[36]=K):K=t[36];let q;t[37]===x.isPending?q=t[38]:(q=(0,D.jsx)(_,{disabled:x.isPending,children:`Cancel`}),t[37]=x.isPending,t[38]=q);let J=!j||x.isPending,Y=x.isPending?`Importing…`:`Import`,X;t[39]!==N||t[40]!==J||t[41]!==Y?(X=(0,D.jsx)(h,{disabled:J,onClick:N,children:Y}),t[39]=N,t[40]=J,t[41]=Y,t[42]=X):X=t[42];let Z;t[43]!==q||t[44]!==X?(Z=(0,D.jsxs)(g,{children:[q,X]}),t[43]=q,t[44]=X,t[45]=Z):Z=t[45];let Q;t[46]!==K||t[47]!==Z||t[48]!==I?(Q=(0,D.jsxs)(ee,{className:`grid-cols-[minmax(0,1fr)]`,style:P,children:[F,I,K,Z]}),t[46]=K,t[47]=Z,t[48]=I,t[49]=Q):Q=t[49];let $;return t[50]!==k||t[51]!==n||t[52]!==Q?($=(0,D.jsx)(y,{onOpenChange:k,open:n,children:Q}),t[50]=k,t[51]=n,t[52]=Q,t[53]=$):$=t[53],$}export{O as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js b/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js index e3946b4fd..62031f74d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{f as r,m as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{t as o}from"./cli-command-panel.js";import{t as s}from"./input.js";import{a as c,r as l,t as u}from"./field.js";import{t as d}from"./s3.js";import{a as f,i as p,t as m}from"./zod.js";import{t as h}from"./error-banner.js";import{t as g}from"./page-heading.js";import{t as _}from"./form-actions.js";var v=t(),y=r({bucketName:i().min(3,`Bucket name must be at least 3 characters`).max(63,`Bucket name must be at most 63 characters`).regex(/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/,`Must start and end with a lowercase letter or number`).regex(/^[a-z0-9.-]+$/,`Only lowercase letters, numbers, hyphens, and periods allowed`).refine(e=>!e.includes(`..`),`Must not contain consecutive periods`).refine(e=>!(e.includes(`.-`)||e.includes(`-.`)),`Must not contain adjacent period and hyphen`)}),b=e();function x(){let e=(0,v.c)(44),t=n(),r=d(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={resolver:m(y)},e[0]=i):i=e[0];let{handleSubmit:x,register:C,control:w,formState:T}=p(i),{errors:E,isSubmitting:D}=T,O;e[1]===w?O=e[2]:(O={control:w},e[1]=w,e[2]=O);let k=f(O),A;e[3]===k?A=e[4]:(A=e=>e?k[e]:void 0,e[3]=k,e[4]=A);let j=A,M;e[5]!==r||e[6]!==t?(M=async e=>{await r.mutateAsync(e),t({to:`/s3/ls`})},e[5]=r,e[6]=t,e[7]=M):M=e[7];let N=M,P,F;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,b.jsx)(a,{to:`/s3/ls`,children:`Back to buckets`}),F=(0,b.jsx)(g,{title:`Create Bucket`}),e[8]=P,e[9]=F):(P=e[8],F=e[9]);let I;e[10]===r.error?I=e[11]:(I=r.error&&(0,b.jsx)(h,{error:r.error,msg:`Failed to create bucket`}),e[10]=r.error,e[11]=I);let L;e[12]!==x||e[13]!==N?(L=x(N),e[12]=x,e[13]=N,e[14]=L):L=e[14];let R;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,b.jsx)(c,{children:(0,b.jsx)(`label`,{htmlFor:`bucketName`,children:`Bucket Name`})}),e[15]=R):R=e[15];let z=!!E.bucketName,B;e[16]===C?B=e[17]:(B=C(`bucketName`),e[16]=C,e[17]=B);let V;e[18]!==z||e[19]!==B?(V=(0,b.jsx)(s,{"aria-invalid":z,id:`bucketName`,placeholder:`my-bucket`,type:`text`,...B}),e[18]=z,e[19]=B,e[20]=V):V=e[20];let H;e[21]===E.bucketName?H=e[22]:(H=(0,b.jsx)(l,{errors:[E.bucketName]}),e[21]=E.bucketName,e[22]=H);let U;e[23]!==V||e[24]!==H?(U=(0,b.jsxs)(u,{children:[R,V,H]}),e[23]=V,e[24]=H,e[25]=U):U=e[25];let W;e[26]===j?W=e[27]:(W=S(j),e[26]=j,e[27]=W);let G;e[28]===W?G=e[29]:(G=(0,b.jsx)(o,{commands:W}),e[28]=W,e[29]=G);let K;e[30]===t?K=e[31]:(K=async()=>await t({to:`/s3/ls`}),e[30]=t,e[31]=K);let q;e[32]!==r.isPending||e[33]!==D||e[34]!==K?(q=(0,b.jsx)(_,{isPending:r.isPending,isSubmitting:D,onCancel:K,pendingLabel:`Creating…`,submitLabel:`Create Bucket`}),e[32]=r.isPending,e[33]=D,e[34]=K,e[35]=q):q=e[35];let J;e[36]!==U||e[37]!==G||e[38]!==q||e[39]!==L?(J=(0,b.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:L,children:[U,G,q]}),e[36]=U,e[37]=G,e[38]=q,e[39]=L,e[40]=J):J=e[40];let Y;return e[41]!==J||e[42]!==I?(Y=(0,b.jsxs)(b.Fragment,{children:[P,F,I,J]}),e[41]=J,e[42]=I,e[43]=Y):Y=e[43],Y}function S(e){let t=e(`bucketName`);return[{label:`Create Bucket`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws s3api create-bucket`},{type:`flag`,value:` --bucket`},{type:`value`,value:` ${(typeof t==`string`?t:``)||``}`}]}]}export{x as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{f as r,m as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{t as o}from"./cli-command-panel.js";import{t as s}from"./input.js";import{t as c}from"./s3.js";import{a as l,i as u,t as d}from"./zod.js";import{t as f}from"./error-banner.js";import{t as p}from"./form-actions.js";import{t as m}from"./page-heading.js";import{a as h,r as g,t as _}from"./field.js";var v=t(),y=r({bucketName:i().min(3,`Bucket name must be at least 3 characters`).max(63,`Bucket name must be at most 63 characters`).regex(/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/,`Must start and end with a lowercase letter or number`).regex(/^[a-z0-9.-]+$/,`Only lowercase letters, numbers, hyphens, and periods allowed`).refine(e=>!e.includes(`..`),`Must not contain consecutive periods`).refine(e=>!(e.includes(`.-`)||e.includes(`-.`)),`Must not contain adjacent period and hyphen`)}),b=e();function x(){let e=(0,v.c)(44),t=n(),r=c(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={resolver:d(y)},e[0]=i):i=e[0];let{handleSubmit:x,register:C,control:w,formState:T}=u(i),{errors:E,isSubmitting:D}=T,O;e[1]===w?O=e[2]:(O={control:w},e[1]=w,e[2]=O);let k=l(O),A;e[3]===k?A=e[4]:(A=e=>e?k[e]:void 0,e[3]=k,e[4]=A);let j=A,M;e[5]!==r||e[6]!==t?(M=async e=>{await r.mutateAsync(e),t({to:`/s3/ls`})},e[5]=r,e[6]=t,e[7]=M):M=e[7];let N=M,P,F;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,b.jsx)(a,{to:`/s3/ls`,children:`Back to buckets`}),F=(0,b.jsx)(m,{title:`Create Bucket`}),e[8]=P,e[9]=F):(P=e[8],F=e[9]);let I;e[10]===r.error?I=e[11]:(I=r.error&&(0,b.jsx)(f,{error:r.error,msg:`Failed to create bucket`}),e[10]=r.error,e[11]=I);let L;e[12]!==x||e[13]!==N?(L=x(N),e[12]=x,e[13]=N,e[14]=L):L=e[14];let R;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,b.jsx)(h,{children:(0,b.jsx)(`label`,{htmlFor:`bucketName`,children:`Bucket Name`})}),e[15]=R):R=e[15];let z=!!E.bucketName,B;e[16]===C?B=e[17]:(B=C(`bucketName`),e[16]=C,e[17]=B);let V;e[18]!==z||e[19]!==B?(V=(0,b.jsx)(s,{"aria-invalid":z,id:`bucketName`,placeholder:`my-bucket`,type:`text`,...B}),e[18]=z,e[19]=B,e[20]=V):V=e[20];let H;e[21]===E.bucketName?H=e[22]:(H=(0,b.jsx)(g,{errors:[E.bucketName]}),e[21]=E.bucketName,e[22]=H);let U;e[23]!==V||e[24]!==H?(U=(0,b.jsxs)(_,{children:[R,V,H]}),e[23]=V,e[24]=H,e[25]=U):U=e[25];let W;e[26]===j?W=e[27]:(W=S(j),e[26]=j,e[27]=W);let G;e[28]===W?G=e[29]:(G=(0,b.jsx)(o,{commands:W}),e[28]=W,e[29]=G);let K;e[30]===t?K=e[31]:(K=async()=>await t({to:`/s3/ls`}),e[30]=t,e[31]=K);let q;e[32]!==r.isPending||e[33]!==D||e[34]!==K?(q=(0,b.jsx)(p,{isPending:r.isPending,isSubmitting:D,onCancel:K,pendingLabel:`Creating…`,submitLabel:`Create Bucket`}),e[32]=r.isPending,e[33]=D,e[34]=K,e[35]=q):q=e[35];let J;e[36]!==U||e[37]!==G||e[38]!==q||e[39]!==L?(J=(0,b.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:L,children:[U,G,q]}),e[36]=U,e[37]=G,e[38]=q,e[39]=L,e[40]=J):J=e[40];let Y;return e[41]!==J||e[42]!==I?(Y=(0,b.jsxs)(b.Fragment,{children:[P,F,I,J]}),e[41]=J,e[42]=I,e[43]=Y):Y=e[43],Y}function S(e){let t=e(`bucketName`);return[{label:`Create Bucket`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws s3api create-bucket`},{type:`flag`,value:` --bucket`},{type:`value`,value:` ${(typeof t==`string`?t:``)||``}`}]}]}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-cluster.js b/spinifex/services/spinifexui/frontend/dist/assets/create-cluster.js index d71f4db78..35753c87c 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-cluster.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-cluster.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as r}from"./QueryClientProvider.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{a as h,r as g,t as _}from"./field.js";import{a as v,i as y,l as b,n as x,o as S,r as C,s as w,t as T}from"./alert-dialog.js";import{M as E,O as D,o as O}from"./ec2.js";import{a as k,d as ee,g as te,o as A,t as j}from"./eks.js";import{i as M,u as N}from"./iam.js";import{y as P}from"./iam2.js";import{a as F,i as I,n as L,t as ne}from"./zod.js";import{t as re}from"./error-banner.js";import{t as R}from"./page-heading.js";import{t as z}from"./form-actions.js";import{n as ie}from"./system-managed.js";import{t as ae}from"./system-image-required.js";import{t as B}from"./policy-document-viewer.js";var V=e(n(),1),H=t();function U(e){return`${e.trim()||`cluster`}-eks-cluster-role`}function W({clusterName:e,open:t,onOpenChange:n,onCreated:r}){let i=N(),a=M(),[o,s]=(0,V.useState)(U(e)),[c,l]=(0,V.useState)(null),[u,d]=(0,V.useState)(t);t!==u&&(d(t),t&&(s(U(e)),l(null)));let f=i.isPending||a.isPending;function p(e){e||l(null),n(e)}async function g(){l(null);let e=o.trim();try{let t=await i.mutateAsync({roleName:e,assumeRolePolicyDocument:k});await a.mutateAsync({roleName:e,policyArn:j});let o=t.Role?.Arn;if(!o){l(`Role was created but no ARN was returned.`);return}r(o),n(!1)}catch(e){l(e instanceof Error?e.message:`Failed to create role.`)}}return(0,H.jsx)(T,{onOpenChange:p,open:t,children:(0,H.jsxs)(y,{className:`max-w-lg sm:max-w-lg`,children:[(0,H.jsxs)(w,{children:[(0,H.jsx)(b,{children:`Create cluster IAM role`}),(0,H.jsx)(v,{children:`Creates an IAM role trusted by the EKS control plane and attaches the AmazonEKSClusterPolicy managed policy.`})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:(0,H.jsx)(`label`,{htmlFor:`eks-role-name`,children:`Role name`})}),(0,H.jsx)(m,{id:`eks-role-name`,onChange:e=>s(e.target.value),placeholder:`my-cluster-eks-cluster-role`,value:o})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:`Trust policy (JSON)`}),(0,H.jsx)(B,{document:k})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:`Attached managed policy`}),(0,H.jsx)(`code`,{className:`block rounded-md border bg-muted p-2 font-mono text-sm break-all`,children:j}),(0,H.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Grants the EKS control plane the permissions it needs to manage the cluster.`})]}),c&&(0,H.jsx)(`p`,{className:`text-sm text-destructive`,children:c}),(0,H.jsxs)(S,{children:[(0,H.jsx)(C,{children:`Cancel`}),(0,H.jsx)(x,{disabled:f||!o.trim(),onClick:g,children:f?`Creating…`:`Create role`})]})]})})}function G(e){let t=o(e.Tags);return t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`}function K(e){let t=o(e.Tags);return`${t?`${e.SubnetId} (${t})`:e.SubnetId} · ${e.CidrBlock}`}function q(){let e=a(),t=r(),[n,o]=(0,V.useState)(!1),[v,y]=(0,V.useState)(!1),{data:b}=i(E),{data:x}=i(D),{data:S}=i(P),{data:C}=i(O),w=te(),T=(C.Images??[]).some(ie),k=async()=>{o(!0);try{await t.invalidateQueries({queryKey:O.queryKey})}finally{o(!1)}},j=b.Vpcs??[],M=x.Subnets??[],N=S.Roles??[],{control:B,formState:{errors:U,isSubmitting:q},handleSubmit:J,register:oe,setValue:Y}=I({resolver:ne(ee),defaultValues:{name:``,version:A[0],roleArn:``,vpcId:``,subnetIds:[],bootstrapClusterCreatorAdminPermissions:!0,endpointPublicAccess:!0,endpointPrivateAccess:!1,publicAccessCidrs:[`0.0.0.0/0`]}}),se=F({control:B,name:`vpcId`}),X=F({control:B,name:`subnetIds`}),Z=new Set(X),ce=F({control:B,name:`endpointPublicAccess`}),Q=F({control:B,name:`publicAccessCidrs`}),$=M.filter(e=>e.VpcId===se),le=(e=``)=>{Y(`vpcId`,e??``,{shouldValidate:!0}),Y(`subnetIds`,[])},ue=e=>{let t=X.includes(e)?X.filter(t=>t!==e):[...X,e];Y(`subnetIds`,t,{shouldValidate:!0})},de=(e,t)=>{let n=[...Q];n[e]=t,Y(`publicAccessCidrs`,n,{shouldValidate:!0})},fe=()=>Y(`publicAccessCidrs`,[...Q,``],{shouldValidate:!0}),pe=e=>Y(`publicAccessCidrs`,Q.filter((t,n)=>n!==e),{shouldValidate:!0}),me=F({control:B,name:`name`}),he=async e=>{await t.invalidateQueries({queryKey:P.queryKey}),Y(`roleArn`,e,{shouldValidate:!0})};return T?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(s,{to:`/eks/list-clusters`,children:`Clusters`}),(0,H.jsx)(R,{subtitle:`EKS`,title:`Create Cluster`}),w.error&&(0,H.jsx)(re,{error:w.error,msg:`Failed to create cluster`}),(0,H.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:J(async t=>{await w.mutateAsync(t),await e({to:`/eks/list-clusters/$clusterName`,params:{clusterName:t.name}})}),children:[(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:(0,H.jsx)(`label`,{htmlFor:`cluster-name`,children:`Name`})}),(0,H.jsx)(m,{"aria-invalid":!!U.name,id:`cluster-name`,placeholder:`my-cluster`,...oe(`name`)}),(0,H.jsx)(g,{errors:[U.name]})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:(0,H.jsx)(`label`,{htmlFor:`cluster-version`,children:`Kubernetes version`})}),(0,H.jsx)(L,{control:B,name:`version`,render:({field:e})=>(0,H.jsxs)(f,{onValueChange:e.onChange,value:e.value,children:[(0,H.jsx)(d,{className:`w-full`,id:`cluster-version`,children:(0,H.jsx)(c,{placeholder:`Select version`})}),(0,H.jsx)(u,{children:A.map(e=>(0,H.jsx)(l,{value:e,children:e},e))})]})}),(0,H.jsx)(g,{errors:[U.version]})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:(0,H.jsx)(`label`,{htmlFor:`cluster-role`,children:`Cluster IAM role`})}),(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(L,{control:B,name:`roleArn`,render:({field:e})=>(0,H.jsxs)(f,{onValueChange:e.onChange,value:e.value,children:[(0,H.jsx)(d,{"aria-invalid":!!U.roleArn,className:`w-full`,id:`cluster-role`,children:(0,H.jsx)(c,{placeholder:`Select role`})}),(0,H.jsx)(u,{children:N.map(e=>(0,H.jsx)(l,{value:e.Arn??``,children:e.RoleName},e.Arn))})]})}),(0,H.jsx)(p,{onClick:()=>y(!0),type:`button`,variant:`outline`,children:`Create role`})]}),(0,H.jsx)(g,{errors:[U.roleArn]})]}),(0,H.jsx)(W,{clusterName:me,onCreated:he,onOpenChange:y,open:v}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:(0,H.jsx)(`label`,{htmlFor:`cluster-vpc`,children:`VPC`})}),(0,H.jsx)(L,{control:B,name:`vpcId`,render:({field:e})=>(0,H.jsxs)(f,{onValueChange:e=>le(e),value:e.value,children:[(0,H.jsx)(d,{"aria-invalid":!!U.vpcId,className:`w-full`,id:`cluster-vpc`,children:(0,H.jsx)(c,{placeholder:`Select VPC`})}),(0,H.jsx)(u,{children:j.map(e=>(0,H.jsx)(l,{value:e.VpcId??``,children:G(e)},e.VpcId))})]})}),(0,H.jsx)(g,{errors:[U.vpcId]})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:`Subnets (select at least 1)`}),$.length===0?(0,H.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the selected VPC.`}):(0,H.jsx)(`div`,{className:`space-y-1`,children:$.map(e=>(0,H.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,H.jsx)(`input`,{"aria-label":`Subnet ${K(e)}`,checked:Z.has(e.SubnetId??``),onChange:()=>ue(e.SubnetId??``),type:`checkbox`}),(0,H.jsx)(`span`,{className:`font-mono`,children:K(e)})]},e.SubnetId))}),(0,H.jsx)(g,{errors:[U.subnetIds]})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:`Endpoint access`}),(0,H.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Public access exposes the API server on an internet-facing endpoint; private access keeps it reachable only from within the VPC. At least one must be enabled.`}),(0,H.jsx)(L,{control:B,name:`endpointPublicAccess`,render:({field:e})=>(0,H.jsxs)(`label`,{className:`mt-2 flex items-center gap-2 text-xs`,children:[(0,H.jsx)(`input`,{"aria-label":`Enable public access`,checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Public`]})}),(0,H.jsx)(L,{control:B,name:`endpointPrivateAccess`,render:({field:e})=>(0,H.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,H.jsx)(`input`,{"aria-label":`Enable private access`,checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Private`]})}),(0,H.jsx)(g,{errors:[U.endpointPublicAccess]}),ce&&(0,H.jsxs)(`div`,{className:`mt-2 space-y-2`,children:[(0,H.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Public access source ranges (CIDR). Defaults to`,` `,(0,H.jsx)(`span`,{className:`font-mono`,children:`0.0.0.0/0`}),`.`]}),Q.map((e,t)=>(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(m,{"aria-label":`Public access CIDR ${t+1}`,className:`font-mono`,onChange:e=>de(t,e.target.value),placeholder:`203.0.113.0/24`,value:e}),(0,H.jsx)(p,{onClick:()=>pe(t),size:`sm`,type:`button`,variant:`ghost`,children:`Remove`})]},t)),(0,H.jsx)(p,{onClick:fe,size:`sm`,type:`button`,variant:`outline`,children:`Add CIDR`}),(0,H.jsx)(g,{errors:[U.publicAccessCidrs]})]})]}),(0,H.jsxs)(_,{children:[(0,H.jsx)(h,{children:`Access`}),(0,H.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Authentication mode is `,(0,H.jsx)(`span`,{className:`font-mono`,children:`API`}),` (IAM access entries). The legacy aws-auth ConfigMap is not supported.`]}),(0,H.jsx)(L,{control:B,name:`bootstrapClusterCreatorAdminPermissions`,render:({field:e})=>(0,H.jsxs)(`label`,{className:`mt-2 flex items-center gap-2 text-xs`,children:[(0,H.jsx)(`input`,{"aria-label":`Grant the cluster creator admin permissions`,checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Grant the cluster creator admin permissions`]})})]}),(0,H.jsx)(z,{isPending:w.isPending,isSubmitting:q,onCancel:async()=>await e({to:`/eks/list-clusters`}),pendingLabel:`Creating…`,submitLabel:`Create Cluster`})]})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(s,{to:`/eks/list-clusters`,children:`Clusters`}),(0,H.jsx)(R,{subtitle:`EKS`,title:`Create Cluster`}),(0,H.jsx)(ae,{description:`EKS clusters boot a Spinifex-managed node image (K3s) that is not shipped with the platform. Import it before creating a cluster.`,importCommand:`spx admin images import --name spinifex-eks-node`,isRechecking:n,onRecheck:k,title:`EKS system image not found`})]})}var J=q;export{J as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as r}from"./QueryClientProvider.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{M as h,O as ee,o as g}from"./ec2.js";import{a as _,d as v,g as te,o as y,t as b}from"./eks.js";import{i as x,u as S}from"./iam.js";import{y as C}from"./iam2.js";import{a as w,i as ne,n as T,t as re}from"./zod.js";import{t as E}from"./error-banner.js";import{t as D}from"./form-actions.js";import{t as O}from"./page-heading.js";import{a as k,r as A,t as j}from"./field.js";import{a as M,i as N,l as P,n as F,o as I,r as L,s as R,t as z}from"./alert-dialog.js";import{n as ie}from"./system-managed.js";import{t as B}from"./system-image-required.js";import{t as V}from"./policy-document-viewer.js";var H=e(n(),1),U=t();function W(e){return`${e.trim()||`cluster`}-eks-cluster-role`}function G({clusterName:e,open:t,onOpenChange:n,onCreated:r}){let i=S(),a=x(),[o,s]=(0,H.useState)(W(e)),[c,l]=(0,H.useState)(null),[u,d]=(0,H.useState)(t);t!==u&&(d(t),t&&(s(W(e)),l(null)));let f=i.isPending||a.isPending;function p(e){e||l(null),n(e)}async function h(){l(null);let e=o.trim();try{let t=await i.mutateAsync({roleName:e,assumeRolePolicyDocument:_});await a.mutateAsync({roleName:e,policyArn:b});let o=t.Role?.Arn;if(!o){l(`Role was created but no ARN was returned.`);return}r(o),n(!1)}catch(e){l(e instanceof Error?e.message:`Failed to create role.`)}}return(0,U.jsx)(z,{onOpenChange:p,open:t,children:(0,U.jsxs)(N,{className:`max-w-lg sm:max-w-lg`,children:[(0,U.jsxs)(R,{children:[(0,U.jsx)(P,{children:`Create cluster IAM role`}),(0,U.jsx)(M,{children:`Creates an IAM role trusted by the EKS control plane and attaches the AmazonEKSClusterPolicy managed policy.`})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:(0,U.jsx)(`label`,{htmlFor:`eks-role-name`,children:`Role name`})}),(0,U.jsx)(m,{id:`eks-role-name`,onChange:e=>s(e.target.value),placeholder:`my-cluster-eks-cluster-role`,value:o})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:`Trust policy (JSON)`}),(0,U.jsx)(V,{document:_})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:`Attached managed policy`}),(0,U.jsx)(`code`,{className:`block rounded-md border bg-muted p-2 font-mono text-sm break-all`,children:b}),(0,U.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Grants the EKS control plane the permissions it needs to manage the cluster.`})]}),c&&(0,U.jsx)(`p`,{className:`text-sm text-destructive`,children:c}),(0,U.jsxs)(I,{children:[(0,U.jsx)(L,{children:`Cancel`}),(0,U.jsx)(F,{disabled:f||!o.trim(),onClick:h,children:f?`Creating…`:`Create role`})]})]})})}function K(e){let t=o(e.Tags);return t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`}function q(e){let t=o(e.Tags);return`${t?`${e.SubnetId} (${t})`:e.SubnetId} · ${e.CidrBlock}`}function J(){let e=a(),t=r(),[n,o]=(0,H.useState)(!1),[_,b]=(0,H.useState)(!1),{data:x}=i(h),{data:S}=i(ee),{data:M}=i(C),{data:N}=i(g),P=te(),F=(N.Images??[]).some(ie),I=async()=>{o(!0);try{await t.invalidateQueries({queryKey:g.queryKey})}finally{o(!1)}},L=x.Vpcs??[],R=S.Subnets??[],z=M.Roles??[],{control:V,formState:{errors:W,isSubmitting:J},handleSubmit:Y,register:ae,setValue:X}=ne({resolver:re(v),defaultValues:{name:``,version:y[0],roleArn:``,vpcId:``,subnetIds:[],bootstrapClusterCreatorAdminPermissions:!0,endpointPublicAccess:!0,endpointPrivateAccess:!1,publicAccessCidrs:[`0.0.0.0/0`]}}),oe=w({control:V,name:`vpcId`}),Z=w({control:V,name:`subnetIds`}),se=new Set(Z),ce=w({control:V,name:`endpointPublicAccess`}),Q=w({control:V,name:`publicAccessCidrs`}),$=R.filter(e=>e.VpcId===oe),le=(e=``)=>{X(`vpcId`,e??``,{shouldValidate:!0}),X(`subnetIds`,[])},ue=e=>{let t=Z.includes(e)?Z.filter(t=>t!==e):[...Z,e];X(`subnetIds`,t,{shouldValidate:!0})},de=(e,t)=>{let n=[...Q];n[e]=t,X(`publicAccessCidrs`,n,{shouldValidate:!0})},fe=()=>X(`publicAccessCidrs`,[...Q,``],{shouldValidate:!0}),pe=e=>X(`publicAccessCidrs`,Q.filter((t,n)=>n!==e),{shouldValidate:!0}),me=w({control:V,name:`name`}),he=async e=>{await t.invalidateQueries({queryKey:C.queryKey}),X(`roleArn`,e,{shouldValidate:!0})};return F?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(s,{to:`/eks/list-clusters`,children:`Clusters`}),(0,U.jsx)(O,{subtitle:`EKS`,title:`Create Cluster`}),P.error&&(0,U.jsx)(E,{error:P.error,msg:`Failed to create cluster`}),(0,U.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:Y(async t=>{await P.mutateAsync(t),await e({to:`/eks/list-clusters/$clusterName`,params:{clusterName:t.name}})}),children:[(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:(0,U.jsx)(`label`,{htmlFor:`cluster-name`,children:`Name`})}),(0,U.jsx)(m,{"aria-invalid":!!W.name,id:`cluster-name`,placeholder:`my-cluster`,...ae(`name`)}),(0,U.jsx)(A,{errors:[W.name]})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:(0,U.jsx)(`label`,{htmlFor:`cluster-version`,children:`Kubernetes version`})}),(0,U.jsx)(T,{control:V,name:`version`,render:({field:e})=>(0,U.jsxs)(f,{onValueChange:e.onChange,value:e.value,children:[(0,U.jsx)(d,{className:`w-full`,id:`cluster-version`,children:(0,U.jsx)(c,{placeholder:`Select version`})}),(0,U.jsx)(u,{children:y.map(e=>(0,U.jsx)(l,{value:e,children:e},e))})]})}),(0,U.jsx)(A,{errors:[W.version]})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:(0,U.jsx)(`label`,{htmlFor:`cluster-role`,children:`Cluster IAM role`})}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(T,{control:V,name:`roleArn`,render:({field:e})=>(0,U.jsxs)(f,{onValueChange:e.onChange,value:e.value,children:[(0,U.jsx)(d,{"aria-invalid":!!W.roleArn,className:`w-full`,id:`cluster-role`,children:(0,U.jsx)(c,{placeholder:`Select role`})}),(0,U.jsx)(u,{children:z.map(e=>(0,U.jsx)(l,{value:e.Arn??``,children:e.RoleName},e.Arn))})]})}),(0,U.jsx)(p,{onClick:()=>b(!0),type:`button`,variant:`outline`,children:`Create role`})]}),(0,U.jsx)(A,{errors:[W.roleArn]})]}),(0,U.jsx)(G,{clusterName:me,onCreated:he,onOpenChange:b,open:_}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:(0,U.jsx)(`label`,{htmlFor:`cluster-vpc`,children:`VPC`})}),(0,U.jsx)(T,{control:V,name:`vpcId`,render:({field:e})=>(0,U.jsxs)(f,{onValueChange:e=>le(e),value:e.value,children:[(0,U.jsx)(d,{"aria-invalid":!!W.vpcId,className:`w-full`,id:`cluster-vpc`,children:(0,U.jsx)(c,{placeholder:`Select VPC`})}),(0,U.jsx)(u,{children:L.map(e=>(0,U.jsx)(l,{value:e.VpcId??``,children:K(e)},e.VpcId))})]})}),(0,U.jsx)(A,{errors:[W.vpcId]})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:`Subnets (select at least 1)`}),$.length===0?(0,U.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the selected VPC.`}):(0,U.jsx)(`div`,{className:`space-y-1`,children:$.map(e=>(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,U.jsx)(`input`,{"aria-label":`Subnet ${q(e)}`,checked:se.has(e.SubnetId??``),onChange:()=>ue(e.SubnetId??``),type:`checkbox`}),(0,U.jsx)(`span`,{className:`font-mono`,children:q(e)})]},e.SubnetId))}),(0,U.jsx)(A,{errors:[W.subnetIds]})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:`Endpoint access`}),(0,U.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Public access exposes the API server on an internet-facing endpoint; private access keeps it reachable only from within the VPC. At least one must be enabled.`}),(0,U.jsx)(T,{control:V,name:`endpointPublicAccess`,render:({field:e})=>(0,U.jsxs)(`label`,{className:`mt-2 flex items-center gap-2 text-xs`,children:[(0,U.jsx)(`input`,{"aria-label":`Enable public access`,checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Public`]})}),(0,U.jsx)(T,{control:V,name:`endpointPrivateAccess`,render:({field:e})=>(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,U.jsx)(`input`,{"aria-label":`Enable private access`,checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Private`]})}),(0,U.jsx)(A,{errors:[W.endpointPublicAccess]}),ce&&(0,U.jsxs)(`div`,{className:`mt-2 space-y-2`,children:[(0,U.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Public access source ranges (CIDR). Defaults to`,` `,(0,U.jsx)(`span`,{className:`font-mono`,children:`0.0.0.0/0`}),`.`]}),Q.map((e,t)=>(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(m,{"aria-label":`Public access CIDR ${t+1}`,className:`font-mono`,onChange:e=>de(t,e.target.value),placeholder:`203.0.113.0/24`,value:e}),(0,U.jsx)(p,{onClick:()=>pe(t),size:`sm`,type:`button`,variant:`ghost`,children:`Remove`})]},t)),(0,U.jsx)(p,{onClick:fe,size:`sm`,type:`button`,variant:`outline`,children:`Add CIDR`}),(0,U.jsx)(A,{errors:[W.publicAccessCidrs]})]})]}),(0,U.jsxs)(j,{children:[(0,U.jsx)(k,{children:`Access`}),(0,U.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Authentication mode is `,(0,U.jsx)(`span`,{className:`font-mono`,children:`API`}),` (IAM access entries). The legacy aws-auth ConfigMap is not supported.`]}),(0,U.jsx)(T,{control:V,name:`bootstrapClusterCreatorAdminPermissions`,render:({field:e})=>(0,U.jsxs)(`label`,{className:`mt-2 flex items-center gap-2 text-xs`,children:[(0,U.jsx)(`input`,{"aria-label":`Grant the cluster creator admin permissions`,checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Grant the cluster creator admin permissions`]})})]}),(0,U.jsx)(D,{isPending:P.isPending,isSubmitting:J,onCancel:async()=>await e({to:`/eks/list-clusters`}),pendingLabel:`Creating…`,submitLabel:`Create Cluster`})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(s,{to:`/eks/list-clusters`,children:`Clusters`}),(0,U.jsx)(O,{subtitle:`EKS`,title:`Create Cluster`}),(0,U.jsx)(B,{description:`EKS clusters boot a Spinifex-managed node image (K3s) that is not shipped with the platform. Import it before creating a cluster.`,importCommand:`spx admin images import --name spinifex-eks-node`,isRechecking:n,onRecheck:I,title:`EKS system image not found`})]})}var Y=J;export{Y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js index 9ed874048..d6553f425 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as ee}from"./QueryClientProvider.js";import{t as te}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as ne}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as l}from"./select.js";import{i as u,n as d,r as f,t as re}from"./cli-command-panel.js";import{t as p}from"./input.js";import{a as m,n as h,r as g,t as _}from"./field.js";import{M as v,o as y,w as ie}from"./ec2.js";import{h as ae}from"./rds.js";import{t as oe}from"./rds2.js";import{d as se,h as ce,l as le,o as ue}from"./rds3.js";import{a as de,i as fe,n as b,t as pe}from"./zod.js";import{t as me}from"./error-banner.js";import{t as x}from"./page-heading.js";import{t as he}from"./form-actions.js";import{a as S,r as ge}from"./system-managed.js";import{t as _e}from"./tags-field-array.js";import{t as C}from"./system-image-required.js";import{n as ve}from"./picker-notice.js";import{a as ye,i as be,o as w,r as xe,s as Se,t as Ce}from"./security-group-checkboxes.js";var we=e(n(),1),T=t(),E=7,Te=[{id:`multi-az`,label:`Multi-AZ deployment`,note:`Not available on Spinifex — the platform is single-AZ, so a standby would not exist.`},{id:`publicly-accessible`,label:`Public access`,note:`Not available on Spinifex — the endpoint is a private VPC address.`},{id:`storage-autoscaling`,label:`Storage autoscaling`,note:`Not available on Spinifex — allocated storage grows only when you ask it to.`}];function D(){let e=ne(),t=ee(),n=oe(),[u,d]=(0,we.useState)(!1),{data:f}=r(ue),{data:D}=r(ce),{data:O}=r(se),{data:De}=r(ie),{data:Oe}=r(v),{data:ke}=r(y),Ae=ke.Images??[],k=f.DBEngineVersions??[],A=[...new Set(k.map(e=>e.Engine??``).filter(Boolean))],j=(e,t)=>Ae.some(n=>ge(n,e,t)),M=e=>k.find(t=>t.Engine===e&&j(e,t.EngineVersion??``))?.EngineVersion??``,N=e=>M(e).length>0,P=A.filter(N),F=P[0]??``,I=async()=>{d(!0);try{await t.invalidateQueries({queryKey:y.queryKey})}finally{d(!1)}},{control:L,formState:{errors:R,isSubmitting:je},handleSubmit:Me,register:z,setValue:B}=fe({resolver:pe(ae),defaultValues:{dbInstanceIdentifier:``,engine:F,engineVersion:M(F),dbInstanceClass:``,allocatedStorage:20,masterUsername:``,masterUserPassword:``,confirmPassword:``,dbName:``,port:``,dbSubnetGroupName:``,vpcSecurityGroupIds:[],dbParameterGroupName:``,deletionProtection:!1,backupRetentionPeriod:E,preferredBackupWindow:``,preferredMaintenanceWindow:``,tags:[]}}),V=de({control:L}),H=V.engine??``,U=V.dbSubnetGroupName??``,W=V.vpcSecurityGroupIds??[],G=te(le(H)),Ne=k.filter(e=>e.Engine===H),K=G.data?.OrderableDBInstanceOptions??[],q=[...new Set(K.map(e=>e.DBInstanceClass??``).filter(Boolean))],[J]=K,Y=D.DBSubnetGroups??[],Pe=Se(O.DBParameterGroups??[],k,H),Fe=Y.find(e=>e.DBSubnetGroupName===U)?.VpcId,X=Oe.Vpcs?.find(e=>e.IsDefault)?.VpcId,Z=Fe??X,Q=De.SecurityGroups??[],Ie=be(Q,Z),Le=e=>{B(`engine`,e,{shouldValidate:!0}),B(`engineVersion`,M(e)),B(`dbInstanceClass`,``),B(`dbParameterGroupName`,``)},$=e=>B(`vpcSecurityGroupIds`,e,{shouldValidate:!0}),Re=e=>{let t=Y.find(t=>t.DBSubnetGroupName===e)?.VpcId??X;B(`dbSubnetGroupName`,e,{shouldValidate:!0}),$(xe(Q,t,W))},ze=async t=>{await n.mutateAsync(t),await e({to:`/rds/describe-db-instances`})};if(A.length>0&&P.length===0)return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,T.jsx)(x,{title:`Create Database`}),(0,T.jsx)(C,{description:`RDS boots a Spinifex-managed engine image that is not shipped with the platform. Import one before creating a database. Engines offered: ${A.join(`, `)}.`,importCommand:S(A[0]??``),isRechecking:u,onRecheck:I,title:`RDS system image not found`})]});let Be=A.filter(e=>!N(e)),Ve=H===``?{tone:`muted`,text:`Select an engine to see the instance classes this cluster can run.`}:ve(G,q.length===0,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:`No instance class this cluster's nodes can run is available for ${H}.`});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,T.jsx)(x,{title:`Create Database`}),n.error&&(0,T.jsx)(me,{error:n.error,msg:`Failed to create the DB instance`}),(0,T.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:Me(ze),children:[(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-identifier`,children:`DB instance identifier`})}),(0,T.jsx)(p,{"aria-invalid":!!R.dbInstanceIdentifier,id:`db-identifier`,placeholder:`orders-db`,...z(`dbInstanceIdentifier`)}),(0,T.jsx)(h,{children:`Lowercase letters, digits and hyphens. This is also the endpoint hostname, so it cannot be changed later.`}),(0,T.jsx)(g,{errors:[R.dbInstanceIdentifier]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-engine`,children:`Engine`})}),(0,T.jsx)(b,{control:L,name:`engine`,render:({field:e})=>(0,T.jsxs)(l,{onValueChange:e=>Le(e??``),value:e.value,children:[(0,T.jsx)(c,{"aria-invalid":!!R.engine,className:`w-full`,id:`db-engine`,children:(0,T.jsx)(a,{placeholder:`Select an engine`})}),(0,T.jsx)(s,{children:A.map(e=>(0,T.jsx)(o,{disabled:!N(e),value:e,children:N(e)?e:`${e} — image not imported`},e))})]})}),(0,T.jsx)(g,{errors:[R.engine]})]}),Be.map(e=>(0,T.jsx)(C,{description:`No ${e} image is imported on this cluster, so a ${e} database cannot launch. The other engines are unaffected.`,importCommand:S(e),isRechecking:u,onRecheck:I,title:`${e} image not found`},e)),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-engine-version`,children:`Engine version`})}),(0,T.jsx)(b,{control:L,name:`engineVersion`,render:({field:e})=>(0,T.jsxs)(l,{onValueChange:e.onChange,value:e.value,children:[(0,T.jsx)(c,{className:`w-full`,id:`db-engine-version`,children:(0,T.jsx)(a,{placeholder:`Engine default`})}),(0,T.jsx)(s,{children:Ne.map(e=>(0,T.jsx)(o,{disabled:!j(H,e.EngineVersion??``),value:e.EngineVersion??``,children:e.DBEngineVersionDescription??e.EngineVersion},e.EngineVersion))})]})}),(0,T.jsx)(h,{children:`There is no in-place version upgrade, so this cannot be changed after the database is created.`}),(0,T.jsx)(g,{errors:[R.engineVersion]})]}),(0,T.jsx)(w,{control:L,id:`db-instance-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:Ve,options:q.map(e=>({value:e,label:e})),placeholder:`Select an instance class`}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-storage`,children:`Allocated storage (GiB)`})}),(0,T.jsx)(p,{"aria-invalid":!!R.allocatedStorage,id:`db-storage`,max:J?.MaxStorageSize,min:J?.MinStorageSize,type:`number`,...z(`allocatedStorage`,{valueAsNumber:!0})}),(0,T.jsxs)(h,{children:[`gp3, encrypted. Storage grows only — it can never be shrunk.`,J?.MinStorageSize!==void 0&&` This engine accepts ${J.MinStorageSize}–${J.MaxStorageSize} GiB.`]}),(0,T.jsx)(g,{errors:[R.allocatedStorage]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:`Storage encryption`}),(0,T.jsx)(`p`,{className:`text-sm`,children:`Encrypted — always on.`}),(0,T.jsx)(h,{children:`Storage is encrypted with the cluster key. Unencrypted storage is not offered and a customer-managed key is not selectable.`})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-master-username`,children:`Master username`})}),(0,T.jsx)(p,{"aria-invalid":!!R.masterUsername,id:`db-master-username`,placeholder:`dbadmin`,...z(`masterUsername`)}),(0,T.jsx)(g,{errors:[R.masterUsername]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-master-password`,children:`Master password`})}),(0,T.jsx)(p,{"aria-invalid":!!R.masterUserPassword,id:`db-master-password`,type:`password`,...z(`masterUserPassword`)}),(0,T.jsx)(h,{children:`8–128 printable ASCII characters, excluding '/', '"', '@' and spaces.`}),(0,T.jsx)(g,{errors:[R.masterUserPassword]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-confirm-password`,children:`Confirm master password`})}),(0,T.jsx)(p,{"aria-invalid":!!R.confirmPassword,id:`db-confirm-password`,type:`password`,...z(`confirmPassword`)}),(0,T.jsx)(g,{errors:[R.confirmPassword]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-name`,children:`Initial database name`})}),(0,T.jsx)(p,{"aria-invalid":!!R.dbName,id:`db-name`,placeholder:`Optional`,...z(`dbName`)}),(0,T.jsx)(h,{children:`Leave blank to create no database. Letters, digits and underscores, starting with a letter.`}),(0,T.jsx)(g,{errors:[R.dbName]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-port`,children:`Port`})}),(0,T.jsx)(p,{"aria-invalid":!!R.port,id:`db-port`,placeholder:`Engine default`,...z(`port`)}),(0,T.jsx)(h,{children:`Leave blank to use the engine's own port. The port is fixed at create and cannot be changed later.`}),(0,T.jsx)(g,{errors:[R.port]})]}),(0,T.jsx)(w,{control:L,description:`Leave unset to place the endpoint in the account's default VPC subnet. The subnet group cannot be changed after create.`,id:`db-subnet-group`,label:`DB subnet group`,name:`dbSubnetGroupName`,onValueChange:Re,options:Y.map(e=>({value:e.DBSubnetGroupName??``,label:`${e.DBSubnetGroupName} (${e.VpcId})`})),placeholder:`Default VPC subnet`}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:`VPC security groups`}),(0,T.jsx)(Ce,{emptyText:Z?`No security groups available in ${Z}.`:`No default VPC is available for security groups.`,groups:Ie,onChange:$,selected:W}),(0,T.jsx)(g,{errors:[R.vpcSecurityGroupIds]})]}),(0,T.jsx)(w,{control:L,id:`db-parameter-group`,label:`DB parameter group`,name:`dbParameterGroupName`,options:Pe.map(e=>({value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``})),placeholder:`Engine default group`}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-backup-retention`,children:`Backup retention (days)`})}),(0,T.jsx)(p,{"aria-invalid":!!R.backupRetentionPeriod,id:`db-backup-retention`,max:7,min:0,type:`number`,...z(`backupRetentionPeriod`,{valueAsNumber:!0})}),(0,T.jsx)(h,{children:`0 disables automated backups. There is no point-in-time restore; backups are daily snapshots taken in the window below.`}),(0,T.jsx)(g,{errors:[R.backupRetentionPeriod]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-backup-window`,children:`Preferred backup window`})}),(0,T.jsx)(p,{"aria-invalid":!!R.preferredBackupWindow,id:`db-backup-window`,placeholder:`hh24:mi-hh24:mi in UTC`,...z(`preferredBackupWindow`)}),(0,T.jsx)(h,{children:`Leave blank to have one assigned. Minimum 30 minutes.`}),(0,T.jsx)(g,{errors:[R.preferredBackupWindow]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-maintenance-window`,children:`Preferred maintenance window`})}),(0,T.jsx)(p,{"aria-invalid":!!R.preferredMaintenanceWindow,id:`db-maintenance-window`,placeholder:`ddd:hh24:mi-ddd:hh24:mi in UTC`,...z(`preferredMaintenanceWindow`)}),(0,T.jsx)(h,{children:`Leave blank to have one assigned clear of the backup window.`}),(0,T.jsx)(g,{errors:[R.preferredMaintenanceWindow]})]}),(0,T.jsx)(ye,{control:L,name:`deletionProtection`}),(0,T.jsx)(_e,{control:L,name:`tags`}),(0,T.jsxs)(`fieldset`,{className:`space-y-3 rounded-md border border-border p-4`,children:[(0,T.jsx)(`legend`,{className:`px-1 text-sm font-medium`,children:`Not available on Spinifex`}),Te.map(e=>(0,T.jsxs)(`label`,{className:`flex items-start gap-2 text-xs text-muted-foreground`,children:[(0,T.jsx)(`input`,{checked:!1,disabled:!0,readOnly:!0,type:`checkbox`}),(0,T.jsxs)(`span`,{children:[e.label,(0,T.jsx)(`span`,{className:`mt-0.5 block`,children:e.note})]})]},e.id))]}),(0,T.jsx)(re,{commands:Ee({dbInstanceIdentifier:V.dbInstanceIdentifier??``,engine:H,engineVersion:V.engineVersion??``,dbInstanceClass:V.dbInstanceClass??``,allocatedStorage:V.allocatedStorage??20,masterUsername:V.masterUsername??``,dbName:V.dbName??``,port:V.port??``,dbSubnetGroupName:U,vpcSecurityGroupIds:W,dbParameterGroupName:V.dbParameterGroupName??``,deletionProtection:V.deletionProtection??!1,backupRetentionPeriod:V.backupRetentionPeriod??E,preferredBackupWindow:V.preferredBackupWindow??``,preferredMaintenanceWindow:V.preferredMaintenanceWindow??``})}),(0,T.jsx)(he,{isPending:n.isPending,isSubmitting:je,onCancel:async()=>await e({to:`/rds/describe-db-instances`}),pendingLabel:`Creating…`,submitLabel:`Create Database`})]})]})}function Ee(e){return[{label:`Create DB Instance`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-instance`},...f(`--db-instance-identifier`,d(e.dbInstanceIdentifier,`DBInstanceIdentifier`)),...f(`--engine`,d(e.engine,`Engine`)),...f(`--db-instance-class`,d(e.dbInstanceClass,`DBInstanceClass`)),...f(`--allocated-storage`,e.allocatedStorage),...f(`--master-username`,d(e.masterUsername,`MasterUsername`)),{type:`flag`,value:` --master-user-password`},{type:`variable`,value:` $DB_PASSWORD`},...u(`--engine-version`,e.engineVersion),...u(`--db-name`,e.dbName),...u(`--port`,e.port),...u(`--db-subnet-group-name`,e.dbSubnetGroupName),...u(`--vpc-security-group-ids`,e.vpcSecurityGroupIds.join(` `)),...u(`--db-parameter-group-name`,e.dbParameterGroupName),...u(`--deletion-protection`,e.deletionProtection),...f(`--backup-retention-period`,e.backupRetentionPeriod),...u(`--preferred-backup-window`,e.preferredBackupWindow),...u(`--preferred-maintenance-window`,e.preferredMaintenanceWindow)]}]}var O=D;export{O as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as ee}from"./QueryClientProvider.js";import{t as te}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as ne}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as l}from"./select.js";import{i as u,n as d,r as f,t as re}from"./cli-command-panel.js";import{t as p}from"./input.js";import{M as ie,o as m,w as ae}from"./ec2.js";import{h as oe}from"./rds.js";import{t as h}from"./rds2.js";import{d as se,h as ce,l as le,o as ue}from"./rds3.js";import{a as de,i as fe,n as g,t as pe}from"./zod.js";import{t as me}from"./error-banner.js";import{t as he}from"./form-actions.js";import{t as _}from"./page-heading.js";import{a as v,n as y,r as b,t as x}from"./field.js";import{a as S,r as ge}from"./system-managed.js";import{t as _e}from"./tags-field-array.js";import{t as C}from"./system-image-required.js";import{n as ve}from"./picker-notice.js";import{a as ye,i as be,o as w,r as xe,s as Se,t as Ce}from"./security-group-checkboxes.js";var we=e(n(),1),T=t(),E=7,Te=[{id:`multi-az`,label:`Multi-AZ deployment`,note:`Not available on Spinifex — the platform is single-AZ, so a standby would not exist.`},{id:`publicly-accessible`,label:`Public access`,note:`Not available on Spinifex — the endpoint is a private VPC address.`},{id:`storage-autoscaling`,label:`Storage autoscaling`,note:`Not available on Spinifex — allocated storage grows only when you ask it to.`}];function D(){let e=ne(),t=ee(),n=h(),[u,d]=(0,we.useState)(!1),{data:f}=r(ue),{data:D}=r(ce),{data:O}=r(se),{data:De}=r(ae),{data:Oe}=r(ie),{data:ke}=r(m),Ae=ke.Images??[],k=f.DBEngineVersions??[],A=[...new Set(k.map(e=>e.Engine??``).filter(Boolean))],j=(e,t)=>Ae.some(n=>ge(n,e,t)),M=e=>k.find(t=>t.Engine===e&&j(e,t.EngineVersion??``))?.EngineVersion??``,N=e=>M(e).length>0,P=A.filter(N),F=P[0]??``,I=async()=>{d(!0);try{await t.invalidateQueries({queryKey:m.queryKey})}finally{d(!1)}},{control:L,formState:{errors:R,isSubmitting:je},handleSubmit:Me,register:z,setValue:B}=fe({resolver:pe(oe),defaultValues:{dbInstanceIdentifier:``,engine:F,engineVersion:M(F),dbInstanceClass:``,allocatedStorage:20,masterUsername:``,masterUserPassword:``,confirmPassword:``,dbName:``,port:``,dbSubnetGroupName:``,vpcSecurityGroupIds:[],dbParameterGroupName:``,deletionProtection:!1,backupRetentionPeriod:E,preferredBackupWindow:``,preferredMaintenanceWindow:``,tags:[]}}),V=de({control:L}),H=V.engine??``,U=V.dbSubnetGroupName??``,W=V.vpcSecurityGroupIds??[],G=te(le(H)),Ne=k.filter(e=>e.Engine===H),K=G.data?.OrderableDBInstanceOptions??[],q=[...new Set(K.map(e=>e.DBInstanceClass??``).filter(Boolean))],[J]=K,Y=D.DBSubnetGroups??[],Pe=Se(O.DBParameterGroups??[],k,H),Fe=Y.find(e=>e.DBSubnetGroupName===U)?.VpcId,X=Oe.Vpcs?.find(e=>e.IsDefault)?.VpcId,Z=Fe??X,Q=De.SecurityGroups??[],Ie=be(Q,Z),Le=e=>{B(`engine`,e,{shouldValidate:!0}),B(`engineVersion`,M(e)),B(`dbInstanceClass`,``),B(`dbParameterGroupName`,``)},$=e=>B(`vpcSecurityGroupIds`,e,{shouldValidate:!0}),Re=e=>{let t=Y.find(t=>t.DBSubnetGroupName===e)?.VpcId??X;B(`dbSubnetGroupName`,e,{shouldValidate:!0}),$(xe(Q,t,W))},ze=async t=>{await n.mutateAsync(t),await e({to:`/rds/describe-db-instances`})};if(A.length>0&&P.length===0)return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,T.jsx)(_,{title:`Create Database`}),(0,T.jsx)(C,{description:`RDS boots a Spinifex-managed engine image that is not shipped with the platform. Import one before creating a database. Engines offered: ${A.join(`, `)}.`,importCommand:S(A[0]??``),isRechecking:u,onRecheck:I,title:`RDS system image not found`})]});let Be=A.filter(e=>!N(e)),Ve=H===``?{tone:`muted`,text:`Select an engine to see the instance classes this cluster can run.`}:ve(G,q.length===0,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:`No instance class this cluster's nodes can run is available for ${H}.`});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,T.jsx)(_,{title:`Create Database`}),n.error&&(0,T.jsx)(me,{error:n.error,msg:`Failed to create the DB instance`}),(0,T.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:Me(ze),children:[(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-identifier`,children:`DB instance identifier`})}),(0,T.jsx)(p,{"aria-invalid":!!R.dbInstanceIdentifier,id:`db-identifier`,placeholder:`orders-db`,...z(`dbInstanceIdentifier`)}),(0,T.jsx)(y,{children:`Lowercase letters, digits and hyphens. This is also the endpoint hostname, so it cannot be changed later.`}),(0,T.jsx)(b,{errors:[R.dbInstanceIdentifier]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-engine`,children:`Engine`})}),(0,T.jsx)(g,{control:L,name:`engine`,render:({field:e})=>(0,T.jsxs)(l,{onValueChange:e=>Le(e??``),value:e.value,children:[(0,T.jsx)(c,{"aria-invalid":!!R.engine,className:`w-full`,id:`db-engine`,children:(0,T.jsx)(a,{placeholder:`Select an engine`})}),(0,T.jsx)(s,{children:A.map(e=>(0,T.jsx)(o,{disabled:!N(e),value:e,children:N(e)?e:`${e} — image not imported`},e))})]})}),(0,T.jsx)(b,{errors:[R.engine]})]}),Be.map(e=>(0,T.jsx)(C,{description:`No ${e} image is imported on this cluster, so a ${e} database cannot launch. The other engines are unaffected.`,importCommand:S(e),isRechecking:u,onRecheck:I,title:`${e} image not found`},e)),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-engine-version`,children:`Engine version`})}),(0,T.jsx)(g,{control:L,name:`engineVersion`,render:({field:e})=>(0,T.jsxs)(l,{onValueChange:e.onChange,value:e.value,children:[(0,T.jsx)(c,{className:`w-full`,id:`db-engine-version`,children:(0,T.jsx)(a,{placeholder:`Engine default`})}),(0,T.jsx)(s,{children:Ne.map(e=>(0,T.jsx)(o,{disabled:!j(H,e.EngineVersion??``),value:e.EngineVersion??``,children:e.DBEngineVersionDescription??e.EngineVersion},e.EngineVersion))})]})}),(0,T.jsx)(y,{children:`There is no in-place version upgrade, so this cannot be changed after the database is created.`}),(0,T.jsx)(b,{errors:[R.engineVersion]})]}),(0,T.jsx)(w,{control:L,id:`db-instance-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:Ve,options:q.map(e=>({value:e,label:e})),placeholder:`Select an instance class`}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-storage`,children:`Allocated storage (GiB)`})}),(0,T.jsx)(p,{"aria-invalid":!!R.allocatedStorage,id:`db-storage`,max:J?.MaxStorageSize,min:J?.MinStorageSize,type:`number`,...z(`allocatedStorage`,{valueAsNumber:!0})}),(0,T.jsxs)(y,{children:[`gp3, encrypted. Storage grows only — it can never be shrunk.`,J?.MinStorageSize!==void 0&&` This engine accepts ${J.MinStorageSize}–${J.MaxStorageSize} GiB.`]}),(0,T.jsx)(b,{errors:[R.allocatedStorage]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:`Storage encryption`}),(0,T.jsx)(`p`,{className:`text-sm`,children:`Encrypted — always on.`}),(0,T.jsx)(y,{children:`Storage is encrypted with the cluster key. Unencrypted storage is not offered and a customer-managed key is not selectable.`})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-master-username`,children:`Master username`})}),(0,T.jsx)(p,{"aria-invalid":!!R.masterUsername,id:`db-master-username`,placeholder:`dbadmin`,...z(`masterUsername`)}),(0,T.jsx)(b,{errors:[R.masterUsername]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-master-password`,children:`Master password`})}),(0,T.jsx)(p,{"aria-invalid":!!R.masterUserPassword,id:`db-master-password`,type:`password`,...z(`masterUserPassword`)}),(0,T.jsx)(y,{children:`8–128 printable ASCII characters, excluding '/', '"', '@' and spaces.`}),(0,T.jsx)(b,{errors:[R.masterUserPassword]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-confirm-password`,children:`Confirm master password`})}),(0,T.jsx)(p,{"aria-invalid":!!R.confirmPassword,id:`db-confirm-password`,type:`password`,...z(`confirmPassword`)}),(0,T.jsx)(b,{errors:[R.confirmPassword]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-name`,children:`Initial database name`})}),(0,T.jsx)(p,{"aria-invalid":!!R.dbName,id:`db-name`,placeholder:`Optional`,...z(`dbName`)}),(0,T.jsx)(y,{children:`Leave blank to create no database. Letters, digits and underscores, starting with a letter.`}),(0,T.jsx)(b,{errors:[R.dbName]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-port`,children:`Port`})}),(0,T.jsx)(p,{"aria-invalid":!!R.port,id:`db-port`,placeholder:`Engine default`,...z(`port`)}),(0,T.jsx)(y,{children:`Leave blank to use the engine's own port. The port is fixed at create and cannot be changed later.`}),(0,T.jsx)(b,{errors:[R.port]})]}),(0,T.jsx)(w,{control:L,description:`Leave unset to place the endpoint in the account's default VPC subnet. The subnet group cannot be changed after create.`,id:`db-subnet-group`,label:`DB subnet group`,name:`dbSubnetGroupName`,onValueChange:Re,options:Y.map(e=>({value:e.DBSubnetGroupName??``,label:`${e.DBSubnetGroupName} (${e.VpcId})`})),placeholder:`Default VPC subnet`}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:`VPC security groups`}),(0,T.jsx)(Ce,{emptyText:Z?`No security groups available in ${Z}.`:`No default VPC is available for security groups.`,groups:Ie,onChange:$,selected:W}),(0,T.jsx)(b,{errors:[R.vpcSecurityGroupIds]})]}),(0,T.jsx)(w,{control:L,id:`db-parameter-group`,label:`DB parameter group`,name:`dbParameterGroupName`,options:Pe.map(e=>({value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``})),placeholder:`Engine default group`}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-backup-retention`,children:`Backup retention (days)`})}),(0,T.jsx)(p,{"aria-invalid":!!R.backupRetentionPeriod,id:`db-backup-retention`,max:7,min:0,type:`number`,...z(`backupRetentionPeriod`,{valueAsNumber:!0})}),(0,T.jsx)(y,{children:`0 disables automated backups. There is no point-in-time restore; backups are daily snapshots taken in the window below.`}),(0,T.jsx)(b,{errors:[R.backupRetentionPeriod]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-backup-window`,children:`Preferred backup window`})}),(0,T.jsx)(p,{"aria-invalid":!!R.preferredBackupWindow,id:`db-backup-window`,placeholder:`hh24:mi-hh24:mi in UTC`,...z(`preferredBackupWindow`)}),(0,T.jsx)(y,{children:`Leave blank to have one assigned. Minimum 30 minutes.`}),(0,T.jsx)(b,{errors:[R.preferredBackupWindow]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{children:(0,T.jsx)(`label`,{htmlFor:`db-maintenance-window`,children:`Preferred maintenance window`})}),(0,T.jsx)(p,{"aria-invalid":!!R.preferredMaintenanceWindow,id:`db-maintenance-window`,placeholder:`ddd:hh24:mi-ddd:hh24:mi in UTC`,...z(`preferredMaintenanceWindow`)}),(0,T.jsx)(y,{children:`Leave blank to have one assigned clear of the backup window.`}),(0,T.jsx)(b,{errors:[R.preferredMaintenanceWindow]})]}),(0,T.jsx)(ye,{control:L,name:`deletionProtection`}),(0,T.jsx)(_e,{control:L,name:`tags`}),(0,T.jsxs)(`fieldset`,{className:`space-y-3 rounded-md border border-border p-4`,children:[(0,T.jsx)(`legend`,{className:`px-1 text-sm font-medium`,children:`Not available on Spinifex`}),Te.map(e=>(0,T.jsxs)(`label`,{className:`flex items-start gap-2 text-xs text-muted-foreground`,children:[(0,T.jsx)(`input`,{checked:!1,disabled:!0,readOnly:!0,type:`checkbox`}),(0,T.jsxs)(`span`,{children:[e.label,(0,T.jsx)(`span`,{className:`mt-0.5 block`,children:e.note})]})]},e.id))]}),(0,T.jsx)(re,{commands:Ee({dbInstanceIdentifier:V.dbInstanceIdentifier??``,engine:H,engineVersion:V.engineVersion??``,dbInstanceClass:V.dbInstanceClass??``,allocatedStorage:V.allocatedStorage??20,masterUsername:V.masterUsername??``,dbName:V.dbName??``,port:V.port??``,dbSubnetGroupName:U,vpcSecurityGroupIds:W,dbParameterGroupName:V.dbParameterGroupName??``,deletionProtection:V.deletionProtection??!1,backupRetentionPeriod:V.backupRetentionPeriod??E,preferredBackupWindow:V.preferredBackupWindow??``,preferredMaintenanceWindow:V.preferredMaintenanceWindow??``})}),(0,T.jsx)(he,{isPending:n.isPending,isSubmitting:je,onCancel:async()=>await e({to:`/rds/describe-db-instances`}),pendingLabel:`Creating…`,submitLabel:`Create Database`})]})]})}function Ee(e){return[{label:`Create DB Instance`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-instance`},...f(`--db-instance-identifier`,d(e.dbInstanceIdentifier,`DBInstanceIdentifier`)),...f(`--engine`,d(e.engine,`Engine`)),...f(`--db-instance-class`,d(e.dbInstanceClass,`DBInstanceClass`)),...f(`--allocated-storage`,e.allocatedStorage),...f(`--master-username`,d(e.masterUsername,`MasterUsername`)),{type:`flag`,value:` --master-user-password`},{type:`variable`,value:` $DB_PASSWORD`},...u(`--engine-version`,e.engineVersion),...u(`--db-name`,e.dbName),...u(`--port`,e.port),...u(`--db-subnet-group-name`,e.dbSubnetGroupName),...u(`--vpc-security-group-ids`,e.vpcSecurityGroupIds.join(` `)),...u(`--db-parameter-group-name`,e.dbParameterGroupName),...u(`--deletion-protection`,e.deletionProtection),...f(`--backup-retention-period`,e.backupRetentionPeriod),...u(`--preferred-backup-window`,e.preferredBackupWindow),...u(`--preferred-maintenance-window`,e.preferredMaintenanceWindow)]}]}var O=D;export{O as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js index 0f4312585..a6ffb0acf 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./useNavigate.js";import{t as ne}from"./back-link.js";import{c as re,i as n,n as ie,s as ae,t as oe}from"./select.js";import{n as r,r as i,t as se}from"./cli-command-panel.js";import{t as ce}from"./input.js";import{a,n as le,r as o,t as s}from"./field.js";import{g as ue}from"./rds.js";import{n as de}from"./rds2.js";import{o as fe}from"./rds3.js";import{a as pe,i as me,n as he,t as ge}from"./zod.js";import{t as _e}from"./error-banner.js";import{t as ve}from"./page-heading.js";import{t as ye}from"./form-actions.js";import{t as be}from"./tags-field-array.js";var xe=t(),c=e();function l(){let e=(0,xe.c)(82),t=te(),n=de(),{data:r}=ee(fe),i;e[0]===r.DBEngineVersions?i=e[1]:(i=new Map((r.DBEngineVersions??[]).filter(we).map(Ce)),e[0]=r.DBEngineVersions,e[1]=i);let l;e[2]===i?l=e[3]:(l=[...i],e[2]=i,e[3]=l);let u=l,d;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=ge(ue),e[4]=d):d=e[4];let f=u[0]?.[0]??``,p;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=[],e[5]=p):p=e[5];let m;e[6]===f?m=e[7]:(m={resolver:d,defaultValues:{dbParameterGroupName:``,dbParameterGroupFamily:f,description:``,tags:p}},e[6]=f,e[7]=m);let{control:h,formState:Ee,handleSubmit:g,register:_}=me(m),{errors:v,isSubmitting:y}=Ee,b;e[8]===h?b=e[9]:(b={control:h},e[8]=h,e[9]=b);let x=pe(b),S;e[10]!==n||e[11]!==t?(S=async e=>{await n.mutateAsync(e),await t({to:`/rds/describe-db-parameter-groups/$name`,params:{name:e.dbParameterGroupName}})},e[10]=n,e[11]=t,e[12]=S):S=e[12];let C=S,w,T;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,c.jsx)(ne,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),w=(0,c.jsx)(ve,{title:`Create DB Parameter Group`}),e[13]=w,e[14]=T):(w=e[13],T=e[14]);let E;e[15]===n.error?E=e[16]:(E=n.error&&(0,c.jsx)(_e,{error:n.error,msg:`Failed to create the DB parameter group`}),e[15]=n.error,e[16]=E);let D;e[17]!==g||e[18]!==C?(D=g(C),e[17]=g,e[18]=C,e[19]=D):D=e[19];let O;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`parameter-group-name`,children:`Name`})}),e[20]=O):O=e[20];let k=!!v.dbParameterGroupName,A;e[21]===_?A=e[22]:(A=_(`dbParameterGroupName`),e[21]=_,e[22]=A);let j;e[23]!==k||e[24]!==A?(j=(0,c.jsx)(ce,{"aria-invalid":k,id:`parameter-group-name`,placeholder:`orders-postgres18`,...A}),e[23]=k,e[24]=A,e[25]=j):j=e[25];let M;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,c.jsx)(le,{children:`Letters, digits and hyphens, starting with a letter. The service reserves the name "default" and the "default." prefix.`}),e[26]=M):M=e[26];let N;e[27]===v.dbParameterGroupName?N=e[28]:(N=(0,c.jsx)(o,{errors:[v.dbParameterGroupName]}),e[27]=v.dbParameterGroupName,e[28]=N);let P;e[29]!==j||e[30]!==N?(P=(0,c.jsxs)(s,{children:[O,j,M,N]}),e[29]=j,e[30]=N,e[31]=P):P=e[31];let F;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`parameter-group-family`,children:`Family`})}),e[32]=F):F=e[32];let I;e[33]!==v.dbParameterGroupFamily||e[34]!==u?(I=e=>{let{field:t}=e;return(0,c.jsxs)(oe,{onValueChange:t.onChange,value:t.value,children:[(0,c.jsx)(ae,{"aria-invalid":!!v.dbParameterGroupFamily,className:`w-full`,id:`parameter-group-family`,children:(0,c.jsx)(re,{placeholder:`Select a family`})}),(0,c.jsx)(ie,{children:u.map(Se)})]})},e[33]=v.dbParameterGroupFamily,e[34]=u,e[35]=I):I=e[35];let L;e[36]!==h||e[37]!==I?(L=(0,c.jsx)(he,{control:h,name:`dbParameterGroupFamily`,render:I}),e[36]=h,e[37]=I,e[38]=L):L=e[38];let R;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,c.jsx)(le,{children:`The family fixes which engine can attach the group, and it cannot be changed afterwards. A group of one family is refused by an instance of the other engine.`}),e[39]=R):R=e[39];let z;e[40]===v.dbParameterGroupFamily?z=e[41]:(z=(0,c.jsx)(o,{errors:[v.dbParameterGroupFamily]}),e[40]=v.dbParameterGroupFamily,e[41]=z);let B;e[42]!==L||e[43]!==z?(B=(0,c.jsxs)(s,{children:[F,L,R,z]}),e[42]=L,e[43]=z,e[44]=B):B=e[44];let V;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`parameter-group-description`,children:`Description`})}),e[45]=V):V=e[45];let De=!!v.description,H;e[46]===_?H=e[47]:(H=_(`description`),e[46]=_,e[47]=H);let U;e[48]!==De||e[49]!==H?(U=(0,c.jsx)(ce,{"aria-invalid":De,id:`parameter-group-description`,placeholder:`Tuned settings for the orders database`,...H}),e[48]=De,e[49]=H,e[50]=U):U=e[50];let W;e[51]===v.description?W=e[52]:(W=(0,c.jsx)(o,{errors:[v.description]}),e[51]=v.description,e[52]=W);let G;e[53]!==U||e[54]!==W?(G=(0,c.jsxs)(s,{children:[V,U,W]}),e[53]=U,e[54]=W,e[55]=G):G=e[55];let K;e[56]===h?K=e[57]:(K=(0,c.jsx)(be,{control:h,name:`tags`}),e[56]=h,e[57]=K);let q;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,c.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A new group starts empty: every value is the engine default until you override one, so a fresh group and the default group behave identically.`}),e[58]=q):q=e[58];let Oe=x.dbParameterGroupName??``,ke=x.dbParameterGroupFamily??``,Ae=x.description??``,J;e[59]!==Oe||e[60]!==ke||e[61]!==Ae?(J=Te({dbParameterGroupName:Oe,dbParameterGroupFamily:ke,description:Ae}),e[59]=Oe,e[60]=ke,e[61]=Ae,e[62]=J):J=e[62];let Y;e[63]===J?Y=e[64]:(Y=(0,c.jsx)(se,{commands:J}),e[63]=J,e[64]=Y);let X;e[65]===t?X=e[66]:(X=async()=>await t({to:`/rds/describe-db-parameter-groups`}),e[65]=t,e[66]=X);let Z;e[67]!==n.isPending||e[68]!==y||e[69]!==X?(Z=(0,c.jsx)(ye,{isPending:n.isPending,isSubmitting:y,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Parameter Group`}),e[67]=n.isPending,e[68]=y,e[69]=X,e[70]=Z):Z=e[70];let Q;e[71]!==D||e[72]!==P||e[73]!==B||e[74]!==G||e[75]!==K||e[76]!==Y||e[77]!==Z?(Q=(0,c.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:D,children:[P,B,G,K,q,Y,Z]}),e[71]=D,e[72]=P,e[73]=B,e[74]=G,e[75]=K,e[76]=Y,e[77]=Z,e[78]=Q):Q=e[78];let $;return e[79]!==E||e[80]!==Q?($=(0,c.jsxs)(c.Fragment,{children:[T,w,E,Q]}),e[79]=E,e[80]=Q,e[81]=$):$=e[81],$}function Se(e){let[t,ee]=e;return(0,c.jsxs)(n,{value:t,children:[t,` — `,ee]},t)}function Ce(e){return[e.DBParameterGroupFamily??``,e.DBEngineVersionDescription??e.Engine??``]}function we(e){return e.DBParameterGroupFamily}function Te(e){return[{label:`Create DB Parameter Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-parameter-group`},...i(`--db-parameter-group-name`,r(e.dbParameterGroupName,`DBParameterGroupName`)),...i(`--db-parameter-group-family`,r(e.dbParameterGroupFamily,`DBParameterGroupFamily`)),...i(`--description`,`"${r(e.description,`Description`)}"`)]}]}var u=l;export{u as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./useNavigate.js";import{t as ne}from"./back-link.js";import{c as re,i as n,n as ie,s as ae,t as oe}from"./select.js";import{n as r,r as i,t as se}from"./cli-command-panel.js";import{t as ce}from"./input.js";import{g as le}from"./rds.js";import{n as ue}from"./rds2.js";import{o as de}from"./rds3.js";import{a as fe,i as pe,n as me,t as he}from"./zod.js";import{t as ge}from"./error-banner.js";import{t as _e}from"./form-actions.js";import{t as ve}from"./page-heading.js";import{a,n as ye,r as o,t as be}from"./field.js";import{t as xe}from"./tags-field-array.js";var Se=t(),s=e();function c(){let e=(0,Se.c)(82),t=te(),n=ue(),{data:r}=ee(de),i;e[0]===r.DBEngineVersions?i=e[1]:(i=new Map((r.DBEngineVersions??[]).filter(Te).map(we)),e[0]=r.DBEngineVersions,e[1]=i);let c;e[2]===i?c=e[3]:(c=[...i],e[2]=i,e[3]=c);let l=c,u;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=he(le),e[4]=u):u=e[4];let d=l[0]?.[0]??``,f;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],e[5]=f):f=e[5];let p;e[6]===d?p=e[7]:(p={resolver:u,defaultValues:{dbParameterGroupName:``,dbParameterGroupFamily:d,description:``,tags:f}},e[6]=d,e[7]=p);let{control:m,formState:De,handleSubmit:h,register:g}=pe(p),{errors:_,isSubmitting:v}=De,y;e[8]===m?y=e[9]:(y={control:m},e[8]=m,e[9]=y);let b=fe(y),x;e[10]!==n||e[11]!==t?(x=async e=>{await n.mutateAsync(e),await t({to:`/rds/describe-db-parameter-groups/$name`,params:{name:e.dbParameterGroupName}})},e[10]=n,e[11]=t,e[12]=x):x=e[12];let S=x,C,w;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,s.jsx)(ne,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),C=(0,s.jsx)(ve,{title:`Create DB Parameter Group`}),e[13]=C,e[14]=w):(C=e[13],w=e[14]);let T;e[15]===n.error?T=e[16]:(T=n.error&&(0,s.jsx)(ge,{error:n.error,msg:`Failed to create the DB parameter group`}),e[15]=n.error,e[16]=T);let E;e[17]!==h||e[18]!==S?(E=h(S),e[17]=h,e[18]=S,e[19]=E):E=e[19];let D;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`parameter-group-name`,children:`Name`})}),e[20]=D):D=e[20];let O=!!_.dbParameterGroupName,k;e[21]===g?k=e[22]:(k=g(`dbParameterGroupName`),e[21]=g,e[22]=k);let A;e[23]!==O||e[24]!==k?(A=(0,s.jsx)(ce,{"aria-invalid":O,id:`parameter-group-name`,placeholder:`orders-postgres18`,...k}),e[23]=O,e[24]=k,e[25]=A):A=e[25];let j;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,s.jsx)(ye,{children:`Letters, digits and hyphens, starting with a letter. The service reserves the name "default" and the "default." prefix.`}),e[26]=j):j=e[26];let M;e[27]===_.dbParameterGroupName?M=e[28]:(M=(0,s.jsx)(o,{errors:[_.dbParameterGroupName]}),e[27]=_.dbParameterGroupName,e[28]=M);let N;e[29]!==A||e[30]!==M?(N=(0,s.jsxs)(be,{children:[D,A,j,M]}),e[29]=A,e[30]=M,e[31]=N):N=e[31];let P;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`parameter-group-family`,children:`Family`})}),e[32]=P):P=e[32];let F;e[33]!==_.dbParameterGroupFamily||e[34]!==l?(F=e=>{let{field:t}=e;return(0,s.jsxs)(oe,{onValueChange:t.onChange,value:t.value,children:[(0,s.jsx)(ae,{"aria-invalid":!!_.dbParameterGroupFamily,className:`w-full`,id:`parameter-group-family`,children:(0,s.jsx)(re,{placeholder:`Select a family`})}),(0,s.jsx)(ie,{children:l.map(Ce)})]})},e[33]=_.dbParameterGroupFamily,e[34]=l,e[35]=F):F=e[35];let I;e[36]!==m||e[37]!==F?(I=(0,s.jsx)(me,{control:m,name:`dbParameterGroupFamily`,render:F}),e[36]=m,e[37]=F,e[38]=I):I=e[38];let L;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,s.jsx)(ye,{children:`The family fixes which engine can attach the group, and it cannot be changed afterwards. A group of one family is refused by an instance of the other engine.`}),e[39]=L):L=e[39];let R;e[40]===_.dbParameterGroupFamily?R=e[41]:(R=(0,s.jsx)(o,{errors:[_.dbParameterGroupFamily]}),e[40]=_.dbParameterGroupFamily,e[41]=R);let z;e[42]!==I||e[43]!==R?(z=(0,s.jsxs)(be,{children:[P,I,L,R]}),e[42]=I,e[43]=R,e[44]=z):z=e[44];let B;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`parameter-group-description`,children:`Description`})}),e[45]=B):B=e[45];let V=!!_.description,H;e[46]===g?H=e[47]:(H=g(`description`),e[46]=g,e[47]=H);let U;e[48]!==V||e[49]!==H?(U=(0,s.jsx)(ce,{"aria-invalid":V,id:`parameter-group-description`,placeholder:`Tuned settings for the orders database`,...H}),e[48]=V,e[49]=H,e[50]=U):U=e[50];let W;e[51]===_.description?W=e[52]:(W=(0,s.jsx)(o,{errors:[_.description]}),e[51]=_.description,e[52]=W);let G;e[53]!==U||e[54]!==W?(G=(0,s.jsxs)(be,{children:[B,U,W]}),e[53]=U,e[54]=W,e[55]=G):G=e[55];let K;e[56]===m?K=e[57]:(K=(0,s.jsx)(xe,{control:m,name:`tags`}),e[56]=m,e[57]=K);let q;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A new group starts empty: every value is the engine default until you override one, so a fresh group and the default group behave identically.`}),e[58]=q):q=e[58];let Oe=b.dbParameterGroupName??``,ke=b.dbParameterGroupFamily??``,Ae=b.description??``,J;e[59]!==Oe||e[60]!==ke||e[61]!==Ae?(J=Ee({dbParameterGroupName:Oe,dbParameterGroupFamily:ke,description:Ae}),e[59]=Oe,e[60]=ke,e[61]=Ae,e[62]=J):J=e[62];let Y;e[63]===J?Y=e[64]:(Y=(0,s.jsx)(se,{commands:J}),e[63]=J,e[64]=Y);let X;e[65]===t?X=e[66]:(X=async()=>await t({to:`/rds/describe-db-parameter-groups`}),e[65]=t,e[66]=X);let Z;e[67]!==n.isPending||e[68]!==v||e[69]!==X?(Z=(0,s.jsx)(_e,{isPending:n.isPending,isSubmitting:v,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Parameter Group`}),e[67]=n.isPending,e[68]=v,e[69]=X,e[70]=Z):Z=e[70];let Q;e[71]!==E||e[72]!==N||e[73]!==z||e[74]!==G||e[75]!==K||e[76]!==Y||e[77]!==Z?(Q=(0,s.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:E,children:[N,z,G,K,q,Y,Z]}),e[71]=E,e[72]=N,e[73]=z,e[74]=G,e[75]=K,e[76]=Y,e[77]=Z,e[78]=Q):Q=e[78];let $;return e[79]!==T||e[80]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[w,C,T,Q]}),e[79]=T,e[80]=Q,e[81]=$):$=e[81],$}function Ce(e){let[t,ee]=e;return(0,s.jsxs)(n,{value:t,children:[t,` — `,ee]},t)}function we(e){return[e.DBParameterGroupFamily??``,e.DBEngineVersionDescription??e.Engine??``]}function Te(e){return e.DBParameterGroupFamily}function Ee(e){return[{label:`Create DB Parameter Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-parameter-group`},...i(`--db-parameter-group-name`,r(e.dbParameterGroupName,`DBParameterGroupName`)),...i(`--db-parameter-group-family`,r(e.dbParameterGroupFamily,`DBParameterGroupFamily`)),...i(`--description`,`"${r(e.description,`Description`)}"`)]}]}var l=c;export{l as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js index 894a75073..9c822b5cf 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useQuery.js";import{c as te,i,n as ne,s as re,t as ie}from"./select.js";import{t as a}from"./button.js";import{t as ae}from"./input.js";import{a as o,n as oe,r as se,t as s}from"./field.js";import{a as ce,i as le,l as ue,s as de,t as fe}from"./alert-dialog.js";import{_ as pe,f as c,w as me}from"./rds.js";import{r as he}from"./rds2.js";import{r as ge}from"./rds3.js";import{i as _e,t as ve}from"./zod.js";import{t as ye}from"./tags-field-array.js";import{n as be,t as xe}from"./picker-notice.js";var Se=r(),Ce=e(n(),1),l=t();function u(e){let t=(0,Se.c)(63),{open:n,onOpenChange:r,dbInstanceIdentifier:i,onCreated:c}=e,u=he(),d=i===void 0,f;t[0]===d?f=t[1]:(f={...ge,enabled:d},t[0]=d,t[1]=f);let p=ee(f),[m,Ee]=(0,Ce.useState)(i??``),h=(p.data?.DBInstances??[]).filter(Te),g=h.length===0,_;t[2]!==p||t[3]!==g?(_=be(p,g,{loading:`Loading the DB instances…`,failed:`Could not read the DB instances`,empty:`No DB instance is available or stopped, which is what a snapshot is taken from.`}),t[2]=p,t[3]=g,t[4]=_):_=t[4];let v=_,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=ve(pe),t[5]=y):y=t[5];let b;t[6]===i?b=t[7]:(b=i?me(i,`snapshot`):``,t[6]=i,t[7]=b);let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=[],t[8]=x):x=t[8];let S;t[9]===b?S=t[10]:(S={resolver:y,defaultValues:{dbSnapshotIdentifier:b,tags:x}},t[9]=b,t[10]=S);let{control:C,formState:De,handleSubmit:w,register:T,setValue:E}=_e(S),{errors:D,isSubmitting:Oe}=De,O;t[11]===E?O=t[12]:(O=function(e){Ee(e??``),e&&E(`dbSnapshotIdentifier`,me(e,`snapshot`),{shouldValidate:!0})},t[11]=E,t[12]=O);let ke=O,k;t[13]!==u||t[14]!==c||t[15]!==r||t[16]!==m?(k=async e=>{try{await u.mutateAsync({...e,dbInstanceIdentifier:m})}catch{return}r(!1),c?.()},t[13]=u,t[14]=c,t[15]=r,t[16]=m,t[17]=k):k=t[17];let A=k,j=fe,M=le,N;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,l.jsxs)(de,{children:[(0,l.jsx)(ue,{children:`Take DB Snapshot`}),(0,l.jsx)(ce,{children:`The engine is held at a checkpoint while the snapshot is taken, so the instance reads as backing-up until it finishes.`})]}),t[18]=N):N=t[18];let P;t[19]!==w||t[20]!==A?(P=w(A),t[19]=w,t[20]=A,t[21]=P):P=t[21];let F=i?(0,l.jsxs)(s,{children:[(0,l.jsx)(o,{children:`DB instance`}),(0,l.jsx)(`p`,{className:`font-mono text-sm`,children:i})]}):(0,l.jsxs)(s,{children:[(0,l.jsx)(o,{children:(0,l.jsx)(`label`,{htmlFor:`snapshot-instance`,children:`DB instance`})}),v?(0,l.jsx)(xe,{notice:v}):(0,l.jsxs)(ie,{onValueChange:ke,value:m,children:[(0,l.jsx)(re,{className:`w-full`,id:`snapshot-instance`,children:(0,l.jsx)(te,{placeholder:`Select a DB instance`})}),(0,l.jsx)(ne,{children:h.map(we)})]})]}),I;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,l.jsx)(o,{children:(0,l.jsx)(`label`,{htmlFor:`snapshot-identifier`,children:`Snapshot identifier`})}),t[22]=I):I=t[22];let L=!!D.dbSnapshotIdentifier,R;t[23]===T?R=t[24]:(R=T(`dbSnapshotIdentifier`),t[23]=T,t[24]=R);let z;t[25]!==L||t[26]!==R?(z=(0,l.jsx)(ae,{"aria-invalid":L,id:`snapshot-identifier`,...R}),t[25]=L,t[26]=R,t[27]=z):z=t[27];let B;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,l.jsx)(oe,{children:`Lowercase letters, digits and hyphens. The rds: namespace belongs to automated backups and cannot be used here.`}),t[28]=B):B=t[28];let V;t[29]===D.dbSnapshotIdentifier?V=t[30]:(V=(0,l.jsx)(se,{errors:[D.dbSnapshotIdentifier]}),t[29]=D.dbSnapshotIdentifier,t[30]=V);let H;t[31]!==z||t[32]!==V?(H=(0,l.jsxs)(s,{children:[I,z,B,V]}),t[31]=z,t[32]=V,t[33]=H):H=t[33];let U;t[34]===C?U=t[35]:(U=(0,l.jsx)(ye,{control:C,name:`tags`}),t[34]=C,t[35]=U);let W;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,l.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A snapshot the engine could not be quiesced for is still taken and reported as crash consistent on the source instance's Backups tab. The snapshot's own events never carry it.`}),t[36]=W):W=t[36];let G;t[37]===u.error?G=t[38]:(G=u.error&&(0,l.jsx)(`p`,{className:`text-sm text-destructive`,children:u.error.message}),t[37]=u.error,t[38]=G);let K;t[39]===r?K=t[40]:(K=(0,l.jsx)(a,{onClick:()=>r(!1),type:`button`,variant:`outline`,children:`Cancel`}),t[39]=r,t[40]=K);let q=Oe||u.isPending||m===``,J=u.isPending?`Taking Snapshot…`:`Take Snapshot`,Y;t[41]!==q||t[42]!==J?(Y=(0,l.jsx)(a,{disabled:q,type:`submit`,children:J}),t[41]=q,t[42]=J,t[43]=Y):Y=t[43];let X;t[44]!==K||t[45]!==Y?(X=(0,l.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[K,Y]}),t[44]=K,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==P||t[48]!==F||t[49]!==H||t[50]!==U||t[51]!==G||t[52]!==X?(Z=(0,l.jsxs)(`form`,{className:`space-y-4`,onSubmit:P,children:[F,H,U,W,G,X]}),t[47]=P,t[48]=F,t[49]=H,t[50]=U,t[51]=G,t[52]=X,t[53]=Z):Z=t[53];let Q;t[54]!==M||t[55]!==N||t[56]!==Z?(Q=(0,l.jsxs)(M,{className:`max-h-[85vh] overflow-y-auto`,children:[N,Z]}),t[54]=M,t[55]=N,t[56]=Z,t[57]=Q):Q=t[57];let $;return t[58]!==j||t[59]!==r||t[60]!==n||t[61]!==Q?($=(0,l.jsx)(j,{onOpenChange:r,open:n,children:Q}),t[58]=j,t[59]=r,t[60]=n,t[61]=Q,t[62]=$):$=t[62],$}function we(e){return(0,l.jsxs)(i,{value:e.DBInstanceIdentifier??``,children:[e.DBInstanceIdentifier,` (`,e.DBInstanceStatus,`)`]},e.DBInstanceIdentifier)}function Te(e){return c(e.DBInstanceStatus)}export{u as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useQuery.js";import{c as te,i,n as ne,s as re,t as ie}from"./select.js";import{t as a}from"./button.js";import{t as ae}from"./input.js";import{_ as oe,f as o,w as se}from"./rds.js";import{r as ce}from"./rds2.js";import{r as le}from"./rds3.js";import{i as ue,t as de}from"./zod.js";import{a as s,n as fe,r as pe,t as c}from"./field.js";import{a as me,i as he,l as ge,s as _e,t as ve}from"./alert-dialog.js";import{t as ye}from"./tags-field-array.js";import{n as be,t as xe}from"./picker-notice.js";var Se=r(),Ce=e(n(),1),l=t();function u(e){let t=(0,Se.c)(63),{open:n,onOpenChange:r,dbInstanceIdentifier:i,onCreated:o}=e,u=ce(),d=i===void 0,f;t[0]===d?f=t[1]:(f={...le,enabled:d},t[0]=d,t[1]=f);let p=ee(f),[m,Ee]=(0,Ce.useState)(i??``),h=(p.data?.DBInstances??[]).filter(Te),g=h.length===0,_;t[2]!==p||t[3]!==g?(_=be(p,g,{loading:`Loading the DB instances…`,failed:`Could not read the DB instances`,empty:`No DB instance is available or stopped, which is what a snapshot is taken from.`}),t[2]=p,t[3]=g,t[4]=_):_=t[4];let v=_,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=de(oe),t[5]=y):y=t[5];let b;t[6]===i?b=t[7]:(b=i?se(i,`snapshot`):``,t[6]=i,t[7]=b);let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=[],t[8]=x):x=t[8];let S;t[9]===b?S=t[10]:(S={resolver:y,defaultValues:{dbSnapshotIdentifier:b,tags:x}},t[9]=b,t[10]=S);let{control:C,formState:De,handleSubmit:w,register:T,setValue:E}=ue(S),{errors:D,isSubmitting:Oe}=De,O;t[11]===E?O=t[12]:(O=function(e){Ee(e??``),e&&E(`dbSnapshotIdentifier`,se(e,`snapshot`),{shouldValidate:!0})},t[11]=E,t[12]=O);let ke=O,k;t[13]!==u||t[14]!==o||t[15]!==r||t[16]!==m?(k=async e=>{try{await u.mutateAsync({...e,dbInstanceIdentifier:m})}catch{return}r(!1),o?.()},t[13]=u,t[14]=o,t[15]=r,t[16]=m,t[17]=k):k=t[17];let A=k,j=ve,M=he,N;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,l.jsxs)(_e,{children:[(0,l.jsx)(ge,{children:`Take DB Snapshot`}),(0,l.jsx)(me,{children:`The engine is held at a checkpoint while the snapshot is taken, so the instance reads as backing-up until it finishes.`})]}),t[18]=N):N=t[18];let P;t[19]!==w||t[20]!==A?(P=w(A),t[19]=w,t[20]=A,t[21]=P):P=t[21];let F=i?(0,l.jsxs)(c,{children:[(0,l.jsx)(s,{children:`DB instance`}),(0,l.jsx)(`p`,{className:`font-mono text-sm`,children:i})]}):(0,l.jsxs)(c,{children:[(0,l.jsx)(s,{children:(0,l.jsx)(`label`,{htmlFor:`snapshot-instance`,children:`DB instance`})}),v?(0,l.jsx)(xe,{notice:v}):(0,l.jsxs)(ie,{onValueChange:ke,value:m,children:[(0,l.jsx)(re,{className:`w-full`,id:`snapshot-instance`,children:(0,l.jsx)(te,{placeholder:`Select a DB instance`})}),(0,l.jsx)(ne,{children:h.map(we)})]})]}),I;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,l.jsx)(s,{children:(0,l.jsx)(`label`,{htmlFor:`snapshot-identifier`,children:`Snapshot identifier`})}),t[22]=I):I=t[22];let L=!!D.dbSnapshotIdentifier,R;t[23]===T?R=t[24]:(R=T(`dbSnapshotIdentifier`),t[23]=T,t[24]=R);let z;t[25]!==L||t[26]!==R?(z=(0,l.jsx)(ae,{"aria-invalid":L,id:`snapshot-identifier`,...R}),t[25]=L,t[26]=R,t[27]=z):z=t[27];let B;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,l.jsx)(fe,{children:`Lowercase letters, digits and hyphens. The rds: namespace belongs to automated backups and cannot be used here.`}),t[28]=B):B=t[28];let V;t[29]===D.dbSnapshotIdentifier?V=t[30]:(V=(0,l.jsx)(pe,{errors:[D.dbSnapshotIdentifier]}),t[29]=D.dbSnapshotIdentifier,t[30]=V);let H;t[31]!==z||t[32]!==V?(H=(0,l.jsxs)(c,{children:[I,z,B,V]}),t[31]=z,t[32]=V,t[33]=H):H=t[33];let U;t[34]===C?U=t[35]:(U=(0,l.jsx)(ye,{control:C,name:`tags`}),t[34]=C,t[35]=U);let W;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,l.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A snapshot the engine could not be quiesced for is still taken and reported as crash consistent on the source instance's Backups tab. The snapshot's own events never carry it.`}),t[36]=W):W=t[36];let G;t[37]===u.error?G=t[38]:(G=u.error&&(0,l.jsx)(`p`,{className:`text-sm text-destructive`,children:u.error.message}),t[37]=u.error,t[38]=G);let K;t[39]===r?K=t[40]:(K=(0,l.jsx)(a,{onClick:()=>r(!1),type:`button`,variant:`outline`,children:`Cancel`}),t[39]=r,t[40]=K);let q=Oe||u.isPending||m===``,J=u.isPending?`Taking Snapshot…`:`Take Snapshot`,Y;t[41]!==q||t[42]!==J?(Y=(0,l.jsx)(a,{disabled:q,type:`submit`,children:J}),t[41]=q,t[42]=J,t[43]=Y):Y=t[43];let X;t[44]!==K||t[45]!==Y?(X=(0,l.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[K,Y]}),t[44]=K,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==P||t[48]!==F||t[49]!==H||t[50]!==U||t[51]!==G||t[52]!==X?(Z=(0,l.jsxs)(`form`,{className:`space-y-4`,onSubmit:P,children:[F,H,U,W,G,X]}),t[47]=P,t[48]=F,t[49]=H,t[50]=U,t[51]=G,t[52]=X,t[53]=Z):Z=t[53];let Q;t[54]!==M||t[55]!==N||t[56]!==Z?(Q=(0,l.jsxs)(M,{className:`max-h-[85vh] overflow-y-auto`,children:[N,Z]}),t[54]=M,t[55]=N,t[56]=Z,t[57]=Q):Q=t[57];let $;return t[58]!==j||t[59]!==r||t[60]!==n||t[61]!==Q?($=(0,l.jsx)(j,{onOpenChange:r,open:n,children:Q}),t[58]=j,t[59]=r,t[60]=n,t[61]=Q,t[62]=$):$=t[62],$}function we(e){return(0,l.jsxs)(i,{value:e.DBInstanceIdentifier??``,children:[e.DBInstanceIdentifier,` (`,e.DBInstanceStatus,`)`]},e.DBInstanceIdentifier)}function Te(e){return o(e.DBInstanceStatus)}export{u as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.js index f86f92e92..3c95af320 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as ee}from"./back-link.js";import{n as a,r as o,t as te}from"./cli-command-panel.js";import{t as s}from"./input.js";import{a as c,n as l,r as u,t as d}from"./field.js";import{M as f,O as p}from"./ec2.js";import{v as m}from"./rds.js";import{i as h}from"./rds2.js";import{a as g,i as _,t as v}from"./zod.js";import{t as ne}from"./error-banner.js";import{t as re}from"./page-heading.js";import{t as y}from"./form-actions.js";import{t as ie}from"./tags-field-array.js";var b=t(),x=e();function S(e){let t=i(e.Tags),n=[e.CidrBlock,e.AvailabilityZone,t].filter(Boolean);return`${e.SubnetId} (${n.join(`, `)})`}function C(){let e=(0,b.c)(94),t=r(),a=h(),{data:o}=n(p),{data:C}=n(f),w;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(w=v(m),e[0]=w):w=e[0];let T;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(T={resolver:w,defaultValues:{dbSubnetGroupName:``,dbSubnetGroupDescription:``,subnetIds:[],tags:[]}},e[1]=T):T=e[1];let{control:E,formState:D,handleSubmit:O,register:k,setValue:A}=_(T),{errors:j,isSubmitting:M}=D,N;e[2]===E?N=e[3]:(N={control:E},e[2]=E,e[3]=N);let P=g(N),F,I,L,R,z,B,V,H,U,W,G;if(e[4]!==E||e[5]!==a||e[6]!==j.dbSubnetGroupDescription||e[7]!==j.dbSubnetGroupName||e[8]!==j.subnetIds||e[9]!==O||e[10]!==t||e[11]!==k||e[12]!==A||e[13]!==o.Subnets||e[14]!==P.dbSubnetGroupDescription||e[15]!==P.dbSubnetGroupName||e[16]!==P.subnetIds||e[17]!==C.Vpcs){let n=P.subnetIds??[],r=new Set(n),f=o.Subnets??[],p=C.Vpcs??[],m=f.find(e=>e.SubnetId===n[0])?.VpcId,h=[...new Set(f.map(ae).filter(Boolean))],g=e=>{let t=n.includes(e)?n.filter(t=>t!==e):[...n,e];A(`subnetIds`,t,{shouldValidate:!0})},_;e[29]!==a||e[30]!==t?(_=async e=>{await a.mutateAsync(e),await t({to:`/rds/describe-db-subnet-groups`})},e[29]=a,e[30]=t,e[31]=_):_=e[31];let v=_;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,x.jsx)(ee,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),R=(0,x.jsx)(re,{title:`Create DB Subnet Group`}),e[32]=L,e[33]=R):(L=e[32],R=e[33]),e[34]===a.error?z=e[35]:(z=a.error&&(0,x.jsx)(ne,{error:a.error,msg:`Failed to create the DB subnet group`}),e[34]=a.error,e[35]=z),V=`max-w-4xl space-y-6`,e[36]!==O||e[37]!==v?(H=O(v),e[36]=O,e[37]=v,e[38]=H):H=e[38];let y;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,x.jsx)(c,{children:(0,x.jsx)(`label`,{htmlFor:`subnet-group-name`,children:`Name`})}),e[39]=y):y=e[39];let b=!!j.dbSubnetGroupName,w;e[40]===k?w=e[41]:(w=k(`dbSubnetGroupName`),e[40]=k,e[41]=w);let T;e[42]!==b||e[43]!==w?(T=(0,x.jsx)(s,{"aria-invalid":b,id:`subnet-group-name`,placeholder:`orders-db-subnets`,...w}),e[42]=b,e[43]=w,e[44]=T):T=e[44];let D;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,x.jsx)(l,{children:`Letters, digits and hyphens, starting with a letter. The name cannot be changed later, and there is no ModifyDBSubnetGroup — editing a group means deleting and recreating it.`}),e[45]=D):D=e[45];let M;e[46]===j.dbSubnetGroupName?M=e[47]:(M=(0,x.jsx)(u,{errors:[j.dbSubnetGroupName]}),e[46]=j.dbSubnetGroupName,e[47]=M),e[48]!==T||e[49]!==M?(U=(0,x.jsxs)(d,{children:[y,T,D,M]}),e[48]=T,e[49]=M,e[50]=U):U=e[50];let N;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,x.jsx)(c,{children:(0,x.jsx)(`label`,{htmlFor:`subnet-group-description`,children:`Description`})}),e[51]=N):N=e[51];let K=!!j.dbSubnetGroupDescription,q;e[52]===k?q=e[53]:(q=k(`dbSubnetGroupDescription`),e[52]=k,e[53]=q);let J;e[54]!==K||e[55]!==q?(J=(0,x.jsx)(s,{"aria-invalid":K,id:`subnet-group-description`,placeholder:`Private subnets for the orders database`,...q}),e[54]=K,e[55]=q,e[56]=J):J=e[56];let Y;e[57]===j.dbSubnetGroupDescription?Y=e[58]:(Y=(0,x.jsx)(u,{errors:[j.dbSubnetGroupDescription]}),e[57]=j.dbSubnetGroupDescription,e[58]=Y),e[59]!==J||e[60]!==Y?(W=(0,x.jsxs)(d,{children:[N,J,Y]}),e[59]=J,e[60]=Y,e[61]=W):W=e[61];let X;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,x.jsx)(c,{children:`Subnets`}),e[62]=X):X=e[62];let Z=f.length===0?(0,x.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in this account. Create one before creating a subnet group.`}):(0,x.jsx)(`div`,{className:`space-y-4`,children:h.map(e=>{let t=i(p.find(t=>t.VpcId===e)?.Tags),n=m!==void 0&&m!==e;return(0,x.jsxs)(`div`,{children:[(0,x.jsxs)(`p`,{className:`mb-1 font-mono text-xs text-muted-foreground`,children:[e,t&&` (${t})`,n&&` — a subnet group must span one VPC, so this one is out of reach`]}),(0,x.jsx)(`div`,{className:`space-y-1 pl-3`,children:f.filter(t=>t.VpcId===e).map(e=>(0,x.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,x.jsx)(`input`,{"aria-label":`Subnet ${S(e)}`,checked:r.has(e.SubnetId??``),disabled:n,onChange:()=>g(e.SubnetId??``),type:`checkbox`}),(0,x.jsx)(`span`,{className:`font-mono`,children:S(e)})]},e.SubnetId))})]},e)})}),Q;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,x.jsxs)(l,{children:[`At most `,20,` subnets, all in one VPC. This platform is single-AZ, so the two-AZ rule AWS enforces does not apply here.`]}),e[63]=Q):Q=e[63];let $;e[64]===j.subnetIds?$=e[65]:($=(0,x.jsx)(u,{errors:[j.subnetIds]}),e[64]=j.subnetIds,e[65]=$),e[66]!==Z||e[67]!==$?(G=(0,x.jsxs)(d,{children:[X,Z,Q,$]}),e[66]=Z,e[67]=$,e[68]=G):G=e[68],e[69]===E?I=e[70]:(I=(0,x.jsx)(ie,{control:E,name:`tags`}),e[69]=E,e[70]=I),F=te,B=oe({dbSubnetGroupName:P.dbSubnetGroupName??``,dbSubnetGroupDescription:P.dbSubnetGroupDescription??``,subnetIds:n}),e[4]=E,e[5]=a,e[6]=j.dbSubnetGroupDescription,e[7]=j.dbSubnetGroupName,e[8]=j.subnetIds,e[9]=O,e[10]=t,e[11]=k,e[12]=A,e[13]=o.Subnets,e[14]=P.dbSubnetGroupDescription,e[15]=P.dbSubnetGroupName,e[16]=P.subnetIds,e[17]=C.Vpcs,e[18]=F,e[19]=I,e[20]=L,e[21]=R,e[22]=z,e[23]=B,e[24]=V,e[25]=H,e[26]=U,e[27]=W,e[28]=G}else F=e[18],I=e[19],L=e[20],R=e[21],z=e[22],B=e[23],V=e[24],H=e[25],U=e[26],W=e[27],G=e[28];let K;e[71]!==F||e[72]!==B?(K=(0,x.jsx)(F,{commands:B}),e[71]=F,e[72]=B,e[73]=K):K=e[73];let q;e[74]===t?q=e[75]:(q=async()=>await t({to:`/rds/describe-db-subnet-groups`}),e[74]=t,e[75]=q);let J;e[76]!==a.isPending||e[77]!==M||e[78]!==q?(J=(0,x.jsx)(y,{isPending:a.isPending,isSubmitting:M,onCancel:q,pendingLabel:`Creating…`,submitLabel:`Create Subnet Group`}),e[76]=a.isPending,e[77]=M,e[78]=q,e[79]=J):J=e[79];let Y;e[80]!==I||e[81]!==K||e[82]!==J||e[83]!==V||e[84]!==H||e[85]!==U||e[86]!==W||e[87]!==G?(Y=(0,x.jsxs)(`form`,{className:V,onSubmit:H,children:[U,W,G,I,K,J]}),e[80]=I,e[81]=K,e[82]=J,e[83]=V,e[84]=H,e[85]=U,e[86]=W,e[87]=G,e[88]=Y):Y=e[88];let X;return e[89]!==L||e[90]!==R||e[91]!==z||e[92]!==Y?(X=(0,x.jsxs)(x.Fragment,{children:[L,R,z,Y]}),e[89]=L,e[90]=R,e[91]=z,e[92]=Y,e[93]=X):X=e[93],X}function ae(e){return e.VpcId??``}function oe(e){return[{label:`Create DB Subnet Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-subnet-group`},...o(`--db-subnet-group-name`,a(e.dbSubnetGroupName,`DBSubnetGroupName`)),...o(`--db-subnet-group-description`,`"${a(e.dbSubnetGroupDescription,`DBSubnetGroupDescription`)}"`),...o(`--subnet-ids`,a(e.subnetIds.join(` `),`SubnetIds`))]}]}var w=C;export{w as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as ee}from"./back-link.js";import{n as a,r as o,t as te}from"./cli-command-panel.js";import{t as s}from"./input.js";import{M as c,O as l}from"./ec2.js";import{v as u}from"./rds.js";import{i as d}from"./rds2.js";import{a as f,i as p,t as m}from"./zod.js";import{t as ne}from"./error-banner.js";import{t as h}from"./form-actions.js";import{t as re}from"./page-heading.js";import{a as g,n as _,r as v,t as y}from"./field.js";import{t as ie}from"./tags-field-array.js";var b=t(),x=e();function S(e){let t=i(e.Tags),n=[e.CidrBlock,e.AvailabilityZone,t].filter(Boolean);return`${e.SubnetId} (${n.join(`, `)})`}function C(){let e=(0,b.c)(94),t=r(),a=d(),{data:o}=n(l),{data:C}=n(c),w;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(w=m(u),e[0]=w):w=e[0];let T;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(T={resolver:w,defaultValues:{dbSubnetGroupName:``,dbSubnetGroupDescription:``,subnetIds:[],tags:[]}},e[1]=T):T=e[1];let{control:E,formState:D,handleSubmit:O,register:k,setValue:A}=p(T),{errors:j,isSubmitting:M}=D,N;e[2]===E?N=e[3]:(N={control:E},e[2]=E,e[3]=N);let P=f(N),F,I,L,R,z,B,V,H,U,W,G;if(e[4]!==E||e[5]!==a||e[6]!==j.dbSubnetGroupDescription||e[7]!==j.dbSubnetGroupName||e[8]!==j.subnetIds||e[9]!==O||e[10]!==t||e[11]!==k||e[12]!==A||e[13]!==o.Subnets||e[14]!==P.dbSubnetGroupDescription||e[15]!==P.dbSubnetGroupName||e[16]!==P.subnetIds||e[17]!==C.Vpcs){let n=P.subnetIds??[],r=new Set(n),c=o.Subnets??[],l=C.Vpcs??[],u=c.find(e=>e.SubnetId===n[0])?.VpcId,d=[...new Set(c.map(ae).filter(Boolean))],f=e=>{let t=n.includes(e)?n.filter(t=>t!==e):[...n,e];A(`subnetIds`,t,{shouldValidate:!0})},p;e[29]!==a||e[30]!==t?(p=async e=>{await a.mutateAsync(e),await t({to:`/rds/describe-db-subnet-groups`})},e[29]=a,e[30]=t,e[31]=p):p=e[31];let m=p;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,x.jsx)(ee,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),R=(0,x.jsx)(re,{title:`Create DB Subnet Group`}),e[32]=L,e[33]=R):(L=e[32],R=e[33]),e[34]===a.error?z=e[35]:(z=a.error&&(0,x.jsx)(ne,{error:a.error,msg:`Failed to create the DB subnet group`}),e[34]=a.error,e[35]=z),V=`max-w-4xl space-y-6`,e[36]!==O||e[37]!==m?(H=O(m),e[36]=O,e[37]=m,e[38]=H):H=e[38];let h;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,x.jsx)(g,{children:(0,x.jsx)(`label`,{htmlFor:`subnet-group-name`,children:`Name`})}),e[39]=h):h=e[39];let b=!!j.dbSubnetGroupName,w;e[40]===k?w=e[41]:(w=k(`dbSubnetGroupName`),e[40]=k,e[41]=w);let T;e[42]!==b||e[43]!==w?(T=(0,x.jsx)(s,{"aria-invalid":b,id:`subnet-group-name`,placeholder:`orders-db-subnets`,...w}),e[42]=b,e[43]=w,e[44]=T):T=e[44];let D;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,x.jsx)(_,{children:`Letters, digits and hyphens, starting with a letter. The name cannot be changed later, and there is no ModifyDBSubnetGroup — editing a group means deleting and recreating it.`}),e[45]=D):D=e[45];let M;e[46]===j.dbSubnetGroupName?M=e[47]:(M=(0,x.jsx)(v,{errors:[j.dbSubnetGroupName]}),e[46]=j.dbSubnetGroupName,e[47]=M),e[48]!==T||e[49]!==M?(U=(0,x.jsxs)(y,{children:[h,T,D,M]}),e[48]=T,e[49]=M,e[50]=U):U=e[50];let N;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,x.jsx)(g,{children:(0,x.jsx)(`label`,{htmlFor:`subnet-group-description`,children:`Description`})}),e[51]=N):N=e[51];let K=!!j.dbSubnetGroupDescription,q;e[52]===k?q=e[53]:(q=k(`dbSubnetGroupDescription`),e[52]=k,e[53]=q);let J;e[54]!==K||e[55]!==q?(J=(0,x.jsx)(s,{"aria-invalid":K,id:`subnet-group-description`,placeholder:`Private subnets for the orders database`,...q}),e[54]=K,e[55]=q,e[56]=J):J=e[56];let Y;e[57]===j.dbSubnetGroupDescription?Y=e[58]:(Y=(0,x.jsx)(v,{errors:[j.dbSubnetGroupDescription]}),e[57]=j.dbSubnetGroupDescription,e[58]=Y),e[59]!==J||e[60]!==Y?(W=(0,x.jsxs)(y,{children:[N,J,Y]}),e[59]=J,e[60]=Y,e[61]=W):W=e[61];let X;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,x.jsx)(g,{children:`Subnets`}),e[62]=X):X=e[62];let Z=c.length===0?(0,x.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in this account. Create one before creating a subnet group.`}):(0,x.jsx)(`div`,{className:`space-y-4`,children:d.map(e=>{let t=i(l.find(t=>t.VpcId===e)?.Tags),n=u!==void 0&&u!==e;return(0,x.jsxs)(`div`,{children:[(0,x.jsxs)(`p`,{className:`mb-1 font-mono text-xs text-muted-foreground`,children:[e,t&&` (${t})`,n&&` — a subnet group must span one VPC, so this one is out of reach`]}),(0,x.jsx)(`div`,{className:`space-y-1 pl-3`,children:c.filter(t=>t.VpcId===e).map(e=>(0,x.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,x.jsx)(`input`,{"aria-label":`Subnet ${S(e)}`,checked:r.has(e.SubnetId??``),disabled:n,onChange:()=>f(e.SubnetId??``),type:`checkbox`}),(0,x.jsx)(`span`,{className:`font-mono`,children:S(e)})]},e.SubnetId))})]},e)})}),Q;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,x.jsxs)(_,{children:[`At most `,20,` subnets, all in one VPC. This platform is single-AZ, so the two-AZ rule AWS enforces does not apply here.`]}),e[63]=Q):Q=e[63];let $;e[64]===j.subnetIds?$=e[65]:($=(0,x.jsx)(v,{errors:[j.subnetIds]}),e[64]=j.subnetIds,e[65]=$),e[66]!==Z||e[67]!==$?(G=(0,x.jsxs)(y,{children:[X,Z,Q,$]}),e[66]=Z,e[67]=$,e[68]=G):G=e[68],e[69]===E?I=e[70]:(I=(0,x.jsx)(ie,{control:E,name:`tags`}),e[69]=E,e[70]=I),F=te,B=oe({dbSubnetGroupName:P.dbSubnetGroupName??``,dbSubnetGroupDescription:P.dbSubnetGroupDescription??``,subnetIds:n}),e[4]=E,e[5]=a,e[6]=j.dbSubnetGroupDescription,e[7]=j.dbSubnetGroupName,e[8]=j.subnetIds,e[9]=O,e[10]=t,e[11]=k,e[12]=A,e[13]=o.Subnets,e[14]=P.dbSubnetGroupDescription,e[15]=P.dbSubnetGroupName,e[16]=P.subnetIds,e[17]=C.Vpcs,e[18]=F,e[19]=I,e[20]=L,e[21]=R,e[22]=z,e[23]=B,e[24]=V,e[25]=H,e[26]=U,e[27]=W,e[28]=G}else F=e[18],I=e[19],L=e[20],R=e[21],z=e[22],B=e[23],V=e[24],H=e[25],U=e[26],W=e[27],G=e[28];let K;e[71]!==F||e[72]!==B?(K=(0,x.jsx)(F,{commands:B}),e[71]=F,e[72]=B,e[73]=K):K=e[73];let q;e[74]===t?q=e[75]:(q=async()=>await t({to:`/rds/describe-db-subnet-groups`}),e[74]=t,e[75]=q);let J;e[76]!==a.isPending||e[77]!==M||e[78]!==q?(J=(0,x.jsx)(h,{isPending:a.isPending,isSubmitting:M,onCancel:q,pendingLabel:`Creating…`,submitLabel:`Create Subnet Group`}),e[76]=a.isPending,e[77]=M,e[78]=q,e[79]=J):J=e[79];let Y;e[80]!==I||e[81]!==K||e[82]!==J||e[83]!==V||e[84]!==H||e[85]!==U||e[86]!==W||e[87]!==G?(Y=(0,x.jsxs)(`form`,{className:V,onSubmit:H,children:[U,W,G,I,K,J]}),e[80]=I,e[81]=K,e[82]=J,e[83]=V,e[84]=H,e[85]=U,e[86]=W,e[87]=G,e[88]=Y):Y=e[88];let X;return e[89]!==L||e[90]!==R||e[91]!==z||e[92]!==Y?(X=(0,x.jsxs)(x.Fragment,{children:[L,R,z,Y]}),e[89]=L,e[90]=R,e[91]=z,e[92]=Y,e[93]=X):X=e[93],X}function ae(e){return e.VpcId??``}function oe(e){return[{label:`Create DB Subnet Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-subnet-group`},...o(`--db-subnet-group-name`,a(e.dbSubnetGroupName,`DBSubnetGroupName`)),...o(`--db-subnet-group-description`,`"${a(e.dbSubnetGroupDescription,`DBSubnetGroupDescription`)}"`),...o(`--subnet-ids`,a(e.subnetIds.join(` `),`SubnetIds`))]}]}var w=C;export{w as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-group.js index 54334fe15..04653fc80 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-group.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{s as l}from"./iam.js";import{a as u,i as d,t as f}from"./zod.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./form-actions.js";import{n as g}from"./iam3.js";var _=t(),v=e();function y(){let e=(0,_.c)(55),t=n(),y=l(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:f(g)},e[0]=b):b=e[0];let{handleSubmit:x,register:S,control:C,formState:w}=d(b),{errors:T,isSubmitting:E}=w,D;e[1]===C?D=e[2]:(D={control:C},e[1]=C,e[2]=D);let O=u(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==y||e[6]!==t?(j=async e=>{await y.mutateAsync(e),t({to:`/iam/list-groups`})},e[5]=y,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,v.jsx)(r,{to:`/iam/list-groups`,children:`Back to groups`}),P=(0,v.jsx)(m,{title:`Create Group`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===y.error?F=e[11]:(F=y.error&&(0,v.jsx)(p,{error:y.error,msg:`Failed to create group`}),e[10]=y.error,e[11]=F);let I;e[12]!==x||e[13]!==M?(I=x(M),e[12]=x,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(o,{children:(0,v.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[15]=L):L=e[15];let R=!!T.groupName,z;e[16]===S?z=e[17]:(z=S(`groupName`),e[16]=S,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,v.jsx)(a,{"aria-invalid":R,id:`groupName`,placeholder:`my-group...`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.groupName?V=e[22]:(V=(0,v.jsx)(s,{errors:[T.groupName]}),e[21]=T.groupName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,v.jsxs)(c,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,v.jsx)(o,{children:(0,v.jsx)(`label`,{htmlFor:`path`,children:`Path (optional)`})}),e[26]=U):U=e[26];let W;e[27]===S?W=e[28]:(W=S(`path`),e[27]=S,e[28]=W);let G;e[29]===W?G=e[30]:(G=(0,v.jsx)(a,{id:`path`,placeholder:`/`,...W}),e[29]=W,e[30]=G);let K;e[31]===T.path?K=e[32]:(K=(0,v.jsx)(s,{errors:[T.path]}),e[31]=T.path,e[32]=K);let q;e[33]!==G||e[34]!==K?(q=(0,v.jsxs)(c,{children:[U,G,K]}),e[33]=G,e[34]=K,e[35]=q):q=e[35];let J;e[36]===A?J=e[37]:(J=ee(A),e[36]=A,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,v.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/iam/list-groups`}),e[40]=t,e[41]=X);let Z;e[42]!==y.isPending||e[43]!==E||e[44]!==X?(Z=(0,v.jsx)(h,{isPending:y.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Group`}),e[42]=y.isPending,e[43]=E,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==H||e[47]!==q||e[48]!==Y||e[49]!==Z||e[50]!==I?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[46]=H,e[47]=q,e[48]=Y,e[49]=Z,e[50]=I,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==F?($=(0,v.jsxs)(v.Fragment,{children:[N,P,F,Q]}),e[52]=Q,e[53]=F,e[54]=$):$=e[54],$}function ee(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`path`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-group`},{type:`flag`,value:` --group-name`},{type:`value`,value:` ${n||``}`}];return i&&i!==`/`&&a.push({type:`flag`,value:` --path`},{type:`value`,value:` ${i}`}),[{label:`Create Group`,parts:a}]}export{y as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{s as o}from"./iam.js";import{a as s,i as c,t as l}from"./zod.js";import{t as u}from"./error-banner.js";import{t as d}from"./form-actions.js";import{t as f}from"./page-heading.js";import{a as p,r as m,t as h}from"./field.js";import{n as g}from"./iam3.js";var _=t(),v=e();function y(){let e=(0,_.c)(55),t=n(),y=o(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:l(g)},e[0]=b):b=e[0];let{handleSubmit:x,register:S,control:C,formState:w}=c(b),{errors:T,isSubmitting:E}=w,D;e[1]===C?D=e[2]:(D={control:C},e[1]=C,e[2]=D);let O=s(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==y||e[6]!==t?(j=async e=>{await y.mutateAsync(e),t({to:`/iam/list-groups`})},e[5]=y,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,v.jsx)(r,{to:`/iam/list-groups`,children:`Back to groups`}),P=(0,v.jsx)(f,{title:`Create Group`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===y.error?F=e[11]:(F=y.error&&(0,v.jsx)(u,{error:y.error,msg:`Failed to create group`}),e[10]=y.error,e[11]=F);let I;e[12]!==x||e[13]!==M?(I=x(M),e[12]=x,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[15]=L):L=e[15];let R=!!T.groupName,z;e[16]===S?z=e[17]:(z=S(`groupName`),e[16]=S,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,v.jsx)(a,{"aria-invalid":R,id:`groupName`,placeholder:`my-group...`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.groupName?V=e[22]:(V=(0,v.jsx)(m,{errors:[T.groupName]}),e[21]=T.groupName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,v.jsxs)(h,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`path`,children:`Path (optional)`})}),e[26]=U):U=e[26];let W;e[27]===S?W=e[28]:(W=S(`path`),e[27]=S,e[28]=W);let G;e[29]===W?G=e[30]:(G=(0,v.jsx)(a,{id:`path`,placeholder:`/`,...W}),e[29]=W,e[30]=G);let K;e[31]===T.path?K=e[32]:(K=(0,v.jsx)(m,{errors:[T.path]}),e[31]=T.path,e[32]=K);let q;e[33]!==G||e[34]!==K?(q=(0,v.jsxs)(h,{children:[U,G,K]}),e[33]=G,e[34]=K,e[35]=q):q=e[35];let J;e[36]===A?J=e[37]:(J=ee(A),e[36]=A,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,v.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/iam/list-groups`}),e[40]=t,e[41]=X);let Z;e[42]!==y.isPending||e[43]!==E||e[44]!==X?(Z=(0,v.jsx)(d,{isPending:y.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Group`}),e[42]=y.isPending,e[43]=E,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==H||e[47]!==q||e[48]!==Y||e[49]!==Z||e[50]!==I?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[46]=H,e[47]=q,e[48]=Y,e[49]=Z,e[50]=I,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==F?($=(0,v.jsxs)(v.Fragment,{children:[N,P,F,Q]}),e[52]=Q,e[53]=F,e[54]=$):$=e[54],$}function ee(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`path`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-group`},{type:`flag`,value:` --group-name`},{type:`value`,value:` ${n||``}`}];return i&&i!==`/`&&a.push({type:`flag`,value:` --path`},{type:`value`,value:` ${i}`}),[{label:`Create Group`,parts:a}]}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-instance-profile.js b/spinifex/services/spinifexui/frontend/dist/assets/create-instance-profile.js index 6dafd90c9..b4a3d19ce 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-instance-profile.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-instance-profile.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{c as l}from"./iam.js";import{a as u,i as d,t as f}from"./zod.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./form-actions.js";import{r as g}from"./iam3.js";var _=t(),v=e();function y(){let e=(0,_.c)(55),t=n(),y=l(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:f(g)},e[0]=b):b=e[0];let{handleSubmit:x,register:S,control:C,formState:w}=d(b),{errors:T,isSubmitting:E}=w,D;e[1]===C?D=e[2]:(D={control:C},e[1]=C,e[2]=D);let O=u(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==y||e[6]!==t?(j=async e=>{await y.mutateAsync(e),t({to:`/iam/list-instance-profiles`})},e[5]=y,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,v.jsx)(r,{to:`/iam/list-instance-profiles`,children:`Back to instance profiles`}),P=(0,v.jsx)(m,{title:`Create Instance Profile`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===y.error?F=e[11]:(F=y.error&&(0,v.jsx)(p,{error:y.error,msg:`Failed to create instance profile`}),e[10]=y.error,e[11]=F);let I;e[12]!==x||e[13]!==M?(I=x(M),e[12]=x,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(o,{children:(0,v.jsx)(`label`,{htmlFor:`instanceProfileName`,children:`Instance Profile Name`})}),e[15]=L):L=e[15];let R=!!T.instanceProfileName,z;e[16]===S?z=e[17]:(z=S(`instanceProfileName`),e[16]=S,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,v.jsx)(a,{"aria-invalid":R,id:`instanceProfileName`,placeholder:`my-instance-profile...`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.instanceProfileName?V=e[22]:(V=(0,v.jsx)(s,{errors:[T.instanceProfileName]}),e[21]=T.instanceProfileName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,v.jsxs)(c,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,v.jsx)(o,{children:(0,v.jsx)(`label`,{htmlFor:`path`,children:`Path (optional)`})}),e[26]=U):U=e[26];let W;e[27]===S?W=e[28]:(W=S(`path`),e[27]=S,e[28]=W);let G;e[29]===W?G=e[30]:(G=(0,v.jsx)(a,{id:`path`,placeholder:`/`,...W}),e[29]=W,e[30]=G);let K;e[31]===T.path?K=e[32]:(K=(0,v.jsx)(s,{errors:[T.path]}),e[31]=T.path,e[32]=K);let q;e[33]!==G||e[34]!==K?(q=(0,v.jsxs)(c,{children:[U,G,K]}),e[33]=G,e[34]=K,e[35]=q):q=e[35];let J;e[36]===A?J=e[37]:(J=ee(A),e[36]=A,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,v.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/iam/list-instance-profiles`}),e[40]=t,e[41]=X);let Z;e[42]!==y.isPending||e[43]!==E||e[44]!==X?(Z=(0,v.jsx)(h,{isPending:y.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Instance Profile`}),e[42]=y.isPending,e[43]=E,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==H||e[47]!==q||e[48]!==Y||e[49]!==Z||e[50]!==I?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[46]=H,e[47]=q,e[48]=Y,e[49]=Z,e[50]=I,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==F?($=(0,v.jsxs)(v.Fragment,{children:[N,P,F,Q]}),e[52]=Q,e[53]=F,e[54]=$):$=e[54],$}function ee(e){let t=e(`instanceProfileName`),n=typeof t==`string`?t:``,r=e(`path`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-instance-profile`},{type:`flag`,value:` --instance-profile-name`},{type:`value`,value:` ${n||``}`}];return i&&i!==`/`&&a.push({type:`flag`,value:` --path`},{type:`value`,value:` ${i}`}),[{label:`Create Instance Profile`,parts:a}]}export{y as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{c as o}from"./iam.js";import{a as s,i as c,t as l}from"./zod.js";import{t as u}from"./error-banner.js";import{t as d}from"./form-actions.js";import{t as f}from"./page-heading.js";import{a as p,r as m,t as h}from"./field.js";import{r as g}from"./iam3.js";var _=t(),v=e();function y(){let e=(0,_.c)(55),t=n(),y=o(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:l(g)},e[0]=b):b=e[0];let{handleSubmit:x,register:S,control:C,formState:w}=c(b),{errors:T,isSubmitting:E}=w,D;e[1]===C?D=e[2]:(D={control:C},e[1]=C,e[2]=D);let O=s(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==y||e[6]!==t?(j=async e=>{await y.mutateAsync(e),t({to:`/iam/list-instance-profiles`})},e[5]=y,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,v.jsx)(r,{to:`/iam/list-instance-profiles`,children:`Back to instance profiles`}),P=(0,v.jsx)(f,{title:`Create Instance Profile`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===y.error?F=e[11]:(F=y.error&&(0,v.jsx)(u,{error:y.error,msg:`Failed to create instance profile`}),e[10]=y.error,e[11]=F);let I;e[12]!==x||e[13]!==M?(I=x(M),e[12]=x,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`instanceProfileName`,children:`Instance Profile Name`})}),e[15]=L):L=e[15];let R=!!T.instanceProfileName,z;e[16]===S?z=e[17]:(z=S(`instanceProfileName`),e[16]=S,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,v.jsx)(a,{"aria-invalid":R,id:`instanceProfileName`,placeholder:`my-instance-profile...`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.instanceProfileName?V=e[22]:(V=(0,v.jsx)(m,{errors:[T.instanceProfileName]}),e[21]=T.instanceProfileName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,v.jsxs)(h,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`path`,children:`Path (optional)`})}),e[26]=U):U=e[26];let W;e[27]===S?W=e[28]:(W=S(`path`),e[27]=S,e[28]=W);let G;e[29]===W?G=e[30]:(G=(0,v.jsx)(a,{id:`path`,placeholder:`/`,...W}),e[29]=W,e[30]=G);let K;e[31]===T.path?K=e[32]:(K=(0,v.jsx)(m,{errors:[T.path]}),e[31]=T.path,e[32]=K);let q;e[33]!==G||e[34]!==K?(q=(0,v.jsxs)(h,{children:[U,G,K]}),e[33]=G,e[34]=K,e[35]=q):q=e[35];let J;e[36]===A?J=e[37]:(J=ee(A),e[36]=A,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,v.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/iam/list-instance-profiles`}),e[40]=t,e[41]=X);let Z;e[42]!==y.isPending||e[43]!==E||e[44]!==X?(Z=(0,v.jsx)(d,{isPending:y.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Instance Profile`}),e[42]=y.isPending,e[43]=E,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==H||e[47]!==q||e[48]!==Y||e[49]!==Z||e[50]!==I?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[46]=H,e[47]=q,e[48]=Y,e[49]=Z,e[50]=I,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==F?($=(0,v.jsxs)(v.Fragment,{children:[N,P,F,Q]}),e[52]=Q,e[53]=F,e[54]=$):$=e[54],$}function ee(e){let t=e(`instanceProfileName`),n=typeof t==`string`?t:``,r=e(`path`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-instance-profile`},{type:`flag`,value:` --instance-profile-name`},{type:`value`,value:` ${n||``}`}];return i&&i!==`/`&&a.push({type:`flag`,value:` --path`},{type:`value`,value:` ${i}`}),[{label:`Create Instance Profile`,parts:a}]}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-internet-gateway.js b/spinifex/services/spinifexui/frontend/dist/assets/create-internet-gateway.js index 572ef46ca..6784930bf 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-internet-gateway.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-internet-gateway.js @@ -1,2 +1,2 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,t as s}from"./field.js";import{p as c}from"./ec22.js";import{a as l,i as u,t as d}from"./zod.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{a as m}from"./ec23.js";import{t as h}from"./form-actions.js";var g=t(),_=e();function v(){let e=(0,g.c)(36),t=n(),v=c(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:d(m),defaultValues:{name:``}},e[0]=b):b=e[0];let{control:x,handleSubmit:S,register:C,formState:w}=u(b),{isSubmitting:T}=w,E;e[1]===x?E=e[2]:(E={control:x},e[1]=x,e[2]=E);let D=l(E),O;e[3]!==v||e[4]!==t?(O=async e=>{let n=(await v.mutateAsync({name:e.name?.trim()??void 0})).InternetGateway?.InternetGatewayId;t(n?{to:`/ec2/describe-internet-gateways/$id`,params:{id:n}}:{to:`/ec2/describe-internet-gateways`})},e[3]=v,e[4]=t,e[5]=O):O=e[5];let k=O,A,j;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,_.jsx)(r,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),j=(0,_.jsx)(p,{title:`Create Internet Gateway`}),e[6]=A,e[7]=j):(A=e[6],j=e[7]);let M;e[8]===v.error?M=e[9]:(M=v.error&&(0,_.jsx)(f,{error:v.error,msg:`Failed to create Internet Gateway`}),e[8]=v.error,e[9]=M);let N;e[10]!==S||e[11]!==k?(N=S(k),e[10]=S,e[11]=k,e[12]=N):N=e[12];let P;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,_.jsx)(o,{children:(0,_.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[13]=P):P=e[13];let F;e[14]===C?F=e[15]:(F=C(`name`),e[14]=C,e[15]=F);let I;e[16]===F?I=e[17]:(I=(0,_.jsxs)(s,{children:[P,(0,_.jsx)(a,{id:`name`,placeholder:`my-internet-gateway`,...F})]}),e[16]=F,e[17]=I);let L=D.name??``,R;e[18]===L?R=e[19]:(R=y(L),e[18]=L,e[19]=R);let z;e[20]===R?z=e[21]:(z=(0,_.jsx)(i,{commands:R}),e[20]=R,e[21]=z);let B;e[22]===t?B=e[23]:(B=async()=>await t({to:`/ec2/describe-internet-gateways`}),e[22]=t,e[23]=B);let V;e[24]!==v.isPending||e[25]!==T||e[26]!==B?(V=(0,_.jsx)(h,{isPending:v.isPending,isSubmitting:T,onCancel:B,pendingLabel:`Creating…`,submitLabel:`Create`}),e[24]=v.isPending,e[25]=T,e[26]=B,e[27]=V):V=e[27];let H;e[28]!==I||e[29]!==z||e[30]!==V||e[31]!==N?(H=(0,_.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[I,z,V]}),e[28]=I,e[29]=z,e[30]=V,e[31]=N,e[32]=H):H=e[32];let U;return e[33]!==H||e[34]!==M?(U=(0,_.jsxs)(_.Fragment,{children:[A,j,M,H]}),e[33]=H,e[34]=M,e[35]=U):U=e[35],U}function y(e){let t=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-internet-gateway`}];return e.trim()&&t.push({type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{p as o}from"./ec22.js";import{a as s,i as c,t as l}from"./zod.js";import{t as u}from"./error-banner.js";import{t as d}from"./form-actions.js";import{t as f}from"./page-heading.js";import{a as p,t as m}from"./field.js";import{a as h}from"./ec23.js";var g=t(),_=e();function v(){let e=(0,g.c)(36),t=n(),v=o(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:l(h),defaultValues:{name:``}},e[0]=b):b=e[0];let{control:x,handleSubmit:S,register:C,formState:w}=c(b),{isSubmitting:T}=w,E;e[1]===x?E=e[2]:(E={control:x},e[1]=x,e[2]=E);let D=s(E),O;e[3]!==v||e[4]!==t?(O=async e=>{let n=(await v.mutateAsync({name:e.name?.trim()??void 0})).InternetGateway?.InternetGatewayId;t(n?{to:`/ec2/describe-internet-gateways/$id`,params:{id:n}}:{to:`/ec2/describe-internet-gateways`})},e[3]=v,e[4]=t,e[5]=O):O=e[5];let k=O,A,j;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,_.jsx)(r,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),j=(0,_.jsx)(f,{title:`Create Internet Gateway`}),e[6]=A,e[7]=j):(A=e[6],j=e[7]);let M;e[8]===v.error?M=e[9]:(M=v.error&&(0,_.jsx)(u,{error:v.error,msg:`Failed to create Internet Gateway`}),e[8]=v.error,e[9]=M);let N;e[10]!==S||e[11]!==k?(N=S(k),e[10]=S,e[11]=k,e[12]=N):N=e[12];let P;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,_.jsx)(p,{children:(0,_.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[13]=P):P=e[13];let F;e[14]===C?F=e[15]:(F=C(`name`),e[14]=C,e[15]=F);let I;e[16]===F?I=e[17]:(I=(0,_.jsxs)(m,{children:[P,(0,_.jsx)(a,{id:`name`,placeholder:`my-internet-gateway`,...F})]}),e[16]=F,e[17]=I);let L=D.name??``,R;e[18]===L?R=e[19]:(R=y(L),e[18]=L,e[19]=R);let z;e[20]===R?z=e[21]:(z=(0,_.jsx)(i,{commands:R}),e[20]=R,e[21]=z);let B;e[22]===t?B=e[23]:(B=async()=>await t({to:`/ec2/describe-internet-gateways`}),e[22]=t,e[23]=B);let V;e[24]!==v.isPending||e[25]!==T||e[26]!==B?(V=(0,_.jsx)(d,{isPending:v.isPending,isSubmitting:T,onCancel:B,pendingLabel:`Creating…`,submitLabel:`Create`}),e[24]=v.isPending,e[25]=T,e[26]=B,e[27]=V):V=e[27];let H;e[28]!==I||e[29]!==z||e[30]!==V||e[31]!==N?(H=(0,_.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[I,z,V]}),e[28]=I,e[29]=z,e[30]=V,e[31]=N,e[32]=H):H=e[32];let U;return e[33]!==H||e[34]!==M?(U=(0,_.jsxs)(_.Fragment,{children:[A,j,M,H]}),e[33]=H,e[34]=M,e[35]=U):U=e[35],U}function y(e){let t=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-internet-gateway`}];return e.trim()&&t.push({type:`flag`,value:` \\ --tag-specifications`},{type:`value`,value:` 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=${e.trim()}}]'`}),[{label:`Create Internet Gateway`,parts:t}]}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-key-pair.js b/spinifex/services/spinifexui/frontend/dist/assets/create-key-pair.js new file mode 100644 index 000000000..e9836216b --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-key-pair.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useNavigate.js";import{t as i}from"./back-link.js";import{t as te}from"./check.js";import{c as a,i as o,n as ne,s,t as c}from"./select.js";import{t as l}from"./download.js";import{t as u}from"./cli-command-panel.js";import{t as d}from"./triangle-alert.js";import{t as f}from"./button.js";import{t as p}from"./input.js";import{m}from"./ec22.js";import{a as h,i as g,n as re,t as _}from"./zod.js";import{t as ie}from"./use-copy-to-clipboard.js";import{t as v}from"./error-banner.js";import{t as y}from"./form-actions.js";import{t as b}from"./page-heading.js";import{a as x,n as S,r as C,t as w}from"./field.js";import{o as T}from"./ec23.js";import{a as E,c as ae,i as D,l as O,o as k,r as A,s as j,t as oe}from"./alert-dialog.js";var M=e(n(),1),se=r(),N=t();function P(e){let t=(0,se.c)(38),{open:n,keyName:r,keyMaterial:i}=e,a=ee(),{copied:o,copy:ne}=ie(),s;t[0]!==i||t[1]!==r?(s=()=>{let e=new Blob([i],{type:`text/plain`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`${r}.pem`,n.click(),URL.revokeObjectURL(t)},t[0]=i,t[1]=r,t[2]=s):s=t[2];let c=s,u;t[3]===a?u=t[4]:(u=()=>{a({to:`/ec2/describe-key-pairs`})},t[3]=a,t[4]=u);let p=u,m,h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,N.jsx)(ae,{children:(0,N.jsx)(d,{className:`text-destructive`})}),h=(0,N.jsx)(O,{children:`Save Your Private Key`}),t[5]=m,t[6]=h):(m=t[5],h=t[6]);let g;t[7]===r?g=t[8]:(g=(0,N.jsxs)(j,{children:[m,h,(0,N.jsxs)(E,{children:[`This is your only chance to save the private key file for`,` `,(0,N.jsx)(`strong`,{children:r}),`. Please download or copy it now. You won't be able to retrieve it again.`]})]}),t[7]=r,t[8]=g);let re=`Private key material for ${r}`,_;t[9]!==i||t[10]!==re?(_=(0,N.jsx)(`textarea`,{"aria-label":re,className:`w-full resize-none overflow-y-auto rounded-md border border-input bg-input/20 px-2 py-2 font-mono text-xs`,readOnly:!0,rows:4,value:i}),t[9]=i,t[10]=re,t[11]=_):_=t[11];let v;t[12]!==ne||t[13]!==i?(v=async()=>await ne(i),t[12]=ne,t[13]=i,t[14]=v):v=t[14];let y;t[15]===o?y=t[16]:(y=o?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(te,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[15]=o,t[16]=y);let b;t[17]!==v||t[18]!==y?(b=(0,N.jsx)(f,{className:`flex-1`,onClick:v,type:`button`,variant:`outline`,children:y}),t[17]=v,t[18]=y,t[19]=b):b=t[19];let x;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,N.jsx)(l,{className:`mr-2 size-4`}),t[20]=x):x=t[20];let S;t[21]===c?S=t[22]:(S=(0,N.jsxs)(f,{className:`flex-1`,onClick:c,type:`button`,variant:`outline`,children:[x,`Download .pem File`]}),t[21]=c,t[22]=S);let C;t[23]!==b||t[24]!==S?(C=(0,N.jsxs)(`div`,{className:`flex gap-2`,children:[b,S]}),t[23]=b,t[24]=S,t[25]=C):C=t[25];let w;t[26]!==C||t[27]!==_?(w=(0,N.jsxs)(`div`,{className:`space-y-3`,children:[_,C]}),t[26]=C,t[27]=_,t[28]=w):w=t[28];let T;t[29]===p?T=t[30]:(T=(0,N.jsx)(k,{children:(0,N.jsx)(A,{onClick:p,children:`Close and Continue`})}),t[29]=p,t[30]=T);let M;t[31]!==w||t[32]!==T||t[33]!==g?(M=(0,N.jsxs)(D,{className:`max-w-2xl`,children:[g,w,T]}),t[31]=w,t[32]=T,t[33]=g,t[34]=M):M=t[34];let P;return t[35]!==n||t[36]!==M?(P=(0,N.jsx)(oe,{open:n,children:M}),t[35]=n,t[36]=M,t[37]=P):P=t[37],P}function F(){let e=(0,se.c)(60),t=ee(),n=m(),[r,te]=(0,M.useState)(null),l;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=_(T),e[0]=l):l=e[0];let d;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(d={resolver:l,defaultValues:{keyType:`rsa`}},e[1]=d):d=e[1];let{handleSubmit:f,register:ie,control:E,formState:ae}=g(d),{errors:D,isSubmitting:O}=ae,k;e[2]===E?k=e[3]:(k={control:E},e[2]=E,e[3]=k);let A=h(k),j;e[4]===A?j=e[5]:(j=e=>e?A[e]:void 0,e[4]=A,e[5]=j);let oe=j,F;e[6]===n?F=e[7]:(F=async e=>{let t=await n.mutateAsync(e);t.KeyMaterial&&te({keyName:e.keyName,material:t.KeyMaterial})},e[6]=n,e[7]=F);let le=F,ue,de;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,N.jsx)(i,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),de=(0,N.jsx)(b,{title:`Create Key Pair`}),e[8]=ue,e[9]=de):(ue=e[8],de=e[9]);let I;e[10]===n.error?I=e[11]:(I=n.error&&(0,N.jsx)(v,{error:n.error,msg:`Failed to create key pair`}),e[10]=n.error,e[11]=I);let L;e[12]!==f||e[13]!==le?(L=f(le),e[12]=f,e[13]=le,e[14]=L):L=e[14];let R;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,N.jsx)(x,{children:(0,N.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair Name`})}),e[15]=R):R=e[15];let fe=!!D.keyName,z;e[16]===ie?z=e[17]:(z=ie(`keyName`),e[16]=ie,e[17]=z);let B;e[18]!==fe||e[19]!==z?(B=(0,N.jsx)(p,{"aria-invalid":fe,id:`keyName`,placeholder:`my-key-pair…`,...z}),e[18]=fe,e[19]=z,e[20]=B):B=e[20];let V;e[21]===D.keyName?V=e[22]:(V=(0,N.jsx)(C,{errors:[D.keyName]}),e[21]=D.keyName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,N.jsxs)(w,{children:[R,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,N.jsx)(x,{children:(0,N.jsx)(`label`,{htmlFor:`keyType`,children:`Key Type`})}),e[26]=U):U=e[26];let W;e[27]===D.keyType?W=e[28]:(W=e=>{let{field:t}=e;return(0,N.jsxs)(c,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,N.jsx)(s,{"aria-invalid":!!D.keyType,className:`w-full`,id:`keyType`,children:(0,N.jsx)(a,{placeholder:`Select a key type`})}),(0,N.jsxs)(ne,{children:[(0,N.jsx)(o,{value:`rsa`,children:`RSA (2048-bit)`}),(0,N.jsx)(o,{value:`ed25519`,children:`ED25519`})]})]})},e[27]=D.keyType,e[28]=W);let G;e[29]!==E||e[30]!==W?(G=(0,N.jsx)(re,{control:E,name:`keyType`,render:W}),e[29]=E,e[30]=W,e[31]=G):G=e[31];let pe;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,N.jsx)(S,{children:`RSA is required to retrieve a Windows administrator password. ED25519 works for SSH only.`}),e[32]=pe):pe=e[32];let K;e[33]===D.keyType?K=e[34]:(K=(0,N.jsx)(C,{errors:[D.keyType]}),e[33]=D.keyType,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,N.jsxs)(w,{children:[U,G,pe,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===oe?J=e[39]:(J=ce(oe),e[38]=oe,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,N.jsx)(u,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=async()=>await t({to:`/ec2/describe-key-pairs`}),e[42]=t,e[43]=X);let Z;e[44]!==n.isPending||e[45]!==O||e[46]!==X?(Z=(0,N.jsx)(y,{isPending:n.isPending,isSubmitting:O,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Key Pair`}),e[44]=n.isPending,e[45]=O,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==H||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==L?(Q=(0,N.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:L,children:[H,q,Y,Z]}),e[48]=H,e[49]=q,e[50]=Y,e[51]=Z,e[52]=L,e[53]=Q):Q=e[53];let $;e[54]===r?$=e[55]:($=r&&(0,N.jsx)(P,{keyMaterial:r.material,keyName:r.keyName,open:!!r}),e[54]=r,e[55]=$);let me;return e[56]!==Q||e[57]!==$||e[58]!==I?(me=(0,N.jsxs)(N.Fragment,{children:[ue,de,I,Q,$]}),e[56]=Q,e[57]=$,e[58]=I,e[59]=me):me=e[59],me}function ce(e){let t=e(`keyName`),n=typeof t==`string`?t:``,r=e(`keyType`),ee=typeof r==`string`?r:`rsa`;return[{label:`Create Key Pair`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-key-pair`},{type:`flag`,value:` --key-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` --key-type`},{type:`value`,value:` ${ee}`}]}]}var le=F;export{le as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-launch-template.js b/spinifex/services/spinifexui/frontend/dist/assets/create-launch-template.js index 86eb1f608..3267dd7cc 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-launch-template.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-launch-template.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{h as l,t as u}from"./ec22.js";import{a as ee,i as te,t as ne}from"./zod.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{s as p}from"./ec23.js";import{t as m}from"./form-actions.js";import{t as h}from"./launch-template-data-fields.js";var g=t(),_=e();function v(){let e=(0,g.c)(56),t=n(),v=l(),y;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=ne(p),e[0]=y):y=e[0];let x;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(x={resolver:y,defaultValues:{launchTemplateName:``,versionDescription:``,imageId:``,instanceType:``,securityGroupIds:[],userData:``}},e[1]=x):x=e[1];let{control:S,handleSubmit:C,register:w,formState:T}=te(x),{errors:E,isSubmitting:D}=T,O;e[2]===S?O=e[3]:(O={control:S},e[2]=S,e[3]=O);let k=ee(O),A;e[4]!==v||e[5]!==t?(A=async e=>{let n=(await v.mutateAsync(e)).LaunchTemplate?.LaunchTemplateId;if(!n){t({to:`/ec2/describe-launch-templates`});return}t({to:`/ec2/describe-launch-templates/$id`,params:{id:n}})},e[4]=v,e[5]=t,e[6]=A):A=e[6];let j=A,M,N;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,_.jsx)(r,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),N=(0,_.jsx)(f,{title:`Create Launch Template`}),e[7]=M,e[8]=N):(M=e[7],N=e[8]);let P;e[9]===v.error?P=e[10]:(P=v.error&&(0,_.jsx)(d,{error:v.error,msg:`Failed to create launch template`}),e[9]=v.error,e[10]=P);let F;e[11]!==C||e[12]!==j?(F=C(j),e[11]=C,e[12]=j,e[13]=F):F=e[13];let I;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,_.jsx)(o,{children:(0,_.jsx)(`label`,{htmlFor:`launchTemplateName`,children:`Name`})}),e[14]=I):I=e[14];let L=!!E.launchTemplateName,R;e[15]===w?R=e[16]:(R=w(`launchTemplateName`),e[15]=w,e[16]=R);let z;e[17]!==L||e[18]!==R?(z=(0,_.jsx)(a,{"aria-invalid":L,id:`launchTemplateName`,placeholder:`my-launch-template`,...R}),e[17]=L,e[18]=R,e[19]=z):z=e[19];let B;e[20]===E.launchTemplateName?B=e[21]:(B=(0,_.jsx)(s,{errors:[E.launchTemplateName]}),e[20]=E.launchTemplateName,e[21]=B);let V;e[22]!==z||e[23]!==B?(V=(0,_.jsxs)(c,{children:[I,z,B]}),e[22]=z,e[23]=B,e[24]=V):V=e[24];let H;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,_.jsx)(o,{children:(0,_.jsx)(`label`,{htmlFor:`versionDescription`,children:`Version Description`})}),e[25]=H):H=e[25];let U;e[26]===w?U=e[27]:(U=w(`versionDescription`),e[26]=w,e[27]=U);let W;e[28]===U?W=e[29]:(W=(0,_.jsxs)(c,{children:[H,(0,_.jsx)(a,{id:`versionDescription`,placeholder:`Initial version`,...U})]}),e[28]=U,e[29]=W);let G;e[30]!==S||e[31]!==E||e[32]!==w?(G=(0,_.jsx)(h,{control:S,errors:E,register:w}),e[30]=S,e[31]=E,e[32]=w,e[33]=G):G=e[33];let K=k.launchTemplateName??``,q=k.versionDescription??``,J;e[34]!==K||e[35]!==q||e[36]!==k?(J=b(K,q,u(k)),e[34]=K,e[35]=q,e[36]=k,e[37]=J):J=e[37];let Y;e[38]===J?Y=e[39]:(Y=(0,_.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/ec2/describe-launch-templates`}),e[40]=t,e[41]=X);let Z;e[42]!==v.isPending||e[43]!==D||e[44]!==X?(Z=(0,_.jsx)(m,{isPending:v.isPending,isSubmitting:D,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Launch Template`}),e[42]=v.isPending,e[43]=D,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==V||e[47]!==W||e[48]!==G||e[49]!==Y||e[50]!==Z||e[51]!==F?(Q=(0,_.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:F,children:[V,W,G,Y,Z]}),e[46]=V,e[47]=W,e[48]=G,e[49]=Y,e[50]=Z,e[51]=F,e[52]=Q):Q=e[52];let $;return e[53]!==Q||e[54]!==P?($=(0,_.jsxs)(_.Fragment,{children:[M,N,P,Q]}),e[53]=Q,e[54]=P,e[55]=$):$=e[55],$}function y(e){return`'${e.replaceAll(`'`,`'"'"'`)}'`}function b(e,t,n){let r=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-launch-template`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{h as o,t as s}from"./ec22.js";import{a as c,i as l,t as u}from"./zod.js";import{t as ee}from"./error-banner.js";import{t as te}from"./form-actions.js";import{t as ne}from"./page-heading.js";import{a as d,r as f,t as p}from"./field.js";import{s as m}from"./ec23.js";import{t as h}from"./launch-template-data-fields.js";var g=t(),_=e();function v(){let e=(0,g.c)(56),t=n(),v=o(),y;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=u(m),e[0]=y):y=e[0];let x;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(x={resolver:y,defaultValues:{launchTemplateName:``,versionDescription:``,imageId:``,instanceType:``,securityGroupIds:[],userData:``}},e[1]=x):x=e[1];let{control:S,handleSubmit:C,register:w,formState:T}=l(x),{errors:E,isSubmitting:D}=T,O;e[2]===S?O=e[3]:(O={control:S},e[2]=S,e[3]=O);let k=c(O),A;e[4]!==v||e[5]!==t?(A=async e=>{let n=(await v.mutateAsync(e)).LaunchTemplate?.LaunchTemplateId;if(!n){t({to:`/ec2/describe-launch-templates`});return}t({to:`/ec2/describe-launch-templates/$id`,params:{id:n}})},e[4]=v,e[5]=t,e[6]=A):A=e[6];let j=A,M,N;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,_.jsx)(r,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),N=(0,_.jsx)(ne,{title:`Create Launch Template`}),e[7]=M,e[8]=N):(M=e[7],N=e[8]);let P;e[9]===v.error?P=e[10]:(P=v.error&&(0,_.jsx)(ee,{error:v.error,msg:`Failed to create launch template`}),e[9]=v.error,e[10]=P);let F;e[11]!==C||e[12]!==j?(F=C(j),e[11]=C,e[12]=j,e[13]=F):F=e[13];let I;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,_.jsx)(d,{children:(0,_.jsx)(`label`,{htmlFor:`launchTemplateName`,children:`Name`})}),e[14]=I):I=e[14];let L=!!E.launchTemplateName,R;e[15]===w?R=e[16]:(R=w(`launchTemplateName`),e[15]=w,e[16]=R);let z;e[17]!==L||e[18]!==R?(z=(0,_.jsx)(a,{"aria-invalid":L,id:`launchTemplateName`,placeholder:`my-launch-template`,...R}),e[17]=L,e[18]=R,e[19]=z):z=e[19];let B;e[20]===E.launchTemplateName?B=e[21]:(B=(0,_.jsx)(f,{errors:[E.launchTemplateName]}),e[20]=E.launchTemplateName,e[21]=B);let V;e[22]!==z||e[23]!==B?(V=(0,_.jsxs)(p,{children:[I,z,B]}),e[22]=z,e[23]=B,e[24]=V):V=e[24];let H;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,_.jsx)(d,{children:(0,_.jsx)(`label`,{htmlFor:`versionDescription`,children:`Version Description`})}),e[25]=H):H=e[25];let U;e[26]===w?U=e[27]:(U=w(`versionDescription`),e[26]=w,e[27]=U);let W;e[28]===U?W=e[29]:(W=(0,_.jsxs)(p,{children:[H,(0,_.jsx)(a,{id:`versionDescription`,placeholder:`Initial version`,...U})]}),e[28]=U,e[29]=W);let G;e[30]!==S||e[31]!==E||e[32]!==w?(G=(0,_.jsx)(h,{control:S,errors:E,register:w}),e[30]=S,e[31]=E,e[32]=w,e[33]=G):G=e[33];let K=k.launchTemplateName??``,q=k.versionDescription??``,J;e[34]!==K||e[35]!==q||e[36]!==k?(J=b(K,q,s(k)),e[34]=K,e[35]=q,e[36]=k,e[37]=J):J=e[37];let Y;e[38]===J?Y=e[39]:(Y=(0,_.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/ec2/describe-launch-templates`}),e[40]=t,e[41]=X);let Z;e[42]!==v.isPending||e[43]!==D||e[44]!==X?(Z=(0,_.jsx)(te,{isPending:v.isPending,isSubmitting:D,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Launch Template`}),e[42]=v.isPending,e[43]=D,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==V||e[47]!==W||e[48]!==G||e[49]!==Y||e[50]!==Z||e[51]!==F?(Q=(0,_.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:F,children:[V,W,G,Y,Z]}),e[46]=V,e[47]=W,e[48]=G,e[49]=Y,e[50]=Z,e[51]=F,e[52]=Q):Q=e[52];let $;return e[53]!==Q||e[54]!==P?($=(0,_.jsxs)(_.Fragment,{children:[M,N,P,Q]}),e[53]=Q,e[54]=P,e[55]=$):$=e[55],$}function y(e){return`'${e.replaceAll(`'`,`'"'"'`)}'`}function b(e,t,n){let r=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-launch-template`},{type:`flag`,value:` \\ --launch-template-name`},{type:`value`,value:` ${e?y(e):``}`}];return t&&r.push({type:`flag`,value:` \\ --version-description`},{type:`value`,value:` ${y(t)}`}),r.push({type:`flag`,value:` \\ --launch-template-data`},{type:`value`,value:` ${y(JSON.stringify(n))}`}),[{label:`Create Launch Template`,parts:r}]}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js b/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js index 70aa1ed8a..c5396ec0e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js @@ -1,21 +1,21 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{tn as te}from"./cluster-config.js";import{t as ne}from"./back-link.js";import{c as a,i as o,n as s,s as re,t as c}from"./select.js";import{t as ie}from"./cli-command-panel.js";import{t as ae}from"./button.js";import{t as oe}from"./input.js";import{a as l,r as u,t as d}from"./field.js";import{t as se}from"./acm.js";import{t as ce}from"./certificate-import-dialog.js";import{M as le,O as ue,w as de}from"./ec2.js";import{n as fe}from"./elbv2.js";import{o as pe,u as me}from"./elbv22.js";import{a as f,i as he,n as p,t as ge}from"./zod.js";import{t as _e}from"./error-banner.js";import{t as ve}from"./page-heading.js";import{t as ye}from"./form-actions.js";import{t as be}from"./tags-field-array.js";import{t as xe}from"./target-group-form.js";import{a as Se,c as Ce,o as we,r as Te,s as Ee,t as De}from"./elbv23.js";var Oe=r(),ke=e(n(),1),m=t();function Ae(e){let t=te(e.Tags);return t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`}function je(e){let t=te(e.Tags);return`${t?`${e.SubnetId} (${t})`:e.SubnetId} · ${e.CidrBlock}`}function Me(e){return e===`TLS`||e===`TCP`?`TCP`:e===`UDP`?`UDP`:e===`TCP_UDP`?`TCP_UDP`:`HTTP`}function Ne(e){let t=new Map;for(let n of e){let e=n.AvailabilityZone??`unknown`,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()].toSorted((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({az:e,subnets:t}))}function Pe(){let e=(0,Oe.c)(204),t=ee(),{data:n}=i(le),{data:r}=i(ue),{data:te}=i(de),{data:o}=i(me),{data:Ae}=i(se),{data:Pe}=i(pe),h=fe(),[g,We]=(0,ke.useState)(null),[Ge,Ke]=(0,ke.useState)(!1),qe;e[0]===n.Vpcs?qe=e[1]:(qe=n.Vpcs??[],e[0]=n.Vpcs,e[1]=qe);let _=qe,Je=r.Subnets??[],Ye=te.SecurityGroups??[],Xe;e[2]===o.TargetGroups?Xe=e[3]:(Xe=o.TargetGroups??[],e[2]=o.TargetGroups,e[3]=Xe);let Ze=Xe,Qe;e[4]===Ae.CertificateSummaryList?Qe=e[5]:(Qe=Ae.CertificateSummaryList??[],e[4]=Ae.CertificateSummaryList,e[5]=Qe);let $e=Qe,et;e[6]===Pe.SslPolicies?et=e[7]:(et=Pe.SslPolicies??[],e[6]=Pe.SslPolicies,e[7]=et);let tt=et,nt;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(nt=ge(Te),e[8]=nt):nt=e[8];let rt=_[0]?.VpcId??``,it,at,ot,st;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(it=[],at=[],ot=[],st={protocol:`HTTP`,port:80,targetGroupMode:`new`,existingTargetGroupArn:``,certificateArn:void 0,sslPolicy:void 0},e[9]=it,e[10]=at,e[11]=ot,e[12]=st):(it=e[9],at=e[10],ot=e[11],st=e[12]);let ct;e[13]===rt?ct=e[14]:(ct={resolver:nt,defaultValues:{name:``,type:`application`,scheme:`internet-facing`,vpcId:rt,subnetIds:it,securityGroupIds:at,tags:ot,listener:st}},e[13]=rt,e[14]=ct);let lt=he(ct),ut;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(ut=ge(Se),e[15]=ut):ut=e[15];let dt=_[0]?.VpcId??``,ft,pt;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(ft={protocol:`HTTP`,path:`/`,port:`traffic-port`,intervalSeconds:30,timeoutSeconds:5,healthyThresholdCount:5,unhealthyThresholdCount:2,matcher:`200`},pt=[],e[16]=ft,e[17]=pt):(ft=e[16],pt=e[17]);let mt;e[18]===dt?mt=e[19]:(mt={resolver:ut,defaultValues:{name:``,protocol:`HTTP`,port:80,vpcId:dt,healthCheck:ft,tags:pt}},e[18]=dt,e[19]=mt);let v=he(mt),{handleSubmit:ht,register:gt,watch:_t,control:y,setValue:b,getValues:x,formState:vt}=lt,{errors:S,isSubmitting:yt}=vt,bt;e[20]===y?bt=e[21]:(bt={control:y,name:`vpcId`},e[20]=y,e[21]=bt);let C=f(bt),xt;e[22]===y?xt=e[23]:(xt={control:y,name:`subnetIds`},e[22]=y,e[23]=xt);let St=f(xt),Ct;e[24]===y?Ct=e[25]:(Ct={control:y,name:`securityGroupIds`},e[24]=y,e[25]=Ct);let wt=f(Ct),Tt;e[26]===St?Tt=e[27]:(Tt=new Set(St),e[26]=St,e[27]=Tt);let Et=Tt,Dt;e[28]===wt?Dt=e[29]:(Dt=new Set(wt),e[28]=wt,e[29]=Dt);let Ot=Dt,kt;e[30]===y?kt=e[31]:(kt={control:y,name:`type`},e[30]=y,e[31]=kt);let At=f(kt),jt;e[32]===y?jt=e[33]:(jt={control:y,name:`listener.protocol`},e[32]=y,e[33]=jt);let w=f(jt),Mt;e[34]===y?Mt=e[35]:(Mt={control:y,name:`listener.targetGroupMode`},e[34]=y,e[35]=Mt);let T=f(Mt),Nt=At===`network`,Pt;e[36]===w?Pt=e[37]:(Pt=Ee(w),e[36]=w,e[37]=Pt);let Ft=Pt,It;e[38]===At?It=e[39]:(It=Ce(At),e[38]=At,e[39]=It);let Lt=It,Rt;e[40]===Nt?Rt=e[41]:(Rt=Nt?[`TCP`,`UDP`,`TLS`,`TCP_UDP`]:[`HTTP`,`HTTPS`],e[40]=Nt,e[41]=Rt);let zt=Rt,Bt;e[42]===C?Bt=e[43]:(Bt=e=>e.VpcId===C,e[42]=C,e[43]=Bt);let Vt=Je.filter(Bt),Ht;e[44]===C?Ht=e[45]:(Ht=e=>e.VpcId===C,e[44]=C,e[45]=Ht);let Ut=Ye.filter(Ht),Wt;if(e[46]!==Ze||e[47]!==C){let t;e[49]===C?t=e[50]:(t=e=>e.VpcId===C,e[49]=C,e[50]=t),Wt=Ze.filter(t),e[46]=Ze,e[47]=C,e[48]=Wt}else Wt=e[48];let Gt=Wt,Kt;e[51]===v?Kt=e[52]:(Kt=e=>{let t=Me(e);v.setValue(`protocol`,t),v.setValue(`healthCheck.protocol`,t===`HTTP`?`HTTP`:`TCP`)},e[51]=v,e[52]=Kt);let E=Kt,qt;e[53]!==b||e[54]!==E?(qt=e=>{b(`type`,e);let t=we(e);b(`listener.protocol`,t),b(`listener.port`,80),b(`listener.certificateArn`,void 0),b(`listener.sslPolicy`,void 0),e===`network`&&b(`securityGroupIds`,[]),E(t)},e[53]=b,e[54]=E,e[55]=qt):qt=e[55];let Jt=qt,Yt;e[56]!==x||e[57]!==b||e[58]!==E?(Yt=e=>{b(`listener.protocol`,e);let t=x(`listener.port`);Ee(e)?(t===80&&b(`listener.port`,443),e===`HTTPS`&&!x(`listener.sslPolicy`)&&b(`listener.sslPolicy`,De)):(t===443&&b(`listener.port`,80),b(`listener.certificateArn`,void 0),b(`listener.sslPolicy`,void 0)),E(e)},e[56]=x,e[57]=b,e[58]=E,e[59]=Yt):Yt=e[59];let Xt=Yt,Zt;e[60]!==b||e[61]!==v?(Zt=e=>{let t=(e===void 0?``:e)??``;b(`vpcId`,t,{shouldValidate:!0}),b(`subnetIds`,[],{shouldValidate:!0}),b(`securityGroupIds`,[]),b(`listener.existingTargetGroupArn`,``),v.setValue(`vpcId`,t)},e[60]=b,e[61]=v,e[62]=Zt):Zt=e[62];let Qt=Zt,$t;e[63]!==x||e[64]!==b?($t=e=>{let t=x(`subnetIds`),n=t.includes(e)?t.filter(t=>t!==e):[...t,e];b(`subnetIds`,n,{shouldValidate:!0})},e[63]=x,e[64]=b,e[65]=$t):$t=e[65];let en=$t,tn;e[66]!==x||e[67]!==b?(tn=e=>{let t=x(`securityGroupIds`),n=t.includes(e)?t.filter(t=>t!==e):[...t,e];b(`securityGroupIds`,n)},e[66]=x,e[67]=b,e[68]=tn):tn=e[68];let nn=tn,rn;e[69]!==t||e[70]!==v||e[71]!==h?(rn=async e=>{We(null);let n;if(e.listener.targetGroupMode===`new`){if(!await v.trigger())return;n=v.getValues()}let r=await h.mutateAsync({lb:{name:e.name,type:e.type,scheme:e.scheme,vpcId:e.vpcId,subnetIds:e.subnetIds,securityGroupIds:e.securityGroupIds,tags:e.tags},listener:{protocol:e.listener.protocol,port:e.listener.port,targetGroupMode:e.listener.targetGroupMode,existingTargetGroupArn:e.listener.existingTargetGroupArn,certificateArn:e.listener.certificateArn,sslPolicy:e.listener.sslPolicy,newTargetGroup:n}});We(r),!r.error&&r.loadBalancerArn&&t({to:`/ec2/describe-load-balancers/$id`,params:{id:encodeURIComponent(r.loadBalancerArn)}})},e[69]=t,e[70]=v,e[71]=h,e[72]=rn):rn=e[72];let an=rn,on=Ne(Vt),D,O;e[73]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,m.jsx)(ne,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),O=(0,m.jsx)(ve,{title:`Create Load Balancer`}),e[73]=D,e[74]=O):(D=e[73],O=e[74]);let k;e[75]===h.error?k=e[76]:(k=h.error&&(0,m.jsx)(_e,{error:h.error,msg:`Failed to create load balancer`}),e[75]=h.error,e[76]=k);let A;e[77]===g?A=e[78]:(A=g?.error&&(0,m.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,m.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,g.failedStep]}),(0,m.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:g.error.message}),g.created.length>0&&(0,m.jsxs)(`div`,{className:`mt-3`,children:[(0,m.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources (clean up manually if needed):`}),(0,m.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:g.created.map(He)})]})]}),e[77]=g,e[78]=A);let j;e[79]!==ht||e[80]!==an?(j=ht(an),e[79]=ht,e[80]=an,e[81]=j):j=e[81];let sn;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(sn=(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`lb-name`,children:`Name`})}),e[82]=sn):sn=e[82];let cn=!!S.name,M;e[83]===gt?M=e[84]:(M=gt(`name`),e[83]=gt,e[84]=M);let N;e[85]!==cn||e[86]!==M?(N=(0,m.jsx)(oe,{"aria-invalid":cn,id:`lb-name`,placeholder:`my-load-balancer`,...M}),e[85]=cn,e[86]=M,e[87]=N):N=e[87];let P;e[88]===S.name?P=e[89]:(P=(0,m.jsx)(u,{errors:[S.name]}),e[88]=S.name,e[89]=P);let F;e[90]!==N||e[91]!==P?(F=(0,m.jsxs)(d,{children:[sn,N,P]}),e[90]=N,e[91]=P,e[92]=F):F=e[92];let ln;e[93]===Symbol.for(`react.memo_cache_sentinel`)?(ln=(0,m.jsx)(l,{children:`Type`}),e[93]=ln):ln=e[93];let I;e[94]===Jt?I=e[95]:(I=e=>{let{field:t}=e;return(0,m.jsxs)(`div`,{className:`flex gap-4`,children:[(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Application Load Balancer`,checked:t.value===`application`,name:`lb-type`,onChange:()=>Jt(`application`),type:`radio`}),`Application (ALB)`]}),(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Network Load Balancer`,checked:t.value===`network`,name:`lb-type`,onChange:()=>Jt(`network`),type:`radio`}),`Network (NLB)`]})]})},e[94]=Jt,e[95]=I);let L;e[96]!==y||e[97]!==I?(L=(0,m.jsxs)(d,{children:[ln,(0,m.jsx)(p,{control:y,name:`type`,render:I})]}),e[96]=y,e[97]=I,e[98]=L):L=e[98];let un;e[99]===Symbol.for(`react.memo_cache_sentinel`)?(un=(0,m.jsx)(l,{children:`Scheme`}),e[99]=un):un=e[99];let R;e[100]===y?R=e[101]:(R=(0,m.jsxs)(d,{children:[un,(0,m.jsx)(p,{control:y,name:`scheme`,render:Ve})]}),e[100]=y,e[101]=R);let dn;e[102]===Symbol.for(`react.memo_cache_sentinel`)?(dn=(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`lb-vpc`,children:`VPC`})}),e[102]=dn):dn=e[102];let z;e[103]!==S.vpcId||e[104]!==Qt||e[105]!==_?(z=e=>{let{field:t}=e;return(0,m.jsxs)(c,{onValueChange:e=>Qt(e),value:t.value??``,children:[(0,m.jsx)(re,{"aria-invalid":!!S.vpcId,className:`w-full`,id:`lb-vpc`,children:(0,m.jsx)(a,{placeholder:`Select VPC`})}),(0,m.jsx)(s,{children:_.map(Be)})]})},e[103]=S.vpcId,e[104]=Qt,e[105]=_,e[106]=z):z=e[106];let fn;e[107]!==y||e[108]!==z?(fn=(0,m.jsx)(p,{control:y,name:`vpcId`,render:z}),e[107]=y,e[108]=z,e[109]=fn):fn=e[109];let B;e[110]===S.vpcId?B=e[111]:(B=(0,m.jsx)(u,{errors:[S.vpcId]}),e[110]=S.vpcId,e[111]=B);let V;e[112]!==fn||e[113]!==B?(V=(0,m.jsxs)(d,{children:[dn,fn,B]}),e[112]=fn,e[113]=B,e[114]=V):V=e[114];let pn;e[115]===Symbol.for(`react.memo_cache_sentinel`)?(pn=(0,m.jsx)(l,{children:`Subnets (select at least 1)`}),e[115]=pn):pn=e[115];let mn=on.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the selected VPC.`}):(0,m.jsx)(`div`,{className:`space-y-3`,children:on.map(e=>(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`p`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:e.az}),(0,m.jsx)(`div`,{className:`space-y-1`,children:e.subnets.map(e=>(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Subnet ${je(e)}`,checked:Et.has(e.SubnetId??``),onChange:()=>en(e.SubnetId??``),type:`checkbox`}),(0,m.jsx)(`span`,{className:`font-mono`,children:je(e)})]},e.SubnetId))})]},e.az))}),H;e[116]===S.subnetIds?H=e[117]:(H=(0,m.jsx)(u,{errors:[S.subnetIds]}),e[116]=S.subnetIds,e[117]=H);let U;e[118]!==mn||e[119]!==H?(U=(0,m.jsxs)(d,{children:[pn,mn,H]}),e[118]=mn,e[119]=H,e[120]=U):U=e[120];let hn=!Nt&&(0,m.jsxs)(d,{children:[(0,m.jsx)(l,{children:`Security groups`}),Ut.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the selected VPC.`}):(0,m.jsx)(`div`,{className:`space-y-1`,children:Ut.map(e=>(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:Ot.has(e.GroupId??``),onChange:()=>nn(e.GroupId??``),type:`checkbox`}),(0,m.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),W;e[121]===y?W=e[122]:(W=(0,m.jsx)(be,{control:y,name:`tags`}),e[121]=y,e[122]=W);let gn;e[123]===Symbol.for(`react.memo_cache_sentinel`)?(gn=(0,m.jsx)(`h2`,{className:`text-sm font-semibold`,children:`First listener & default target group`}),e[123]=gn):gn=e[123];let _n;e[124]===Symbol.for(`react.memo_cache_sentinel`)?(_n=(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),e[124]=_n):_n=e[124];let G;e[125]!==Xt||e[126]!==Lt?(G=e=>{let{field:t}=e;return(0,m.jsxs)(c,{onValueChange:e=>{e&&Xt(e)},value:t.value,children:[(0,m.jsx)(re,{className:`w-full`,id:`listener-protocol`,children:(0,m.jsx)(a,{})}),(0,m.jsx)(s,{children:Lt.map(ze)})]})},e[125]=Xt,e[126]=Lt,e[127]=G):G=e[127];let K;e[128]!==y||e[129]!==G?(K=(0,m.jsxs)(d,{children:[_n,(0,m.jsx)(p,{control:y,name:`listener.protocol`,render:G})]}),e[128]=y,e[129]=G,e[130]=K):K=e[130];let vn;e[131]===Symbol.for(`react.memo_cache_sentinel`)?(vn=(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),e[131]=vn):vn=e[131];let yn=!!S.listener?.port,q;e[132]===gt?q=e[133]:(q=gt(`listener.port`,{valueAsNumber:!0}),e[132]=gt,e[133]=q);let J;e[134]!==yn||e[135]!==q?(J=(0,m.jsx)(oe,{"aria-invalid":yn,id:`listener-port`,inputMode:`numeric`,type:`number`,...q}),e[134]=yn,e[135]=q,e[136]=J):J=e[136];let bn=S.listener?.port,Y;e[137]===bn?Y=e[138]:(Y=(0,m.jsx)(u,{errors:[bn]}),e[137]=bn,e[138]=Y);let X;e[139]!==J||e[140]!==Y?(X=(0,m.jsxs)(d,{children:[vn,J,Y]}),e[139]=J,e[140]=Y,e[141]=X):X=e[141];let Z;e[142]!==$e||e[143]!==y||e[144]!==S.listener?.certificateArn||e[145]!==Ft||e[146]!==w||e[147]!==tt?(Z=Ft&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(d,{children:[(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`listener-certificate`,children:`Certificate`})}),(0,m.jsx)(p,{control:y,name:`listener.certificateArn`,render:e=>{let{field:t}=e;return(0,m.jsxs)(c,{onValueChange:t.onChange,value:t.value??``,children:[(0,m.jsx)(re,{"aria-invalid":!!S.listener?.certificateArn,className:`w-full`,id:`listener-certificate`,children:(0,m.jsx)(a,{placeholder:`Select certificate`})}),(0,m.jsx)(s,{children:$e.map(Re)})]})}}),(0,m.jsx)(u,{errors:[S.listener?.certificateArn]}),(0,m.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[$e.length===0&&(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No certificates imported yet.`}),(0,m.jsx)(ae,{className:`ml-auto`,onClick:()=>Ke(!0),size:`sm`,type:`button`,variant:`ghost`,children:`Import certificate…`})]})]}),w===`HTTPS`&&(0,m.jsxs)(d,{children:[(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`listener-ssl-policy`,children:`Security policy`})}),(0,m.jsx)(p,{control:y,name:`listener.sslPolicy`,render:e=>{let{field:t}=e;return(0,m.jsxs)(c,{onValueChange:t.onChange,value:t.value??`ELBSecurityPolicy-2016-08`,children:[(0,m.jsx)(re,{className:`w-full`,id:`listener-ssl-policy`,children:(0,m.jsx)(a,{})}),(0,m.jsx)(s,{children:tt.map(Le)})]})}})]})]}),e[142]=$e,e[143]=y,e[144]=S.listener?.certificateArn,e[145]=Ft,e[146]=w,e[147]=tt,e[148]=Z):Z=e[148];let xn;e[149]===Symbol.for(`react.memo_cache_sentinel`)?(xn=(0,m.jsx)(l,{children:`Default target group`}),e[149]=xn):xn=e[149];let Sn;e[150]===y?Sn=e[151]:(Sn=(0,m.jsxs)(d,{children:[xn,(0,m.jsx)(p,{control:y,name:`listener.targetGroupMode`,render:Ie})]}),e[150]=y,e[151]=Sn);let Cn;e[152]!==y||e[153]!==S.listener?.existingTargetGroupArn||e[154]!==T||e[155]!==Gt?(Cn=T===`existing`&&(0,m.jsxs)(d,{children:[(0,m.jsx)(l,{children:(0,m.jsx)(`label`,{htmlFor:`tg-existing`,children:`Target group`})}),(0,m.jsx)(p,{control:y,name:`listener.existingTargetGroupArn`,render:e=>{let{field:t}=e;return(0,m.jsxs)(c,{onValueChange:t.onChange,value:t.value??``,children:[(0,m.jsx)(re,{"aria-invalid":!!S.listener?.existingTargetGroupArn,className:`w-full`,id:`tg-existing`,children:(0,m.jsx)(a,{placeholder:`Select target group`})}),(0,m.jsx)(s,{children:Gt.map(Fe)})]})}}),(0,m.jsx)(u,{errors:[S.listener?.existingTargetGroupArn]}),Gt.length===0&&(0,m.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups in this VPC. Choose “Create new” instead.`})]}),e[152]=y,e[153]=S.listener?.existingTargetGroupArn,e[154]=T,e[155]=Gt,e[156]=Cn):Cn=e[156];let Q;e[157]!==zt||e[158]!==v||e[159]!==T||e[160]!==_?(Q=T===`new`&&(0,m.jsx)(`div`,{className:`space-y-4 border-l-2 border-muted pl-4`,children:(0,m.jsx)(xe,{allowedProtocols:zt,form:v,vpcs:_})}),e[157]=zt,e[158]=v,e[159]=T,e[160]=_,e[161]=Q):Q=e[161];let wn;e[162]!==K||e[163]!==X||e[164]!==Z||e[165]!==Sn||e[166]!==Cn||e[167]!==Q?(wn=(0,m.jsxs)(`div`,{className:`space-y-4 rounded-md border bg-card p-4`,children:[gn,K,X,Z,Sn,Cn,Q]}),e[162]=K,e[163]=X,e[164]=Z,e[165]=Sn,e[166]=Cn,e[167]=Q,e[168]=wn):wn=e[168];let Tn;e[169]===b?Tn=e[170]:(Tn=e=>b(`listener.certificateArn`,e,{shouldValidate:!0}),e[169]=b,e[170]=Tn);let En;e[171]!==Ge||e[172]!==Tn?(En=(0,m.jsx)(ce,{onImported:Tn,onOpenChange:Ke,open:Ge}),e[171]=Ge,e[172]=Tn,e[173]=En):En=e[173];let Dn;e[174]!==v.watch||e[175]!==_t?(Dn=Ue(_t,v.watch),e[174]=v.watch,e[175]=_t,e[176]=Dn):Dn=e[176];let On;e[177]===Dn?On=e[178]:(On=(0,m.jsx)(ie,{commands:Dn}),e[177]=Dn,e[178]=On);let kn;e[179]===t?kn=e[180]:(kn=async()=>await t({to:`/ec2/describe-load-balancers`}),e[179]=t,e[180]=kn);let An;e[181]!==yt||e[182]!==kn||e[183]!==h.isPending?(An=(0,m.jsx)(ye,{isPending:h.isPending,isSubmitting:yt,onCancel:kn,pendingLabel:`Creating…`,submitLabel:`Create Load Balancer`}),e[181]=yt,e[182]=kn,e[183]=h.isPending,e[184]=An):An=e[184];let $;e[185]!==j||e[186]!==F||e[187]!==L||e[188]!==R||e[189]!==V||e[190]!==U||e[191]!==hn||e[192]!==W||e[193]!==wn||e[194]!==En||e[195]!==On||e[196]!==An?($=(0,m.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:j,children:[F,L,R,V,U,hn,W,wn,En,On,An]}),e[185]=j,e[186]=F,e[187]=L,e[188]=R,e[189]=V,e[190]=U,e[191]=hn,e[192]=W,e[193]=wn,e[194]=En,e[195]=On,e[196]=An,e[197]=$):$=e[197];let jn;return e[198]!==D||e[199]!==O||e[200]!==k||e[201]!==A||e[202]!==$?(jn=(0,m.jsxs)(m.Fragment,{children:[D,O,k,A,$]}),e[198]=D,e[199]=O,e[200]=k,e[201]=A,e[202]=$,e[203]=jn):jn=e[203],jn}function Fe(e){return(0,m.jsxs)(o,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Ie(e){let{field:t}=e;return(0,m.jsxs)(`div`,{className:`flex gap-4`,children:[(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Create new target group`,checked:t.value===`new`,name:`tg-mode`,onChange:()=>t.onChange(`new`),type:`radio`}),`Create new`]}),(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Use existing target group`,checked:t.value===`existing`,name:`tg-mode`,onChange:()=>t.onChange(`existing`),type:`radio`}),`Use existing`]})]})}function Le(e){return(0,m.jsx)(o,{value:e.Name??``,children:e.Name},e.Name)}function Re(e){return(0,m.jsx)(o,{value:e.CertificateArn??``,children:e.DomainName??e.CertificateArn?.split(`/`).pop()},e.CertificateArn)}function ze(e){return(0,m.jsx)(o,{value:e,children:e},e)}function Be(e){return(0,m.jsx)(o,{value:e.VpcId??``,children:Ae(e)},e.VpcId)}function Ve(e){let{field:t}=e;return(0,m.jsxs)(`div`,{className:`flex gap-4`,children:[(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Internet-facing`,checked:t.value===`internet-facing`,name:`scheme`,onChange:()=>t.onChange(`internet-facing`),type:`radio`}),`Internet-facing`]}),(0,m.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,m.jsx)(`input`,{"aria-label":`Internal`,checked:t.value===`internal`,name:`scheme`,onChange:()=>t.onChange(`internal`),type:`radio`}),`Internal`]})]})}function He(e,t){return(0,m.jsxs)(`li`,{children:[e.type,`: `,e.id??`(created)`]},t)}function Ue(e,t){let n=t=>{let n=e(t);return typeof n==`string`?n:``},r=t=>{let n=e(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]},i=t=>{let n=e(t);return typeof n==`number`&&Number.isFinite(n)?n:void 0},ee=n(`name`)||``,te=n(`type`)||`application`,ne=n(`scheme`)||`internet-facing`,a=r(`subnetIds`),o=r(`securityGroupIds`),s=n(`listener.protocol`)||`HTTP`,re=i(`listener.port`)??80,c=n(`listener.certificateArn`),ie=n(`listener.sslPolicy`),ae=n(`listener.targetGroupMode`),oe=n(`listener.existingTargetGroupArn`),l=[],u={type:`comment`,value:te===`network`?`# Create NLB with listener and default target group +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{tn as te}from"./cluster-config.js";import{t as ne}from"./back-link.js";import{c as a,i as o,n as s,s as re,t as c}from"./select.js";import{t as ie}from"./cli-command-panel.js";import{t as ae}from"./button.js";import{t as oe}from"./input.js";import{t as l}from"./acm.js";import{t as se}from"./certificate-import-dialog.js";import{M as ce,O as le,w as ue}from"./ec2.js";import{n as de}from"./elbv2.js";import{o as fe,u as pe}from"./elbv22.js";import{a as u,i as me,n as d,t as he}from"./zod.js";import{t as ge}from"./error-banner.js";import{t as _e}from"./form-actions.js";import{t as ve}from"./page-heading.js";import{a as f,r as p,t as m}from"./field.js";import{t as ye}from"./tags-field-array.js";import{t as be}from"./target-group-form.js";import{a as xe,c as Se,o as Ce,r as we,s as Te,t as Ee}from"./elbv23.js";var De=r(),Oe=e(n(),1),h=t();function ke(e){let t=te(e.Tags);return t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`}function Ae(e){let t=te(e.Tags);return`${t?`${e.SubnetId} (${t})`:e.SubnetId} · ${e.CidrBlock}`}function je(e){return e===`TLS`||e===`TCP`?`TCP`:e===`UDP`?`UDP`:e===`TCP_UDP`?`TCP_UDP`:`HTTP`}function Me(e){let t=new Map;for(let n of e){let e=n.AvailabilityZone??`unknown`,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()].toSorted((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({az:e,subnets:t}))}function Ne(){let e=(0,De.c)(204),t=ee(),{data:n}=i(ce),{data:r}=i(le),{data:te}=i(ue),{data:o}=i(pe),{data:ke}=i(l),{data:Ne}=i(fe),g=de(),[_,Ue]=(0,Oe.useState)(null),[We,Ge]=(0,Oe.useState)(!1),Ke;e[0]===n.Vpcs?Ke=e[1]:(Ke=n.Vpcs??[],e[0]=n.Vpcs,e[1]=Ke);let v=Ke,qe=r.Subnets??[],Je=te.SecurityGroups??[],Ye;e[2]===o.TargetGroups?Ye=e[3]:(Ye=o.TargetGroups??[],e[2]=o.TargetGroups,e[3]=Ye);let Xe=Ye,Ze;e[4]===ke.CertificateSummaryList?Ze=e[5]:(Ze=ke.CertificateSummaryList??[],e[4]=ke.CertificateSummaryList,e[5]=Ze);let Qe=Ze,$e;e[6]===Ne.SslPolicies?$e=e[7]:($e=Ne.SslPolicies??[],e[6]=Ne.SslPolicies,e[7]=$e);let et=$e,tt;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(tt=he(we),e[8]=tt):tt=e[8];let nt=v[0]?.VpcId??``,rt,it,at,ot;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(rt=[],it=[],at=[],ot={protocol:`HTTP`,port:80,targetGroupMode:`new`,existingTargetGroupArn:``,certificateArn:void 0,sslPolicy:void 0},e[9]=rt,e[10]=it,e[11]=at,e[12]=ot):(rt=e[9],it=e[10],at=e[11],ot=e[12]);let st;e[13]===nt?st=e[14]:(st={resolver:tt,defaultValues:{name:``,type:`application`,scheme:`internet-facing`,vpcId:nt,subnetIds:rt,securityGroupIds:it,tags:at,listener:ot}},e[13]=nt,e[14]=st);let ct=me(st),lt;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(lt=he(xe),e[15]=lt):lt=e[15];let ut=v[0]?.VpcId??``,dt,ft;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(dt={protocol:`HTTP`,path:`/`,port:`traffic-port`,intervalSeconds:30,timeoutSeconds:5,healthyThresholdCount:5,unhealthyThresholdCount:2,matcher:`200`},ft=[],e[16]=dt,e[17]=ft):(dt=e[16],ft=e[17]);let pt;e[18]===ut?pt=e[19]:(pt={resolver:lt,defaultValues:{name:``,protocol:`HTTP`,port:80,vpcId:ut,healthCheck:dt,tags:ft}},e[18]=ut,e[19]=pt);let y=me(pt),{handleSubmit:mt,register:b,watch:ht,control:x,setValue:S,getValues:C,formState:gt}=ct,{errors:w,isSubmitting:_t}=gt,vt;e[20]===x?vt=e[21]:(vt={control:x,name:`vpcId`},e[20]=x,e[21]=vt);let T=u(vt),yt;e[22]===x?yt=e[23]:(yt={control:x,name:`subnetIds`},e[22]=x,e[23]=yt);let bt=u(yt),xt;e[24]===x?xt=e[25]:(xt={control:x,name:`securityGroupIds`},e[24]=x,e[25]=xt);let St=u(xt),Ct;e[26]===bt?Ct=e[27]:(Ct=new Set(bt),e[26]=bt,e[27]=Ct);let wt=Ct,Tt;e[28]===St?Tt=e[29]:(Tt=new Set(St),e[28]=St,e[29]=Tt);let Et=Tt,Dt;e[30]===x?Dt=e[31]:(Dt={control:x,name:`type`},e[30]=x,e[31]=Dt);let Ot=u(Dt),kt;e[32]===x?kt=e[33]:(kt={control:x,name:`listener.protocol`},e[32]=x,e[33]=kt);let E=u(kt),At;e[34]===x?At=e[35]:(At={control:x,name:`listener.targetGroupMode`},e[34]=x,e[35]=At);let D=u(At),jt=Ot===`network`,Mt;e[36]===E?Mt=e[37]:(Mt=Te(E),e[36]=E,e[37]=Mt);let Nt=Mt,Pt;e[38]===Ot?Pt=e[39]:(Pt=Se(Ot),e[38]=Ot,e[39]=Pt);let Ft=Pt,It;e[40]===jt?It=e[41]:(It=jt?[`TCP`,`UDP`,`TLS`,`TCP_UDP`]:[`HTTP`,`HTTPS`],e[40]=jt,e[41]=It);let Lt=It,Rt;e[42]===T?Rt=e[43]:(Rt=e=>e.VpcId===T,e[42]=T,e[43]=Rt);let zt=qe.filter(Rt),Bt;e[44]===T?Bt=e[45]:(Bt=e=>e.VpcId===T,e[44]=T,e[45]=Bt);let Vt=Je.filter(Bt),Ht;if(e[46]!==Xe||e[47]!==T){let t;e[49]===T?t=e[50]:(t=e=>e.VpcId===T,e[49]=T,e[50]=t),Ht=Xe.filter(t),e[46]=Xe,e[47]=T,e[48]=Ht}else Ht=e[48];let Ut=Ht,Wt;e[51]===y?Wt=e[52]:(Wt=e=>{let t=je(e);y.setValue(`protocol`,t),y.setValue(`healthCheck.protocol`,t===`HTTP`?`HTTP`:`TCP`)},e[51]=y,e[52]=Wt);let O=Wt,Gt;e[53]!==S||e[54]!==O?(Gt=e=>{S(`type`,e);let t=Ce(e);S(`listener.protocol`,t),S(`listener.port`,80),S(`listener.certificateArn`,void 0),S(`listener.sslPolicy`,void 0),e===`network`&&S(`securityGroupIds`,[]),O(t)},e[53]=S,e[54]=O,e[55]=Gt):Gt=e[55];let Kt=Gt,qt;e[56]!==C||e[57]!==S||e[58]!==O?(qt=e=>{S(`listener.protocol`,e);let t=C(`listener.port`);Te(e)?(t===80&&S(`listener.port`,443),e===`HTTPS`&&!C(`listener.sslPolicy`)&&S(`listener.sslPolicy`,Ee)):(t===443&&S(`listener.port`,80),S(`listener.certificateArn`,void 0),S(`listener.sslPolicy`,void 0)),O(e)},e[56]=C,e[57]=S,e[58]=O,e[59]=qt):qt=e[59];let Jt=qt,Yt;e[60]!==S||e[61]!==y?(Yt=e=>{let t=(e===void 0?``:e)??``;S(`vpcId`,t,{shouldValidate:!0}),S(`subnetIds`,[],{shouldValidate:!0}),S(`securityGroupIds`,[]),S(`listener.existingTargetGroupArn`,``),y.setValue(`vpcId`,t)},e[60]=S,e[61]=y,e[62]=Yt):Yt=e[62];let Xt=Yt,Zt;e[63]!==C||e[64]!==S?(Zt=e=>{let t=C(`subnetIds`),n=t.includes(e)?t.filter(t=>t!==e):[...t,e];S(`subnetIds`,n,{shouldValidate:!0})},e[63]=C,e[64]=S,e[65]=Zt):Zt=e[65];let Qt=Zt,$t;e[66]!==C||e[67]!==S?($t=e=>{let t=C(`securityGroupIds`),n=t.includes(e)?t.filter(t=>t!==e):[...t,e];S(`securityGroupIds`,n)},e[66]=C,e[67]=S,e[68]=$t):$t=e[68];let en=$t,tn;e[69]!==t||e[70]!==y||e[71]!==g?(tn=async e=>{Ue(null);let n;if(e.listener.targetGroupMode===`new`){if(!await y.trigger())return;n=y.getValues()}let r=await g.mutateAsync({lb:{name:e.name,type:e.type,scheme:e.scheme,vpcId:e.vpcId,subnetIds:e.subnetIds,securityGroupIds:e.securityGroupIds,tags:e.tags},listener:{protocol:e.listener.protocol,port:e.listener.port,targetGroupMode:e.listener.targetGroupMode,existingTargetGroupArn:e.listener.existingTargetGroupArn,certificateArn:e.listener.certificateArn,sslPolicy:e.listener.sslPolicy,newTargetGroup:n}});Ue(r),!r.error&&r.loadBalancerArn&&t({to:`/ec2/describe-load-balancers/$id`,params:{id:encodeURIComponent(r.loadBalancerArn)}})},e[69]=t,e[70]=y,e[71]=g,e[72]=tn):tn=e[72];let nn=tn,rn=Me(zt),k,A;e[73]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(ne,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),A=(0,h.jsx)(ve,{title:`Create Load Balancer`}),e[73]=k,e[74]=A):(k=e[73],A=e[74]);let j;e[75]===g.error?j=e[76]:(j=g.error&&(0,h.jsx)(ge,{error:g.error,msg:`Failed to create load balancer`}),e[75]=g.error,e[76]=j);let M;e[77]===_?M=e[78]:(M=_?.error&&(0,h.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,h.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,_.failedStep]}),(0,h.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:_.error.message}),_.created.length>0&&(0,h.jsxs)(`div`,{className:`mt-3`,children:[(0,h.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources (clean up manually if needed):`}),(0,h.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:_.created.map(Ve)})]})]}),e[77]=_,e[78]=M);let N;e[79]!==mt||e[80]!==nn?(N=mt(nn),e[79]=mt,e[80]=nn,e[81]=N):N=e[81];let an;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(an=(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`lb-name`,children:`Name`})}),e[82]=an):an=e[82];let on=!!w.name,P;e[83]===b?P=e[84]:(P=b(`name`),e[83]=b,e[84]=P);let F;e[85]!==on||e[86]!==P?(F=(0,h.jsx)(oe,{"aria-invalid":on,id:`lb-name`,placeholder:`my-load-balancer`,...P}),e[85]=on,e[86]=P,e[87]=F):F=e[87];let I;e[88]===w.name?I=e[89]:(I=(0,h.jsx)(p,{errors:[w.name]}),e[88]=w.name,e[89]=I);let L;e[90]!==F||e[91]!==I?(L=(0,h.jsxs)(m,{children:[an,F,I]}),e[90]=F,e[91]=I,e[92]=L):L=e[92];let sn;e[93]===Symbol.for(`react.memo_cache_sentinel`)?(sn=(0,h.jsx)(f,{children:`Type`}),e[93]=sn):sn=e[93];let R;e[94]===Kt?R=e[95]:(R=e=>{let{field:t}=e;return(0,h.jsxs)(`div`,{className:`flex gap-4`,children:[(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Application Load Balancer`,checked:t.value===`application`,name:`lb-type`,onChange:()=>Kt(`application`),type:`radio`}),`Application (ALB)`]}),(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Network Load Balancer`,checked:t.value===`network`,name:`lb-type`,onChange:()=>Kt(`network`),type:`radio`}),`Network (NLB)`]})]})},e[94]=Kt,e[95]=R);let z;e[96]!==x||e[97]!==R?(z=(0,h.jsxs)(m,{children:[sn,(0,h.jsx)(d,{control:x,name:`type`,render:R})]}),e[96]=x,e[97]=R,e[98]=z):z=e[98];let cn;e[99]===Symbol.for(`react.memo_cache_sentinel`)?(cn=(0,h.jsx)(f,{children:`Scheme`}),e[99]=cn):cn=e[99];let ln;e[100]===x?ln=e[101]:(ln=(0,h.jsxs)(m,{children:[cn,(0,h.jsx)(d,{control:x,name:`scheme`,render:Be})]}),e[100]=x,e[101]=ln);let un;e[102]===Symbol.for(`react.memo_cache_sentinel`)?(un=(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`lb-vpc`,children:`VPC`})}),e[102]=un):un=e[102];let B;e[103]!==w.vpcId||e[104]!==Xt||e[105]!==v?(B=e=>{let{field:t}=e;return(0,h.jsxs)(c,{onValueChange:e=>Xt(e),value:t.value??``,children:[(0,h.jsx)(re,{"aria-invalid":!!w.vpcId,className:`w-full`,id:`lb-vpc`,children:(0,h.jsx)(a,{placeholder:`Select VPC`})}),(0,h.jsx)(s,{children:v.map(ze)})]})},e[103]=w.vpcId,e[104]=Xt,e[105]=v,e[106]=B):B=e[106];let V;e[107]!==x||e[108]!==B?(V=(0,h.jsx)(d,{control:x,name:`vpcId`,render:B}),e[107]=x,e[108]=B,e[109]=V):V=e[109];let H;e[110]===w.vpcId?H=e[111]:(H=(0,h.jsx)(p,{errors:[w.vpcId]}),e[110]=w.vpcId,e[111]=H);let U;e[112]!==V||e[113]!==H?(U=(0,h.jsxs)(m,{children:[un,V,H]}),e[112]=V,e[113]=H,e[114]=U):U=e[114];let dn;e[115]===Symbol.for(`react.memo_cache_sentinel`)?(dn=(0,h.jsx)(f,{children:`Subnets (select at least 1)`}),e[115]=dn):dn=e[115];let fn=rn.length===0?(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the selected VPC.`}):(0,h.jsx)(`div`,{className:`space-y-3`,children:rn.map(e=>(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`p`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:e.az}),(0,h.jsx)(`div`,{className:`space-y-1`,children:e.subnets.map(e=>(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Subnet ${Ae(e)}`,checked:wt.has(e.SubnetId??``),onChange:()=>Qt(e.SubnetId??``),type:`checkbox`}),(0,h.jsx)(`span`,{className:`font-mono`,children:Ae(e)})]},e.SubnetId))})]},e.az))}),W;e[116]===w.subnetIds?W=e[117]:(W=(0,h.jsx)(p,{errors:[w.subnetIds]}),e[116]=w.subnetIds,e[117]=W);let G;e[118]!==fn||e[119]!==W?(G=(0,h.jsxs)(m,{children:[dn,fn,W]}),e[118]=fn,e[119]=W,e[120]=G):G=e[120];let pn=!jt&&(0,h.jsxs)(m,{children:[(0,h.jsx)(f,{children:`Security groups`}),Vt.length===0?(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the selected VPC.`}):(0,h.jsx)(`div`,{className:`space-y-1`,children:Vt.map(e=>(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:Et.has(e.GroupId??``),onChange:()=>en(e.GroupId??``),type:`checkbox`}),(0,h.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),K;e[121]===x?K=e[122]:(K=(0,h.jsx)(ye,{control:x,name:`tags`}),e[121]=x,e[122]=K);let mn;e[123]===Symbol.for(`react.memo_cache_sentinel`)?(mn=(0,h.jsx)(`h2`,{className:`text-sm font-semibold`,children:`First listener & default target group`}),e[123]=mn):mn=e[123];let hn;e[124]===Symbol.for(`react.memo_cache_sentinel`)?(hn=(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),e[124]=hn):hn=e[124];let q;e[125]!==Jt||e[126]!==Ft?(q=e=>{let{field:t}=e;return(0,h.jsxs)(c,{onValueChange:e=>{e&&Jt(e)},value:t.value,children:[(0,h.jsx)(re,{className:`w-full`,id:`listener-protocol`,children:(0,h.jsx)(a,{})}),(0,h.jsx)(s,{children:Ft.map(Re)})]})},e[125]=Jt,e[126]=Ft,e[127]=q):q=e[127];let J;e[128]!==x||e[129]!==q?(J=(0,h.jsxs)(m,{children:[hn,(0,h.jsx)(d,{control:x,name:`listener.protocol`,render:q})]}),e[128]=x,e[129]=q,e[130]=J):J=e[130];let gn;e[131]===Symbol.for(`react.memo_cache_sentinel`)?(gn=(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),e[131]=gn):gn=e[131];let _n=!!w.listener?.port,Y;e[132]===b?Y=e[133]:(Y=b(`listener.port`,{valueAsNumber:!0}),e[132]=b,e[133]=Y);let X;e[134]!==_n||e[135]!==Y?(X=(0,h.jsx)(oe,{"aria-invalid":_n,id:`listener-port`,inputMode:`numeric`,type:`number`,...Y}),e[134]=_n,e[135]=Y,e[136]=X):X=e[136];let vn=w.listener?.port,Z;e[137]===vn?Z=e[138]:(Z=(0,h.jsx)(p,{errors:[vn]}),e[137]=vn,e[138]=Z);let Q;e[139]!==X||e[140]!==Z?(Q=(0,h.jsxs)(m,{children:[gn,X,Z]}),e[139]=X,e[140]=Z,e[141]=Q):Q=e[141];let yn;e[142]!==Qe||e[143]!==x||e[144]!==w.listener?.certificateArn||e[145]!==Nt||e[146]!==E||e[147]!==et?(yn=Nt&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(m,{children:[(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`listener-certificate`,children:`Certificate`})}),(0,h.jsx)(d,{control:x,name:`listener.certificateArn`,render:e=>{let{field:t}=e;return(0,h.jsxs)(c,{onValueChange:t.onChange,value:t.value??``,children:[(0,h.jsx)(re,{"aria-invalid":!!w.listener?.certificateArn,className:`w-full`,id:`listener-certificate`,children:(0,h.jsx)(a,{placeholder:`Select certificate`})}),(0,h.jsx)(s,{children:Qe.map(Le)})]})}}),(0,h.jsx)(p,{errors:[w.listener?.certificateArn]}),(0,h.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[Qe.length===0&&(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No certificates imported yet.`}),(0,h.jsx)(ae,{className:`ml-auto`,onClick:()=>Ge(!0),size:`sm`,type:`button`,variant:`ghost`,children:`Import certificate…`})]})]}),E===`HTTPS`&&(0,h.jsxs)(m,{children:[(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`listener-ssl-policy`,children:`Security policy`})}),(0,h.jsx)(d,{control:x,name:`listener.sslPolicy`,render:e=>{let{field:t}=e;return(0,h.jsxs)(c,{onValueChange:t.onChange,value:t.value??`ELBSecurityPolicy-2016-08`,children:[(0,h.jsx)(re,{className:`w-full`,id:`listener-ssl-policy`,children:(0,h.jsx)(a,{})}),(0,h.jsx)(s,{children:et.map(Ie)})]})}})]})]}),e[142]=Qe,e[143]=x,e[144]=w.listener?.certificateArn,e[145]=Nt,e[146]=E,e[147]=et,e[148]=yn):yn=e[148];let bn;e[149]===Symbol.for(`react.memo_cache_sentinel`)?(bn=(0,h.jsx)(f,{children:`Default target group`}),e[149]=bn):bn=e[149];let xn;e[150]===x?xn=e[151]:(xn=(0,h.jsxs)(m,{children:[bn,(0,h.jsx)(d,{control:x,name:`listener.targetGroupMode`,render:Fe})]}),e[150]=x,e[151]=xn);let $;e[152]!==x||e[153]!==w.listener?.existingTargetGroupArn||e[154]!==D||e[155]!==Ut?($=D===`existing`&&(0,h.jsxs)(m,{children:[(0,h.jsx)(f,{children:(0,h.jsx)(`label`,{htmlFor:`tg-existing`,children:`Target group`})}),(0,h.jsx)(d,{control:x,name:`listener.existingTargetGroupArn`,render:e=>{let{field:t}=e;return(0,h.jsxs)(c,{onValueChange:t.onChange,value:t.value??``,children:[(0,h.jsx)(re,{"aria-invalid":!!w.listener?.existingTargetGroupArn,className:`w-full`,id:`tg-existing`,children:(0,h.jsx)(a,{placeholder:`Select target group`})}),(0,h.jsx)(s,{children:Ut.map(Pe)})]})}}),(0,h.jsx)(p,{errors:[w.listener?.existingTargetGroupArn]}),Ut.length===0&&(0,h.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups in this VPC. Choose “Create new” instead.`})]}),e[152]=x,e[153]=w.listener?.existingTargetGroupArn,e[154]=D,e[155]=Ut,e[156]=$):$=e[156];let Sn;e[157]!==Lt||e[158]!==y||e[159]!==D||e[160]!==v?(Sn=D===`new`&&(0,h.jsx)(`div`,{className:`space-y-4 border-l-2 border-muted pl-4`,children:(0,h.jsx)(be,{allowedProtocols:Lt,form:y,vpcs:v})}),e[157]=Lt,e[158]=y,e[159]=D,e[160]=v,e[161]=Sn):Sn=e[161];let Cn;e[162]!==J||e[163]!==Q||e[164]!==yn||e[165]!==xn||e[166]!==$||e[167]!==Sn?(Cn=(0,h.jsxs)(`div`,{className:`space-y-4 rounded-md border bg-card p-4`,children:[mn,J,Q,yn,xn,$,Sn]}),e[162]=J,e[163]=Q,e[164]=yn,e[165]=xn,e[166]=$,e[167]=Sn,e[168]=Cn):Cn=e[168];let wn;e[169]===S?wn=e[170]:(wn=e=>S(`listener.certificateArn`,e,{shouldValidate:!0}),e[169]=S,e[170]=wn);let Tn;e[171]!==We||e[172]!==wn?(Tn=(0,h.jsx)(se,{onImported:wn,onOpenChange:Ge,open:We}),e[171]=We,e[172]=wn,e[173]=Tn):Tn=e[173];let En;e[174]!==y.watch||e[175]!==ht?(En=He(ht,y.watch),e[174]=y.watch,e[175]=ht,e[176]=En):En=e[176];let Dn;e[177]===En?Dn=e[178]:(Dn=(0,h.jsx)(ie,{commands:En}),e[177]=En,e[178]=Dn);let On;e[179]===t?On=e[180]:(On=async()=>await t({to:`/ec2/describe-load-balancers`}),e[179]=t,e[180]=On);let kn;e[181]!==_t||e[182]!==On||e[183]!==g.isPending?(kn=(0,h.jsx)(_e,{isPending:g.isPending,isSubmitting:_t,onCancel:On,pendingLabel:`Creating…`,submitLabel:`Create Load Balancer`}),e[181]=_t,e[182]=On,e[183]=g.isPending,e[184]=kn):kn=e[184];let An;e[185]!==N||e[186]!==L||e[187]!==z||e[188]!==ln||e[189]!==U||e[190]!==G||e[191]!==pn||e[192]!==K||e[193]!==Cn||e[194]!==Tn||e[195]!==Dn||e[196]!==kn?(An=(0,h.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[L,z,ln,U,G,pn,K,Cn,Tn,Dn,kn]}),e[185]=N,e[186]=L,e[187]=z,e[188]=ln,e[189]=U,e[190]=G,e[191]=pn,e[192]=K,e[193]=Cn,e[194]=Tn,e[195]=Dn,e[196]=kn,e[197]=An):An=e[197];let jn;return e[198]!==k||e[199]!==A||e[200]!==j||e[201]!==M||e[202]!==An?(jn=(0,h.jsxs)(h.Fragment,{children:[k,A,j,M,An]}),e[198]=k,e[199]=A,e[200]=j,e[201]=M,e[202]=An,e[203]=jn):jn=e[203],jn}function Pe(e){return(0,h.jsxs)(o,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Fe(e){let{field:t}=e;return(0,h.jsxs)(`div`,{className:`flex gap-4`,children:[(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Create new target group`,checked:t.value===`new`,name:`tg-mode`,onChange:()=>t.onChange(`new`),type:`radio`}),`Create new`]}),(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Use existing target group`,checked:t.value===`existing`,name:`tg-mode`,onChange:()=>t.onChange(`existing`),type:`radio`}),`Use existing`]})]})}function Ie(e){return(0,h.jsx)(o,{value:e.Name??``,children:e.Name},e.Name)}function Le(e){return(0,h.jsx)(o,{value:e.CertificateArn??``,children:e.DomainName??e.CertificateArn?.split(`/`).pop()},e.CertificateArn)}function Re(e){return(0,h.jsx)(o,{value:e,children:e},e)}function ze(e){return(0,h.jsx)(o,{value:e.VpcId??``,children:ke(e)},e.VpcId)}function Be(e){let{field:t}=e;return(0,h.jsxs)(`div`,{className:`flex gap-4`,children:[(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Internet-facing`,checked:t.value===`internet-facing`,name:`scheme`,onChange:()=>t.onChange(`internet-facing`),type:`radio`}),`Internet-facing`]}),(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Internal`,checked:t.value===`internal`,name:`scheme`,onChange:()=>t.onChange(`internal`),type:`radio`}),`Internal`]})]})}function Ve(e,t){return(0,h.jsxs)(`li`,{children:[e.type,`: `,e.id??`(created)`]},t)}function He(e,t){let n=t=>{let n=e(t);return typeof n==`string`?n:``},r=t=>{let n=e(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]},i=t=>{let n=e(t);return typeof n==`number`&&Number.isFinite(n)?n:void 0},ee=n(`name`)||``,te=n(`type`)||`application`,ne=n(`scheme`)||`internet-facing`,a=r(`subnetIds`),o=r(`securityGroupIds`),s=n(`listener.protocol`)||`HTTP`,re=i(`listener.port`)??80,c=n(`listener.certificateArn`),ie=n(`listener.sslPolicy`),ae=n(`listener.targetGroupMode`),oe=n(`listener.existingTargetGroupArn`),l=[],se={type:`comment`,value:te===`network`?`# Create NLB with listener and default target group `:`# Create ALB with listener and default target group -`},d=e=>{let n=t(e);return typeof n==`string`?n:``},se=e=>{let n=t(e);return typeof n==`number`&&Number.isFinite(n)?n:void 0};if(ae===`new`){let e=d(`name`)||``,t=se(`port`)??80,n=d(`vpcId`),r=d(`protocol`)||`HTTP`;l.push({label:`Create Target Group`,parts:[u,{type:`variable`,value:`TG_ARN=`},{type:`bin`,value:`$(AWS_PROFILE=spinifex aws elbv2 create-target-group`},{type:`flag`,value:` \\ +`},ce=e=>{let n=t(e);return typeof n==`string`?n:``},le=e=>{let n=t(e);return typeof n==`number`&&Number.isFinite(n)?n:void 0};if(ae===`new`){let e=ce(`name`)||``,t=le(`port`)??80,n=ce(`vpcId`),r=ce(`protocol`)||`HTTP`;l.push({label:`Create Target Group`,parts:[se,{type:`variable`,value:`TG_ARN=`},{type:`bin`,value:`$(AWS_PROFILE=spinifex aws elbv2 create-target-group`},{type:`flag`,value:` \\ --name`},{type:`value`,value:` ${e}`},{type:`flag`,value:` \\ --protocol`},{type:`value`,value:` ${r}`},{type:`flag`,value:` --port`},{type:`value`,value:` ${t}`},{type:`flag`,value:` \\ --target-type instance --vpc-id`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ - --query`},{type:`value`,value:` 'TargetGroups[0].TargetGroupArn'`},{type:`flag`,value:` --output`},{type:`value`,value:` text)`}]})}else l.push({label:`Use Existing Target Group`,parts:[u,{type:`variable`,value:`TG_ARN=`},{type:`value`,value:oe||``}]});let ce=[{type:`variable`,value:`LB_ARN=`},{type:`bin`,value:`$(AWS_PROFILE=spinifex aws elbv2 create-load-balancer`},{type:`flag`,value:` \\ + --query`},{type:`value`,value:` 'TargetGroups[0].TargetGroupArn'`},{type:`flag`,value:` --output`},{type:`value`,value:` text)`}]})}else l.push({label:`Use Existing Target Group`,parts:[se,{type:`variable`,value:`TG_ARN=`},{type:`value`,value:oe||``}]});let ue=[{type:`variable`,value:`LB_ARN=`},{type:`bin`,value:`$(AWS_PROFILE=spinifex aws elbv2 create-load-balancer`},{type:`flag`,value:` \\ --name`},{type:`value`,value:` ${ee}`},{type:`flag`,value:` \\ --scheme`},{type:`value`,value:` ${ne}`},{type:`flag`,value:` \\ - --type`},{type:`value`,value:` ${te}`}];a.length>0&&ce.push({type:`flag`,value:` \\ - --subnets`},{type:`value`,value:` ${a.join(` `)}`}),o.length>0&&ce.push({type:`flag`,value:` \\ - --security-groups`},{type:`value`,value:` ${o.join(` `)}`}),ce.push({type:`flag`,value:` \\ - --query`},{type:`value`,value:` 'LoadBalancers[0].LoadBalancerArn'`},{type:`flag`,value:` --output`},{type:`value`,value:` text)`}),l.push({label:`Create Load Balancer`,parts:ce});let le=[{type:`bin`,value:`AWS_PROFILE=spinifex aws elbv2 create-listener`},{type:`flag`,value:` \\ + --type`},{type:`value`,value:` ${te}`}];a.length>0&&ue.push({type:`flag`,value:` \\ + --subnets`},{type:`value`,value:` ${a.join(` `)}`}),o.length>0&&ue.push({type:`flag`,value:` \\ + --security-groups`},{type:`value`,value:` ${o.join(` `)}`}),ue.push({type:`flag`,value:` \\ + --query`},{type:`value`,value:` 'LoadBalancers[0].LoadBalancerArn'`},{type:`flag`,value:` --output`},{type:`value`,value:` text)`}),l.push({label:`Create Load Balancer`,parts:ue});let de=[{type:`bin`,value:`AWS_PROFILE=spinifex aws elbv2 create-listener`},{type:`flag`,value:` \\ --load-balancer-arn`},{type:`variable`,value:` "$LB_ARN"`},{type:`flag`,value:` \\ --protocol`},{type:`value`,value:` ${s}`},{type:`flag`,value:` \\ - --port`},{type:`value`,value:` ${re}`}];return(s===`HTTPS`||s===`TLS`)&&c&&(le.push({type:`flag`,value:` \\ - --certificates`},{type:`value`,value:` CertificateArn=${c}`}),s===`HTTPS`&&ie&&le.push({type:`flag`,value:` \\ - --ssl-policy`},{type:`value`,value:` ${ie}`})),le.push({type:`flag`,value:` \\ - --default-actions`},{type:`value`,value:` Type=forward,TargetGroupArn="$TG_ARN"`}),l.push({label:`Create Listener`,parts:le}),l}var h=Pe;export{h as component}; \ No newline at end of file + --port`},{type:`value`,value:` ${re}`}];return(s===`HTTPS`||s===`TLS`)&&c&&(de.push({type:`flag`,value:` \\ + --certificates`},{type:`value`,value:` CertificateArn=${c}`}),s===`HTTPS`&&ie&&de.push({type:`flag`,value:` \\ + --ssl-policy`},{type:`value`,value:` ${ie}`})),de.push({type:`flag`,value:` \\ + --default-actions`},{type:`value`,value:` Type=forward,TargetGroupArn="$TG_ARN"`}),l.push({label:`Create Listener`,parts:de}),l}var g=Ne;export{g as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-nat-gateway.js b/spinifex/services/spinifexui/frontend/dist/assets/create-nat-gateway.js index 5a75c799b..46c7f5372 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-nat-gateway.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-nat-gateway.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{t as ee}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{c as o,i as s,n as te,s as ne,t as re}from"./select.js";import{t as ie}from"./cli-command-panel.js";import{t as ae}from"./input.js";import{a as c,r as oe,t as l}from"./field.js";import{O as se,n as ce}from"./ec2.js";import{_ as le}from"./ec22.js";import{a as ue,i as de,n as u,t as fe}from"./zod.js";import{t as pe}from"./error-banner.js";import{t as me}from"./page-heading.js";import{l as he}from"./ec23.js";import{t as ge}from"./form-actions.js";var _e=t(),d=e();function f(){let e=(0,_e.c)(70),t=ee(),{data:i}=n(se),{data:s}=n(ce),f=le(),p;e[0]===i.Subnets?p=e[1]:(p=i.Subnets??[],e[0]=i.Subnets,e[1]=p);let m=p,h;e[2]===m?h=e[3]:(h=m.filter(xe),e[2]=m,e[3]=h);let Ce=h,g=Ce.length>0?Ce:m,_;e[4]===s.Addresses?_=e[5]:(_=s.Addresses??[],e[4]=s.Addresses,e[5]=_);let v;e[6]===_?v=e[7]:(v=_.filter(be),e[6]=_,e[7]=v);let y=v,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:fe(he),defaultValues:{subnetId:``,allocationId:``,name:``}},e[8]=b):b=e[8];let{control:x,handleSubmit:S,register:C,formState:we}=de(b),{errors:w,isSubmitting:T}=we,E;e[9]===x?E=e[10]:(E={control:x},e[9]=x,e[10]=E);let D=ue(E),O;e[11]===D?O=e[12]:(O=e=>e?D[e]:void 0,e[11]=D,e[12]=O);let k=O,A;e[13]!==f||e[14]!==t?(A=async e=>{let n=(await f.mutateAsync({subnetId:e.subnetId,allocationId:e.allocationId,name:e.name?.trim()??void 0})).NatGateway?.NatGatewayId;t(n?{to:`/ec2/describe-nat-gateways/$id`,params:{id:n}}:{to:`/ec2/describe-nat-gateways`})},e[13]=f,e[14]=t,e[15]=A):A=e[15];let j=A,M,N;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,d.jsx)(a,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),M=(0,d.jsx)(me,{title:`Create NAT Gateway`}),e[16]=M,e[17]=N):(M=e[16],N=e[17]);let P;e[18]===f.error?P=e[19]:(P=f.error&&(0,d.jsx)(pe,{error:f.error,msg:`Failed to create NAT Gateway`}),e[18]=f.error,e[19]=P);let F;e[20]!==S||e[21]!==j?(F=S(j),e[20]=S,e[21]=j,e[22]=F):F=e[22];let I;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[23]=I):I=e[23];let L;e[24]===C?L=e[25]:(L=C(`name`),e[24]=C,e[25]=L);let R;e[26]===L?R=e[27]:(R=(0,d.jsxs)(l,{children:[I,(0,d.jsx)(ae,{id:`name`,placeholder:`my-nat-gateway`,...L})]}),e[26]=L,e[27]=R);let z;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`subnetId`,children:`Public subnet`})}),e[28]=z):z=e[28];let B;e[29]!==w.subnetId||e[30]!==g?(B=e=>{let{field:t}=e;return(0,d.jsxs)(re,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(ne,{"aria-invalid":!!w.subnetId,className:`w-full`,id:`subnetId`,children:(0,d.jsx)(o,{placeholder:`Select a public subnet`})}),(0,d.jsx)(te,{children:g.map(ye)})]})},e[29]=w.subnetId,e[30]=g,e[31]=B):B=e[31];let V;e[32]!==x||e[33]!==B?(V=(0,d.jsx)(u,{control:x,name:`subnetId`,render:B}),e[32]=x,e[33]=B,e[34]=V):V=e[34];let H;e[35]===w.subnetId?H=e[36]:(H=(0,d.jsx)(oe,{errors:[w.subnetId]}),e[35]=w.subnetId,e[36]=H);let U;e[37]!==V||e[38]!==H?(U=(0,d.jsxs)(l,{children:[z,V,H]}),e[37]=V,e[38]=H,e[39]=U):U=e[39];let W;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`allocationId`,children:`Elastic IP`})}),e[40]=W):W=e[40];let G;e[41]!==y||e[42]!==x||e[43]!==w.allocationId?(G=y.length>0?(0,d.jsx)(u,{control:x,name:`allocationId`,render:e=>{let{field:t}=e;return(0,d.jsxs)(re,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(ne,{"aria-invalid":!!w.allocationId,className:`w-full`,id:`allocationId`,children:(0,d.jsx)(o,{placeholder:`Select an Elastic IP`})}),(0,d.jsx)(te,{children:y.map(ve)})]})}}):(0,d.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No available Elastic IPs.`,` `,(0,d.jsx)(r,{className:`text-primary hover:underline`,to:`/ec2/allocate-address`,children:`Allocate one`}),` `,`first.`]}),e[41]=y,e[42]=x,e[43]=w.allocationId,e[44]=G):G=e[44];let K;e[45]===w.allocationId?K=e[46]:(K=(0,d.jsx)(oe,{errors:[w.allocationId]}),e[45]=w.allocationId,e[46]=K);let q;e[47]!==G||e[48]!==K?(q=(0,d.jsxs)(l,{children:[W,G,K]}),e[47]=G,e[48]=K,e[49]=q):q=e[49];let J;e[50]===k?J=e[51]:(J=Se(k),e[50]=k,e[51]=J);let Y;e[52]===J?Y=e[53]:(Y=(0,d.jsx)(ie,{commands:J}),e[52]=J,e[53]=Y);let X;e[54]===t?X=e[55]:(X=async()=>await t({to:`/ec2/describe-nat-gateways`}),e[54]=t,e[55]=X);let Z;e[56]!==f.isPending||e[57]!==T||e[58]!==X?(Z=(0,d.jsx)(ge,{isPending:f.isPending,isSubmitting:T,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create NAT Gateway`}),e[56]=f.isPending,e[57]=T,e[58]=X,e[59]=Z):Z=e[59];let Q;e[60]!==F||e[61]!==R||e[62]!==U||e[63]!==q||e[64]!==Y||e[65]!==Z?(Q=(0,d.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:F,children:[R,U,q,Y,Z]}),e[60]=F,e[61]=R,e[62]=U,e[63]=q,e[64]=Y,e[65]=Z,e[66]=Q):Q=e[66];let $;return e[67]!==P||e[68]!==Q?($=(0,d.jsxs)(d.Fragment,{children:[N,M,P,Q]}),e[67]=P,e[68]=Q,e[69]=$):$=e[69],$}function ve(e){return(0,d.jsx)(s,{value:e.AllocationId??``,children:`${e.AllocationId} (${e.PublicIp})`},e.AllocationId)}function ye(e){let t=i(e.Tags);return(0,d.jsx)(s,{value:e.SubnetId??``,children:t?`${e.SubnetId} (${t})`:`${e.SubnetId} (${e.CidrBlock})`},e.SubnetId)}function be(e){return!e.AssociationId}function xe(e){return e.MapPublicIpOnLaunch}function Se(e){let t=e(`subnetId`),n=typeof t==`string`?t:``,r=e(`allocationId`),ee=typeof r==`string`?r:``,i=e(`name`),a=typeof i==`string`?i:``,o=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-nat-gateway`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{t as ee}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{c as o,i as s,n as c,s as te,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./input.js";import{O as ae,n as oe}from"./ec2.js";import{_ as se}from"./ec22.js";import{a as ce,i as le,n as ue,t as de}from"./zod.js";import{t as fe}from"./error-banner.js";import{t as pe}from"./form-actions.js";import{t as me}from"./page-heading.js";import{a as l,r as he,t as u}from"./field.js";import{l as ge}from"./ec23.js";var _e=t(),d=e();function f(){let e=(0,_e.c)(70),t=ee(),{data:i}=n(ae),{data:s}=n(oe),f=se(),p;e[0]===i.Subnets?p=e[1]:(p=i.Subnets??[],e[0]=i.Subnets,e[1]=p);let m=p,h;e[2]===m?h=e[3]:(h=m.filter(xe),e[2]=m,e[3]=h);let Ce=h,g=Ce.length>0?Ce:m,_;e[4]===s.Addresses?_=e[5]:(_=s.Addresses??[],e[4]=s.Addresses,e[5]=_);let v;e[6]===_?v=e[7]:(v=_.filter(be),e[6]=_,e[7]=v);let y=v,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:de(ge),defaultValues:{subnetId:``,allocationId:``,name:``}},e[8]=b):b=e[8];let{control:x,handleSubmit:S,register:C,formState:we}=le(b),{errors:w,isSubmitting:T}=we,E;e[9]===x?E=e[10]:(E={control:x},e[9]=x,e[10]=E);let D=ce(E),O;e[11]===D?O=e[12]:(O=e=>e?D[e]:void 0,e[11]=D,e[12]=O);let k=O,A;e[13]!==f||e[14]!==t?(A=async e=>{let n=(await f.mutateAsync({subnetId:e.subnetId,allocationId:e.allocationId,name:e.name?.trim()??void 0})).NatGateway?.NatGatewayId;t(n?{to:`/ec2/describe-nat-gateways/$id`,params:{id:n}}:{to:`/ec2/describe-nat-gateways`})},e[13]=f,e[14]=t,e[15]=A):A=e[15];let j=A,M,N;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,d.jsx)(a,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),M=(0,d.jsx)(me,{title:`Create NAT Gateway`}),e[16]=M,e[17]=N):(M=e[16],N=e[17]);let P;e[18]===f.error?P=e[19]:(P=f.error&&(0,d.jsx)(fe,{error:f.error,msg:`Failed to create NAT Gateway`}),e[18]=f.error,e[19]=P);let F;e[20]!==S||e[21]!==j?(F=S(j),e[20]=S,e[21]=j,e[22]=F):F=e[22];let I;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[23]=I):I=e[23];let L;e[24]===C?L=e[25]:(L=C(`name`),e[24]=C,e[25]=L);let R;e[26]===L?R=e[27]:(R=(0,d.jsxs)(u,{children:[I,(0,d.jsx)(ie,{id:`name`,placeholder:`my-nat-gateway`,...L})]}),e[26]=L,e[27]=R);let z;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`subnetId`,children:`Public subnet`})}),e[28]=z):z=e[28];let B;e[29]!==w.subnetId||e[30]!==g?(B=e=>{let{field:t}=e;return(0,d.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(te,{"aria-invalid":!!w.subnetId,className:`w-full`,id:`subnetId`,children:(0,d.jsx)(o,{placeholder:`Select a public subnet`})}),(0,d.jsx)(c,{children:g.map(ye)})]})},e[29]=w.subnetId,e[30]=g,e[31]=B):B=e[31];let V;e[32]!==x||e[33]!==B?(V=(0,d.jsx)(ue,{control:x,name:`subnetId`,render:B}),e[32]=x,e[33]=B,e[34]=V):V=e[34];let H;e[35]===w.subnetId?H=e[36]:(H=(0,d.jsx)(he,{errors:[w.subnetId]}),e[35]=w.subnetId,e[36]=H);let U;e[37]!==V||e[38]!==H?(U=(0,d.jsxs)(u,{children:[z,V,H]}),e[37]=V,e[38]=H,e[39]=U):U=e[39];let W;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`allocationId`,children:`Elastic IP`})}),e[40]=W):W=e[40];let G;e[41]!==y||e[42]!==x||e[43]!==w.allocationId?(G=y.length>0?(0,d.jsx)(ue,{control:x,name:`allocationId`,render:e=>{let{field:t}=e;return(0,d.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(te,{"aria-invalid":!!w.allocationId,className:`w-full`,id:`allocationId`,children:(0,d.jsx)(o,{placeholder:`Select an Elastic IP`})}),(0,d.jsx)(c,{children:y.map(ve)})]})}}):(0,d.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No available Elastic IPs.`,` `,(0,d.jsx)(r,{className:`text-primary hover:underline`,to:`/ec2/allocate-address`,children:`Allocate one`}),` `,`first.`]}),e[41]=y,e[42]=x,e[43]=w.allocationId,e[44]=G):G=e[44];let K;e[45]===w.allocationId?K=e[46]:(K=(0,d.jsx)(he,{errors:[w.allocationId]}),e[45]=w.allocationId,e[46]=K);let q;e[47]!==G||e[48]!==K?(q=(0,d.jsxs)(u,{children:[W,G,K]}),e[47]=G,e[48]=K,e[49]=q):q=e[49];let J;e[50]===k?J=e[51]:(J=Se(k),e[50]=k,e[51]=J);let Y;e[52]===J?Y=e[53]:(Y=(0,d.jsx)(re,{commands:J}),e[52]=J,e[53]=Y);let X;e[54]===t?X=e[55]:(X=async()=>await t({to:`/ec2/describe-nat-gateways`}),e[54]=t,e[55]=X);let Z;e[56]!==f.isPending||e[57]!==T||e[58]!==X?(Z=(0,d.jsx)(pe,{isPending:f.isPending,isSubmitting:T,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create NAT Gateway`}),e[56]=f.isPending,e[57]=T,e[58]=X,e[59]=Z):Z=e[59];let Q;e[60]!==F||e[61]!==R||e[62]!==U||e[63]!==q||e[64]!==Y||e[65]!==Z?(Q=(0,d.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:F,children:[R,U,q,Y,Z]}),e[60]=F,e[61]=R,e[62]=U,e[63]=q,e[64]=Y,e[65]=Z,e[66]=Q):Q=e[66];let $;return e[67]!==P||e[68]!==Q?($=(0,d.jsxs)(d.Fragment,{children:[N,M,P,Q]}),e[67]=P,e[68]=Q,e[69]=$):$=e[69],$}function ve(e){return(0,d.jsx)(s,{value:e.AllocationId??``,children:`${e.AllocationId} (${e.PublicIp})`},e.AllocationId)}function ye(e){let t=i(e.Tags);return(0,d.jsx)(s,{value:e.SubnetId??``,children:t?`${e.SubnetId} (${t})`:`${e.SubnetId} (${e.CidrBlock})`},e.SubnetId)}function be(e){return!e.AssociationId}function xe(e){return e.MapPublicIpOnLaunch}function Se(e){let t=e(`subnetId`),n=typeof t==`string`?t:``,r=e(`allocationId`),ee=typeof r==`string`?r:``,i=e(`name`),a=typeof i==`string`?i:``,o=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-nat-gateway`},{type:`flag`,value:` \\ --subnet-id`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ --allocation-id`},{type:`value`,value:` ${ee||``}`}];return a.trim()&&o.push({type:`flag`,value:` \\ --tag-specifications`},{type:`value`,value:` 'ResourceType=natgateway,Tags=[{Key=Name,Value=${a.trim()}}]'`}),[{label:`Create NAT Gateway`,parts:o}]}export{f as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js index 5e6790708..dbea20122 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{c as i,i as a,n as ee,s as o,t as te}from"./select.js";import{t as ne}from"./cli-command-panel.js";import{t as re}from"./input.js";import{a as s,r as c,t as l}from"./field.js";import{v as u}from"./ec22.js";import{a as d,i as f,n as p,t as m}from"./zod.js";import{t as h}from"./error-banner.js";import{t as g}from"./page-heading.js";import{u as _}from"./ec23.js";import{t as v}from"./form-actions.js";var ie=t(),y=e();function b(){let e=(0,ie.c)(56),t=n(),b=u(),x;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(x={resolver:m(_),defaultValues:{groupName:``,strategy:`spread`}},e[0]=x):x=e[0];let{control:S,handleSubmit:C,register:w,formState:oe}=f(x),{errors:T,isSubmitting:E}=oe,D;e[1]===S?D=e[2]:(D={control:S},e[1]=S,e[2]=D);let O=d(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==b||e[6]!==t?(j=async e=>{let n=await b.mutateAsync(e);t({to:`/ec2/describe-placement-groups/$id`,params:{id:n.PlacementGroup?.GroupId??``}})},e[5]=b,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,y.jsx)(r,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),P=(0,y.jsx)(g,{title:`Create Placement Group`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===b.error?F=e[11]:(F=b.error&&(0,y.jsx)(h,{error:b.error,msg:`Failed to create placement group`}),e[10]=b.error,e[11]=F);let I;e[12]!==C||e[13]!==M?(I=C(M),e[12]=C,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,y.jsx)(s,{children:(0,y.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[15]=L):L=e[15];let R=!!T.groupName,z;e[16]===w?z=e[17]:(z=w(`groupName`),e[16]=w,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,y.jsx)(re,{"aria-invalid":R,id:`groupName`,placeholder:`my-placement-group`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.groupName?V=e[22]:(V=(0,y.jsx)(c,{errors:[T.groupName]}),e[21]=T.groupName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,y.jsxs)(l,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,y.jsx)(s,{children:(0,y.jsx)(`label`,{htmlFor:`strategy`,children:`Strategy`})}),e[26]=U):U=e[26];let W;e[27]===T.strategy?W=e[28]:(W=e=>{let{field:t}=e;return(0,y.jsxs)(te,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,y.jsx)(o,{"aria-invalid":!!T.strategy,className:`w-full`,id:`strategy`,children:(0,y.jsx)(i,{})}),(0,y.jsxs)(ee,{children:[(0,y.jsx)(a,{value:`spread`,children:`spread`}),(0,y.jsx)(a,{value:`cluster`,children:`cluster`})]})]})},e[27]=T.strategy,e[28]=W);let G;e[29]!==S||e[30]!==W?(G=(0,y.jsx)(p,{control:S,name:`strategy`,render:W}),e[29]=S,e[30]=W,e[31]=G):G=e[31];let K;e[32]===T.strategy?K=e[33]:(K=(0,y.jsx)(c,{errors:[T.strategy]}),e[32]=T.strategy,e[33]=K);let q;e[34]!==G||e[35]!==K?(q=(0,y.jsxs)(l,{children:[U,G,K]}),e[34]=G,e[35]=K,e[36]=q):q=e[36];let J;e[37]===A?J=e[38]:(J=ae(A),e[37]=A,e[38]=J);let Y;e[39]===J?Y=e[40]:(Y=(0,y.jsx)(ne,{commands:J}),e[39]=J,e[40]=Y);let X;e[41]===t?X=e[42]:(X=async()=>await t({to:`/ec2/describe-placement-groups`}),e[41]=t,e[42]=X);let Z;e[43]!==b.isPending||e[44]!==E||e[45]!==X?(Z=(0,y.jsx)(v,{isPending:b.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Placement Group`}),e[43]=b.isPending,e[44]=E,e[45]=X,e[46]=Z):Z=e[46];let Q;e[47]!==H||e[48]!==q||e[49]!==Y||e[50]!==Z||e[51]!==I?(Q=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[47]=H,e[48]=q,e[49]=Y,e[50]=Z,e[51]=I,e[52]=Q):Q=e[52];let $;return e[53]!==Q||e[54]!==F?($=(0,y.jsxs)(y.Fragment,{children:[N,P,F,Q]}),e[53]=Q,e[54]=F,e[55]=$):$=e[55],$}function x(e){return`'${e.replaceAll(`'`,`'"'"'`)}'`}function ae(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`strategy`),i=typeof r==`string`?r:``;return[{label:`Create Placement Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-placement-group`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{c as i,i as a,n as ee,s as o,t as te}from"./select.js";import{t as ne}from"./cli-command-panel.js";import{t as re}from"./input.js";import{v as s}from"./ec22.js";import{a as c,i as l,n as u,t as d}from"./zod.js";import{t as f}from"./error-banner.js";import{t as p}from"./form-actions.js";import{t as m}from"./page-heading.js";import{a as h,r as g,t as _}from"./field.js";import{u as v}from"./ec23.js";var ie=t(),y=e();function b(){let e=(0,ie.c)(56),t=n(),b=s(),x;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(x={resolver:d(v),defaultValues:{groupName:``,strategy:`spread`}},e[0]=x):x=e[0];let{control:S,handleSubmit:C,register:w,formState:oe}=l(x),{errors:T,isSubmitting:E}=oe,D;e[1]===S?D=e[2]:(D={control:S},e[1]=S,e[2]=D);let O=c(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==b||e[6]!==t?(j=async e=>{let n=await b.mutateAsync(e);t({to:`/ec2/describe-placement-groups/$id`,params:{id:n.PlacementGroup?.GroupId??``}})},e[5]=b,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,y.jsx)(r,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),P=(0,y.jsx)(m,{title:`Create Placement Group`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===b.error?F=e[11]:(F=b.error&&(0,y.jsx)(f,{error:b.error,msg:`Failed to create placement group`}),e[10]=b.error,e[11]=F);let I;e[12]!==C||e[13]!==M?(I=C(M),e[12]=C,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,y.jsx)(h,{children:(0,y.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[15]=L):L=e[15];let R=!!T.groupName,z;e[16]===w?z=e[17]:(z=w(`groupName`),e[16]=w,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,y.jsx)(re,{"aria-invalid":R,id:`groupName`,placeholder:`my-placement-group`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.groupName?V=e[22]:(V=(0,y.jsx)(g,{errors:[T.groupName]}),e[21]=T.groupName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,y.jsxs)(_,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,y.jsx)(h,{children:(0,y.jsx)(`label`,{htmlFor:`strategy`,children:`Strategy`})}),e[26]=U):U=e[26];let W;e[27]===T.strategy?W=e[28]:(W=e=>{let{field:t}=e;return(0,y.jsxs)(te,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,y.jsx)(o,{"aria-invalid":!!T.strategy,className:`w-full`,id:`strategy`,children:(0,y.jsx)(i,{})}),(0,y.jsxs)(ee,{children:[(0,y.jsx)(a,{value:`spread`,children:`spread`}),(0,y.jsx)(a,{value:`cluster`,children:`cluster`})]})]})},e[27]=T.strategy,e[28]=W);let G;e[29]!==S||e[30]!==W?(G=(0,y.jsx)(u,{control:S,name:`strategy`,render:W}),e[29]=S,e[30]=W,e[31]=G):G=e[31];let K;e[32]===T.strategy?K=e[33]:(K=(0,y.jsx)(g,{errors:[T.strategy]}),e[32]=T.strategy,e[33]=K);let q;e[34]!==G||e[35]!==K?(q=(0,y.jsxs)(_,{children:[U,G,K]}),e[34]=G,e[35]=K,e[36]=q):q=e[36];let J;e[37]===A?J=e[38]:(J=ae(A),e[37]=A,e[38]=J);let Y;e[39]===J?Y=e[40]:(Y=(0,y.jsx)(ne,{commands:J}),e[39]=J,e[40]=Y);let X;e[41]===t?X=e[42]:(X=async()=>await t({to:`/ec2/describe-placement-groups`}),e[41]=t,e[42]=X);let Z;e[43]!==b.isPending||e[44]!==E||e[45]!==X?(Z=(0,y.jsx)(p,{isPending:b.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Placement Group`}),e[43]=b.isPending,e[44]=E,e[45]=X,e[46]=Z):Z=e[46];let Q;e[47]!==H||e[48]!==q||e[49]!==Y||e[50]!==Z||e[51]!==I?(Q=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[47]=H,e[48]=q,e[49]=Y,e[50]=Z,e[51]=I,e[52]=Q):Q=e[52];let $;return e[53]!==Q||e[54]!==F?($=(0,y.jsxs)(y.Fragment,{children:[N,P,F,Q]}),e[53]=Q,e[54]=F,e[55]=$):$=e[55],$}function x(e){return`'${e.replaceAll(`'`,`'"'"'`)}'`}function ae(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`strategy`),i=typeof r==`string`?r:``;return[{label:`Create Placement Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-placement-group`},{type:`flag`,value:` \\ --group-name`},{type:`value`,value:` ${n?x(n):``}`},{type:`flag`,value:` \\ --strategy`},{type:`value`,value:` ${i||`spread`}`}]}]}export{b as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-policy.js b/spinifex/services/spinifexui/frontend/dist/assets/create-policy.js index 04ffa4f14..c678217bd 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-policy.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-policy.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{l as ee}from"./iam.js";import{a as te,i as ne,n as l,t as u}from"./zod.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{t as p}from"./form-actions.js";import{t as re}from"./json-editor.js";import{i as ie}from"./iam3.js";var ae=t(),m=e(),oe=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Action:`*`,Resource:`*`}]},null,2);function h(){let e=(0,ae.c)(67),t=n(),h=ee(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g={resolver:u(ie),defaultValues:{policyDocument:oe}},e[0]=g):g=e[0];let{handleSubmit:_,register:v,control:y,formState:ce}=ne(g),{errors:b,isSubmitting:x}=ce,S;e[1]===y?S=e[2]:(S={control:y},e[1]=y,e[2]=S);let C=te(S),w;e[3]===C?w=e[4]:(w=e=>e?C[e]:void 0,e[3]=C,e[4]=w);let T=w,E;e[5]!==h||e[6]!==t?(E=async e=>{await h.mutateAsync(e),t({to:`/iam/list-policies`})},e[5]=h,e[6]=t,e[7]=E):E=e[7];let D=E,O,k;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(r,{to:`/iam/list-policies`,children:`Back to policies`}),k=(0,m.jsx)(f,{title:`Create Policy`}),e[8]=O,e[9]=k):(O=e[8],k=e[9]);let A;e[10]===h.error?A=e[11]:(A=h.error&&(0,m.jsx)(d,{error:h.error,msg:`Failed to create policy`}),e[10]=h.error,e[11]=A);let j;e[12]!==_||e[13]!==D?(j=_(D),e[12]=_,e[13]=D,e[14]=j):j=e[14];let M;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,m.jsx)(o,{children:(0,m.jsx)(`label`,{htmlFor:`policyName`,children:`Policy Name`})}),e[15]=M):M=e[15];let N=!!b.policyName,P;e[16]===v?P=e[17]:(P=v(`policyName`),e[16]=v,e[17]=P);let F;e[18]!==N||e[19]!==P?(F=(0,m.jsx)(a,{"aria-invalid":N,id:`policyName`,placeholder:`my-policy...`,...P}),e[18]=N,e[19]=P,e[20]=F):F=e[20];let I;e[21]===b.policyName?I=e[22]:(I=(0,m.jsx)(s,{errors:[b.policyName]}),e[21]=b.policyName,e[22]=I);let L;e[23]!==F||e[24]!==I?(L=(0,m.jsxs)(c,{children:[M,F,I]}),e[23]=F,e[24]=I,e[25]=L):L=e[25];let R;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,m.jsx)(o,{children:(0,m.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[26]=R):R=e[26];let z;e[27]===v?z=e[28]:(z=v(`description`),e[27]=v,e[28]=z);let B;e[29]===z?B=e[30]:(B=(0,m.jsx)(a,{id:`description`,placeholder:`A brief description of this policy...`,...z}),e[29]=z,e[30]=B);let V;e[31]===b.description?V=e[32]:(V=(0,m.jsx)(s,{errors:[b.description]}),e[31]=b.description,e[32]=V);let H;e[33]!==B||e[34]!==V?(H=(0,m.jsxs)(c,{children:[R,B,V]}),e[33]=B,e[34]=V,e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,m.jsx)(o,{children:(0,m.jsx)(`label`,{htmlFor:`policyDocument`,children:`Policy Document (JSON)`})}),e[36]=U):U=e[36];let W;e[37]===b.policyDocument?W=e[38]:(W=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,m.jsx)(re,{error:!!b.policyDocument,id:`policyDocument`,onBlur:n,onChange:r,ref:i,rows:15,value:a})},e[37]=b.policyDocument,e[38]=W);let G;e[39]!==y||e[40]!==W?(G=(0,m.jsx)(l,{control:y,name:`policyDocument`,render:W}),e[39]=y,e[40]=W,e[41]=G):G=e[41];let K;e[42]===b.policyDocument?K=e[43]:(K=(0,m.jsx)(s,{errors:[b.policyDocument]}),e[42]=b.policyDocument,e[43]=K);let q;e[44]!==G||e[45]!==K?(q=(0,m.jsxs)(c,{children:[U,G,K]}),e[44]=G,e[45]=K,e[46]=q):q=e[46];let J;e[47]===T?J=e[48]:(J=se(T),e[47]=T,e[48]=J);let Y;e[49]===J?Y=e[50]:(Y=(0,m.jsx)(i,{commands:J}),e[49]=J,e[50]=Y);let X;e[51]===t?X=e[52]:(X=async()=>await t({to:`/iam/list-policies`}),e[51]=t,e[52]=X);let Z;e[53]!==h.isPending||e[54]!==x||e[55]!==X?(Z=(0,m.jsx)(p,{isPending:h.isPending,isSubmitting:x,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Policy`}),e[53]=h.isPending,e[54]=x,e[55]=X,e[56]=Z):Z=e[56];let Q;e[57]!==L||e[58]!==H||e[59]!==q||e[60]!==Y||e[61]!==Z||e[62]!==j?(Q=(0,m.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:j,children:[L,H,q,Y,Z]}),e[57]=L,e[58]=H,e[59]=q,e[60]=Y,e[61]=Z,e[62]=j,e[63]=Q):Q=e[63];let $;return e[64]!==Q||e[65]!==A?($=(0,m.jsxs)(m.Fragment,{children:[O,k,A,Q]}),e[64]=Q,e[65]=A,e[66]=$):$=e[66],$}function se(e){let t=e(`policyName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`policyDocument`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-policy`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{l as o}from"./iam.js";import{a as s,i as c,n as ee,t as te}from"./zod.js";import{t as ne}from"./error-banner.js";import{t as re}from"./form-actions.js";import{t as ie}from"./page-heading.js";import{a as l,r as u,t as d}from"./field.js";import{t as ae}from"./json-editor.js";import{i as oe}from"./iam3.js";var se=t(),f=e(),p=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Action:`*`,Resource:`*`}]},null,2);function m(){let e=(0,se.c)(67),t=n(),m=o(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g={resolver:te(oe),defaultValues:{policyDocument:p}},e[0]=g):g=e[0];let{handleSubmit:_,register:v,control:y,formState:ce}=c(g),{errors:b,isSubmitting:x}=ce,S;e[1]===y?S=e[2]:(S={control:y},e[1]=y,e[2]=S);let C=s(S),w;e[3]===C?w=e[4]:(w=e=>e?C[e]:void 0,e[3]=C,e[4]=w);let T=w,E;e[5]!==m||e[6]!==t?(E=async e=>{await m.mutateAsync(e),t({to:`/iam/list-policies`})},e[5]=m,e[6]=t,e[7]=E):E=e[7];let D=E,O,k;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,f.jsx)(r,{to:`/iam/list-policies`,children:`Back to policies`}),k=(0,f.jsx)(ie,{title:`Create Policy`}),e[8]=O,e[9]=k):(O=e[8],k=e[9]);let A;e[10]===m.error?A=e[11]:(A=m.error&&(0,f.jsx)(ne,{error:m.error,msg:`Failed to create policy`}),e[10]=m.error,e[11]=A);let j;e[12]!==_||e[13]!==D?(j=_(D),e[12]=_,e[13]=D,e[14]=j):j=e[14];let M;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,f.jsx)(l,{children:(0,f.jsx)(`label`,{htmlFor:`policyName`,children:`Policy Name`})}),e[15]=M):M=e[15];let N=!!b.policyName,P;e[16]===v?P=e[17]:(P=v(`policyName`),e[16]=v,e[17]=P);let F;e[18]!==N||e[19]!==P?(F=(0,f.jsx)(a,{"aria-invalid":N,id:`policyName`,placeholder:`my-policy...`,...P}),e[18]=N,e[19]=P,e[20]=F):F=e[20];let I;e[21]===b.policyName?I=e[22]:(I=(0,f.jsx)(u,{errors:[b.policyName]}),e[21]=b.policyName,e[22]=I);let L;e[23]!==F||e[24]!==I?(L=(0,f.jsxs)(d,{children:[M,F,I]}),e[23]=F,e[24]=I,e[25]=L):L=e[25];let R;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,f.jsx)(l,{children:(0,f.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[26]=R):R=e[26];let z;e[27]===v?z=e[28]:(z=v(`description`),e[27]=v,e[28]=z);let B;e[29]===z?B=e[30]:(B=(0,f.jsx)(a,{id:`description`,placeholder:`A brief description of this policy...`,...z}),e[29]=z,e[30]=B);let V;e[31]===b.description?V=e[32]:(V=(0,f.jsx)(u,{errors:[b.description]}),e[31]=b.description,e[32]=V);let H;e[33]!==B||e[34]!==V?(H=(0,f.jsxs)(d,{children:[R,B,V]}),e[33]=B,e[34]=V,e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,f.jsx)(l,{children:(0,f.jsx)(`label`,{htmlFor:`policyDocument`,children:`Policy Document (JSON)`})}),e[36]=U):U=e[36];let W;e[37]===b.policyDocument?W=e[38]:(W=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,f.jsx)(ae,{error:!!b.policyDocument,id:`policyDocument`,onBlur:n,onChange:r,ref:i,rows:15,value:a})},e[37]=b.policyDocument,e[38]=W);let G;e[39]!==y||e[40]!==W?(G=(0,f.jsx)(ee,{control:y,name:`policyDocument`,render:W}),e[39]=y,e[40]=W,e[41]=G):G=e[41];let K;e[42]===b.policyDocument?K=e[43]:(K=(0,f.jsx)(u,{errors:[b.policyDocument]}),e[42]=b.policyDocument,e[43]=K);let q;e[44]!==G||e[45]!==K?(q=(0,f.jsxs)(d,{children:[U,G,K]}),e[44]=G,e[45]=K,e[46]=q):q=e[46];let J;e[47]===T?J=e[48]:(J=h(T),e[47]=T,e[48]=J);let Y;e[49]===J?Y=e[50]:(Y=(0,f.jsx)(i,{commands:J}),e[49]=J,e[50]=Y);let X;e[51]===t?X=e[52]:(X=async()=>await t({to:`/iam/list-policies`}),e[51]=t,e[52]=X);let Z;e[53]!==m.isPending||e[54]!==x||e[55]!==X?(Z=(0,f.jsx)(re,{isPending:m.isPending,isSubmitting:x,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Policy`}),e[53]=m.isPending,e[54]=x,e[55]=X,e[56]=Z):Z=e[56];let Q;e[57]!==L||e[58]!==H||e[59]!==q||e[60]!==Y||e[61]!==Z||e[62]!==j?(Q=(0,f.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:j,children:[L,H,q,Y,Z]}),e[57]=L,e[58]=H,e[59]=q,e[60]=Y,e[61]=Z,e[62]=j,e[63]=Q):Q=e[63];let $;return e[64]!==Q||e[65]!==A?($=(0,f.jsxs)(f.Fragment,{children:[O,k,A,Q]}),e[64]=Q,e[65]=A,e[66]=$):$=e[66],$}function h(e){let t=e(`policyName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`policyDocument`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-policy`},{type:`flag`,value:` \\ --policy-name`},{type:`value`,value:` ${n||``}`}];return i&&s.push({type:`flag`,value:` \\ --description`},{type:`value`,value:` "${i}"`}),s.push({type:`flag`,value:` \\ - --policy-document`},{type:`value`,value:` '${o||``}'`}),[{label:`Create Policy`,parts:s}]}export{h as component}; \ No newline at end of file + --policy-document`},{type:`value`,value:` '${o||``}'`}),[{label:`Create Policy`,parts:s}]}export{m as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-role.js b/spinifex/services/spinifexui/frontend/dist/assets/create-role.js index 2a235ed27..874561a0d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-role.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-role.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{u as ee}from"./iam.js";import{a as te,i as ne,n as l,t as u}from"./zod.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{t as p}from"./form-actions.js";import{t as re}from"./json-editor.js";import{a as ie,t as ae}from"./iam3.js";var oe=t(),m=e();function h(){let e=(0,oe.c)(67),t=n(),h=ee(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g={resolver:u(ie),defaultValues:{assumeRolePolicyDocument:ae}},e[0]=g):g=e[0];let{handleSubmit:_,register:v,control:y,formState:ce}=ne(g),{errors:b,isSubmitting:x}=ce,S;e[1]===y?S=e[2]:(S={control:y},e[1]=y,e[2]=S);let C=te(S),w;e[3]===C?w=e[4]:(w=e=>e?C[e]:void 0,e[3]=C,e[4]=w);let T=w,E;e[5]!==h||e[6]!==t?(E=async e=>{await h.mutateAsync(e),t({to:`/iam/list-roles`})},e[5]=h,e[6]=t,e[7]=E):E=e[7];let D=E,O,k;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(r,{to:`/iam/list-roles`,children:`Back to roles`}),k=(0,m.jsx)(f,{title:`Create Role`}),e[8]=O,e[9]=k):(O=e[8],k=e[9]);let A;e[10]===h.error?A=e[11]:(A=h.error&&(0,m.jsx)(d,{error:h.error,msg:`Failed to create role`}),e[10]=h.error,e[11]=A);let j;e[12]!==_||e[13]!==D?(j=_(D),e[12]=_,e[13]=D,e[14]=j):j=e[14];let M;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,m.jsx)(o,{children:(0,m.jsx)(`label`,{htmlFor:`roleName`,children:`Role Name`})}),e[15]=M):M=e[15];let N=!!b.roleName,P;e[16]===v?P=e[17]:(P=v(`roleName`),e[16]=v,e[17]=P);let F;e[18]!==N||e[19]!==P?(F=(0,m.jsx)(a,{"aria-invalid":N,id:`roleName`,placeholder:`my-role...`,...P}),e[18]=N,e[19]=P,e[20]=F):F=e[20];let I;e[21]===b.roleName?I=e[22]:(I=(0,m.jsx)(s,{errors:[b.roleName]}),e[21]=b.roleName,e[22]=I);let L;e[23]!==F||e[24]!==I?(L=(0,m.jsxs)(c,{children:[M,F,I]}),e[23]=F,e[24]=I,e[25]=L):L=e[25];let R;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,m.jsx)(o,{children:(0,m.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[26]=R):R=e[26];let z;e[27]===v?z=e[28]:(z=v(`description`),e[27]=v,e[28]=z);let B;e[29]===z?B=e[30]:(B=(0,m.jsx)(a,{id:`description`,placeholder:`A brief description of this role...`,...z}),e[29]=z,e[30]=B);let V;e[31]===b.description?V=e[32]:(V=(0,m.jsx)(s,{errors:[b.description]}),e[31]=b.description,e[32]=V);let H;e[33]!==B||e[34]!==V?(H=(0,m.jsxs)(c,{children:[R,B,V]}),e[33]=B,e[34]=V,e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,m.jsx)(o,{children:(0,m.jsx)(`label`,{htmlFor:`assumeRolePolicyDocument`,children:`Trust Policy (JSON)`})}),e[36]=U):U=e[36];let W;e[37]===b.assumeRolePolicyDocument?W=e[38]:(W=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,m.jsx)(re,{error:!!b.assumeRolePolicyDocument,id:`assumeRolePolicyDocument`,onBlur:n,onChange:r,ref:i,rows:15,value:a})},e[37]=b.assumeRolePolicyDocument,e[38]=W);let G;e[39]!==y||e[40]!==W?(G=(0,m.jsx)(l,{control:y,name:`assumeRolePolicyDocument`,render:W}),e[39]=y,e[40]=W,e[41]=G):G=e[41];let K;e[42]===b.assumeRolePolicyDocument?K=e[43]:(K=(0,m.jsx)(s,{errors:[b.assumeRolePolicyDocument]}),e[42]=b.assumeRolePolicyDocument,e[43]=K);let q;e[44]!==G||e[45]!==K?(q=(0,m.jsxs)(c,{children:[U,G,K]}),e[44]=G,e[45]=K,e[46]=q):q=e[46];let J;e[47]===T?J=e[48]:(J=se(T),e[47]=T,e[48]=J);let Y;e[49]===J?Y=e[50]:(Y=(0,m.jsx)(i,{commands:J}),e[49]=J,e[50]=Y);let X;e[51]===t?X=e[52]:(X=async()=>await t({to:`/iam/list-roles`}),e[51]=t,e[52]=X);let Z;e[53]!==h.isPending||e[54]!==x||e[55]!==X?(Z=(0,m.jsx)(p,{isPending:h.isPending,isSubmitting:x,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Role`}),e[53]=h.isPending,e[54]=x,e[55]=X,e[56]=Z):Z=e[56];let Q;e[57]!==L||e[58]!==H||e[59]!==q||e[60]!==Y||e[61]!==Z||e[62]!==j?(Q=(0,m.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:j,children:[L,H,q,Y,Z]}),e[57]=L,e[58]=H,e[59]=q,e[60]=Y,e[61]=Z,e[62]=j,e[63]=Q):Q=e[63];let $;return e[64]!==Q||e[65]!==A?($=(0,m.jsxs)(m.Fragment,{children:[O,k,A,Q]}),e[64]=Q,e[65]=A,e[66]=$):$=e[66],$}function se(e){let t=e(`roleName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`assumeRolePolicyDocument`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-role`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{u as o}from"./iam.js";import{a as s,i as c,n as ee,t as te}from"./zod.js";import{t as ne}from"./error-banner.js";import{t as re}from"./form-actions.js";import{t as ie}from"./page-heading.js";import{a as l,r as u,t as d}from"./field.js";import{t as ae}from"./json-editor.js";import{a as oe,t as se}from"./iam3.js";var f=t(),p=e();function m(){let e=(0,f.c)(67),t=n(),m=o(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g={resolver:te(oe),defaultValues:{assumeRolePolicyDocument:se}},e[0]=g):g=e[0];let{handleSubmit:_,register:v,control:y,formState:ce}=c(g),{errors:b,isSubmitting:x}=ce,S;e[1]===y?S=e[2]:(S={control:y},e[1]=y,e[2]=S);let C=s(S),w;e[3]===C?w=e[4]:(w=e=>e?C[e]:void 0,e[3]=C,e[4]=w);let T=w,E;e[5]!==m||e[6]!==t?(E=async e=>{await m.mutateAsync(e),t({to:`/iam/list-roles`})},e[5]=m,e[6]=t,e[7]=E):E=e[7];let D=E,O,k;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,p.jsx)(r,{to:`/iam/list-roles`,children:`Back to roles`}),k=(0,p.jsx)(ie,{title:`Create Role`}),e[8]=O,e[9]=k):(O=e[8],k=e[9]);let A;e[10]===m.error?A=e[11]:(A=m.error&&(0,p.jsx)(ne,{error:m.error,msg:`Failed to create role`}),e[10]=m.error,e[11]=A);let j;e[12]!==_||e[13]!==D?(j=_(D),e[12]=_,e[13]=D,e[14]=j):j=e[14];let M;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,p.jsx)(l,{children:(0,p.jsx)(`label`,{htmlFor:`roleName`,children:`Role Name`})}),e[15]=M):M=e[15];let N=!!b.roleName,P;e[16]===v?P=e[17]:(P=v(`roleName`),e[16]=v,e[17]=P);let F;e[18]!==N||e[19]!==P?(F=(0,p.jsx)(a,{"aria-invalid":N,id:`roleName`,placeholder:`my-role...`,...P}),e[18]=N,e[19]=P,e[20]=F):F=e[20];let I;e[21]===b.roleName?I=e[22]:(I=(0,p.jsx)(u,{errors:[b.roleName]}),e[21]=b.roleName,e[22]=I);let L;e[23]!==F||e[24]!==I?(L=(0,p.jsxs)(d,{children:[M,F,I]}),e[23]=F,e[24]=I,e[25]=L):L=e[25];let R;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,p.jsx)(l,{children:(0,p.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[26]=R):R=e[26];let z;e[27]===v?z=e[28]:(z=v(`description`),e[27]=v,e[28]=z);let B;e[29]===z?B=e[30]:(B=(0,p.jsx)(a,{id:`description`,placeholder:`A brief description of this role...`,...z}),e[29]=z,e[30]=B);let V;e[31]===b.description?V=e[32]:(V=(0,p.jsx)(u,{errors:[b.description]}),e[31]=b.description,e[32]=V);let H;e[33]!==B||e[34]!==V?(H=(0,p.jsxs)(d,{children:[R,B,V]}),e[33]=B,e[34]=V,e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(l,{children:(0,p.jsx)(`label`,{htmlFor:`assumeRolePolicyDocument`,children:`Trust Policy (JSON)`})}),e[36]=U):U=e[36];let W;e[37]===b.assumeRolePolicyDocument?W=e[38]:(W=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,p.jsx)(ae,{error:!!b.assumeRolePolicyDocument,id:`assumeRolePolicyDocument`,onBlur:n,onChange:r,ref:i,rows:15,value:a})},e[37]=b.assumeRolePolicyDocument,e[38]=W);let G;e[39]!==y||e[40]!==W?(G=(0,p.jsx)(ee,{control:y,name:`assumeRolePolicyDocument`,render:W}),e[39]=y,e[40]=W,e[41]=G):G=e[41];let K;e[42]===b.assumeRolePolicyDocument?K=e[43]:(K=(0,p.jsx)(u,{errors:[b.assumeRolePolicyDocument]}),e[42]=b.assumeRolePolicyDocument,e[43]=K);let q;e[44]!==G||e[45]!==K?(q=(0,p.jsxs)(d,{children:[U,G,K]}),e[44]=G,e[45]=K,e[46]=q):q=e[46];let J;e[47]===T?J=e[48]:(J=h(T),e[47]=T,e[48]=J);let Y;e[49]===J?Y=e[50]:(Y=(0,p.jsx)(i,{commands:J}),e[49]=J,e[50]=Y);let X;e[51]===t?X=e[52]:(X=async()=>await t({to:`/iam/list-roles`}),e[51]=t,e[52]=X);let Z;e[53]!==m.isPending||e[54]!==x||e[55]!==X?(Z=(0,p.jsx)(re,{isPending:m.isPending,isSubmitting:x,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create Role`}),e[53]=m.isPending,e[54]=x,e[55]=X,e[56]=Z):Z=e[56];let Q;e[57]!==L||e[58]!==H||e[59]!==q||e[60]!==Y||e[61]!==Z||e[62]!==j?(Q=(0,p.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:j,children:[L,H,q,Y,Z]}),e[57]=L,e[58]=H,e[59]=q,e[60]=Y,e[61]=Z,e[62]=j,e[63]=Q):Q=e[63];let $;return e[64]!==Q||e[65]!==A?($=(0,p.jsxs)(p.Fragment,{children:[O,k,A,Q]}),e[64]=Q,e[65]=A,e[66]=$):$=e[66],$}function h(e){let t=e(`roleName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`assumeRolePolicyDocument`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-role`},{type:`flag`,value:` \\ --role-name`},{type:`value`,value:` ${n||``}`}];return i&&s.push({type:`flag`,value:` \\ --description`},{type:`value`,value:` "${i}"`}),s.push({type:`flag`,value:` \\ - --assume-role-policy-document`},{type:`value`,value:` '${o||``}'`}),[{label:`Create Role`,parts:s}]}export{h as component}; \ No newline at end of file + --assume-role-policy-document`},{type:`value`,value:` '${o||``}'`}),[{label:`Create Role`,parts:s}]}export{m as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-route-table.js b/spinifex/services/spinifexui/frontend/dist/assets/create-route-table.js index 2ccdfb511..fc88d4222 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-route-table.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-route-table.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{c as o,i as s,n as c,s as l,t as u}from"./select.js";import{t as d}from"./input.js";import{a as f,r as p,t as m}from"./field.js";import{M as h}from"./ec2.js";import{b as g}from"./ec22.js";import{i as _,n as v,t as y}from"./zod.js";import{t as b}from"./error-banner.js";import{t as x}from"./page-heading.js";import{f as S}from"./ec23.js";import{t as C}from"./form-actions.js";var w=t(),T=e();function E(){let e=(0,w.c)(44),t=r(),{data:i}=n(h),s=g(),E;e[0]===i.Vpcs?E=e[1]:(E=i.Vpcs??[],e[0]=i.Vpcs,e[1]=E);let O=E,k;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(k={resolver:y(S),defaultValues:{vpcId:``,name:``}},e[2]=k):k=e[2];let{control:A,handleSubmit:j,register:M,formState:N}=_(k),{errors:P,isSubmitting:F}=N,I;e[3]!==s||e[4]!==t?(I=async e=>{let n=(await s.mutateAsync({vpcId:e.vpcId,name:e.name?.trim()?e.name.trim():void 0})).RouteTable?.RouteTableId;t(n?{to:`/ec2/describe-route-tables/$id`,params:{id:n}}:{to:`/ec2/describe-route-tables`})},e[3]=s,e[4]=t,e[5]=I):I=e[5];let L=I,R,z;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,T.jsx)(a,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),z=(0,T.jsx)(x,{title:`Create Route Table`}),e[6]=R,e[7]=z):(R=e[6],z=e[7]);let B;e[8]===s.error?B=e[9]:(B=s.error&&(0,T.jsx)(b,{error:s.error,msg:`Failed to create Route Table`}),e[8]=s.error,e[9]=B);let V;e[10]!==j||e[11]!==L?(V=j(L),e[10]=j,e[11]=L,e[12]=V):V=e[12];let H;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,T.jsx)(f,{children:(0,T.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[13]=H):H=e[13];let U;e[14]===M?U=e[15]:(U=M(`name`),e[14]=M,e[15]=U);let W;e[16]===U?W=e[17]:(W=(0,T.jsxs)(m,{children:[H,(0,T.jsx)(d,{id:`name`,placeholder:`my-route-table`,...U})]}),e[16]=U,e[17]=W);let G;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,T.jsx)(f,{children:(0,T.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[18]=G):G=e[18];let K;e[19]!==P.vpcId||e[20]!==O?(K=e=>{let{field:t}=e;return(0,T.jsxs)(u,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,T.jsx)(l,{"aria-invalid":!!P.vpcId,className:`w-full`,id:`vpcId`,children:(0,T.jsx)(o,{placeholder:`Select a VPC`})}),(0,T.jsx)(c,{children:O.map(D)})]})},e[19]=P.vpcId,e[20]=O,e[21]=K):K=e[21];let q;e[22]!==A||e[23]!==K?(q=(0,T.jsx)(v,{control:A,name:`vpcId`,render:K}),e[22]=A,e[23]=K,e[24]=q):q=e[24];let J;e[25]===P.vpcId?J=e[26]:(J=(0,T.jsx)(p,{errors:[P.vpcId]}),e[25]=P.vpcId,e[26]=J);let Y;e[27]!==q||e[28]!==J?(Y=(0,T.jsxs)(m,{children:[G,q,J]}),e[27]=q,e[28]=J,e[29]=Y):Y=e[29];let X;e[30]===t?X=e[31]:(X=async()=>await t({to:`/ec2/describe-route-tables`}),e[30]=t,e[31]=X);let Z;e[32]!==s.isPending||e[33]!==F||e[34]!==X?(Z=(0,T.jsx)(C,{isPending:s.isPending,isSubmitting:F,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Route Table`}),e[32]=s.isPending,e[33]=F,e[34]=X,e[35]=Z):Z=e[35];let Q;e[36]!==W||e[37]!==Y||e[38]!==Z||e[39]!==V?(Q=(0,T.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:V,children:[W,Y,Z]}),e[36]=W,e[37]=Y,e[38]=Z,e[39]=V,e[40]=Q):Q=e[40];let $;return e[41]!==Q||e[42]!==B?($=(0,T.jsxs)(T.Fragment,{children:[R,z,B,Q]}),e[41]=Q,e[42]=B,e[43]=$):$=e[43],$}function D(e){let t=i(e.Tags);return(0,T.jsx)(s,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}export{E as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{c as o,i as s,n as c,s as l,t as u}from"./select.js";import{t as d}from"./input.js";import{M as f}from"./ec2.js";import{b as p}from"./ec22.js";import{i as m,n as h,t as g}from"./zod.js";import{t as _}from"./error-banner.js";import{t as v}from"./form-actions.js";import{t as y}from"./page-heading.js";import{a as b,r as x,t as S}from"./field.js";import{f as C}from"./ec23.js";var w=t(),T=e();function E(){let e=(0,w.c)(44),t=r(),{data:i}=n(f),s=p(),E;e[0]===i.Vpcs?E=e[1]:(E=i.Vpcs??[],e[0]=i.Vpcs,e[1]=E);let O=E,k;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(k={resolver:g(C),defaultValues:{vpcId:``,name:``}},e[2]=k):k=e[2];let{control:A,handleSubmit:j,register:M,formState:N}=m(k),{errors:P,isSubmitting:F}=N,I;e[3]!==s||e[4]!==t?(I=async e=>{let n=(await s.mutateAsync({vpcId:e.vpcId,name:e.name?.trim()?e.name.trim():void 0})).RouteTable?.RouteTableId;t(n?{to:`/ec2/describe-route-tables/$id`,params:{id:n}}:{to:`/ec2/describe-route-tables`})},e[3]=s,e[4]=t,e[5]=I):I=e[5];let L=I,R,z;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,T.jsx)(a,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),z=(0,T.jsx)(y,{title:`Create Route Table`}),e[6]=R,e[7]=z):(R=e[6],z=e[7]);let B;e[8]===s.error?B=e[9]:(B=s.error&&(0,T.jsx)(_,{error:s.error,msg:`Failed to create Route Table`}),e[8]=s.error,e[9]=B);let V;e[10]!==j||e[11]!==L?(V=j(L),e[10]=j,e[11]=L,e[12]=V):V=e[12];let H;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,T.jsx)(b,{children:(0,T.jsx)(`label`,{htmlFor:`name`,children:`Name (optional)`})}),e[13]=H):H=e[13];let U;e[14]===M?U=e[15]:(U=M(`name`),e[14]=M,e[15]=U);let W;e[16]===U?W=e[17]:(W=(0,T.jsxs)(S,{children:[H,(0,T.jsx)(d,{id:`name`,placeholder:`my-route-table`,...U})]}),e[16]=U,e[17]=W);let G;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,T.jsx)(b,{children:(0,T.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[18]=G):G=e[18];let K;e[19]!==P.vpcId||e[20]!==O?(K=e=>{let{field:t}=e;return(0,T.jsxs)(u,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,T.jsx)(l,{"aria-invalid":!!P.vpcId,className:`w-full`,id:`vpcId`,children:(0,T.jsx)(o,{placeholder:`Select a VPC`})}),(0,T.jsx)(c,{children:O.map(D)})]})},e[19]=P.vpcId,e[20]=O,e[21]=K):K=e[21];let q;e[22]!==A||e[23]!==K?(q=(0,T.jsx)(h,{control:A,name:`vpcId`,render:K}),e[22]=A,e[23]=K,e[24]=q):q=e[24];let J;e[25]===P.vpcId?J=e[26]:(J=(0,T.jsx)(x,{errors:[P.vpcId]}),e[25]=P.vpcId,e[26]=J);let Y;e[27]!==q||e[28]!==J?(Y=(0,T.jsxs)(S,{children:[G,q,J]}),e[27]=q,e[28]=J,e[29]=Y):Y=e[29];let X;e[30]===t?X=e[31]:(X=async()=>await t({to:`/ec2/describe-route-tables`}),e[30]=t,e[31]=X);let Z;e[32]!==s.isPending||e[33]!==F||e[34]!==X?(Z=(0,T.jsx)(v,{isPending:s.isPending,isSubmitting:F,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Route Table`}),e[32]=s.isPending,e[33]=F,e[34]=X,e[35]=Z):Z=e[35];let Q;e[36]!==W||e[37]!==Y||e[38]!==Z||e[39]!==V?(Q=(0,T.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:V,children:[W,Y,Z]}),e[36]=W,e[37]=Y,e[38]=Z,e[39]=V,e[40]=Q):Q=e[40];let $;return e[41]!==Q||e[42]!==B?($=(0,T.jsxs)(T.Fragment,{children:[R,z,B,Q]}),e[41]=Q,e[42]=B,e[43]=$):$=e[43],$}function D(e){let t=i(e.Tags);return(0,T.jsx)(s,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}export{E as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js index de0739538..b06d1304c 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{c as o,i as s,n as ee,s as te,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./input.js";import{a as c,r as l,t as ae}from"./field.js";import{M as oe}from"./ec2.js";import{x as se}from"./ec22.js";import{a as ce,i as le,n as ue,t as de}from"./zod.js";import{t as fe}from"./error-banner.js";import{t as pe}from"./page-heading.js";import{p as me}from"./ec23.js";import{t as he}from"./form-actions.js";var ge=t(),u=e();function d(){let e=(0,ge.c)(73),t=r(),{data:i}=n(oe),s=se(),d;e[0]===i.Vpcs?d=e[1]:(d=i.Vpcs??[],e[0]=i.Vpcs,e[1]=d);let f=d,p;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=de(me),e[2]=p):p=e[2];let m=f[0]?.VpcId??``,h;e[3]===m?h=e[4]:(h={resolver:p,defaultValues:{groupName:``,description:``,vpcId:m}},e[3]=m,e[4]=h);let{control:g,handleSubmit:_,register:v,formState:ye}=le(h),{errors:y,isSubmitting:b}=ye,x;e[5]===g?x=e[6]:(x={control:g},e[5]=g,e[6]=x);let S=ce(x),C;e[7]===S?C=e[8]:(C=e=>e?S[e]:void 0,e[7]=S,e[8]=C);let w=C,T;e[9]!==s||e[10]!==t?(T=async e=>{let n=(await s.mutateAsync(e)).GroupId;t(n?{to:`/ec2/describe-security-groups/$id`,params:{id:n}}:{to:`/ec2/describe-security-groups`})},e[9]=s,e[10]=t,e[11]=T):T=e[11];let E=T,D,O;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,u.jsx)(a,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),O=(0,u.jsx)(pe,{title:`Create Security Group`}),e[12]=D,e[13]=O):(D=e[12],O=e[13]);let k;e[14]===s.error?k=e[15]:(k=s.error&&(0,u.jsx)(fe,{error:s.error,msg:`Failed to create security group`}),e[14]=s.error,e[15]=k);let A;e[16]!==_||e[17]!==E?(A=_(E),e[16]=_,e[17]=E,e[18]=A):A=e[18];let j;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[19]=j):j=e[19];let M=!!y.groupName,N;e[20]===v?N=e[21]:(N=v(`groupName`),e[20]=v,e[21]=N);let P;e[22]!==M||e[23]!==N?(P=(0,u.jsx)(ie,{"aria-invalid":M,id:`groupName`,placeholder:`my-security-group`,...N}),e[22]=M,e[23]=N,e[24]=P):P=e[24];let F;e[25]===y.groupName?F=e[26]:(F=(0,u.jsx)(l,{errors:[y.groupName]}),e[25]=y.groupName,e[26]=F);let I;e[27]!==P||e[28]!==F?(I=(0,u.jsxs)(ae,{children:[j,P,F]}),e[27]=P,e[28]=F,e[29]=I):I=e[29];let L;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`description`,children:`Description`})}),e[30]=L):L=e[30];let R=!!y.description,z;e[31]===v?z=e[32]:(z=v(`description`),e[31]=v,e[32]=z);let B;e[33]!==R||e[34]!==z?(B=(0,u.jsx)(ie,{"aria-invalid":R,id:`description`,placeholder:`My security group description`,...z}),e[33]=R,e[34]=z,e[35]=B):B=e[35];let V;e[36]===y.description?V=e[37]:(V=(0,u.jsx)(l,{errors:[y.description]}),e[36]=y.description,e[37]=V);let H;e[38]!==B||e[39]!==V?(H=(0,u.jsxs)(ae,{children:[L,B,V]}),e[38]=B,e[39]=V,e[40]=H):H=e[40];let U;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[41]=U):U=e[41];let W;e[42]!==y.vpcId||e[43]!==f?(W=e=>{let{field:t}=e;return(0,u.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,u.jsx)(te,{"aria-invalid":!!y.vpcId,className:`w-full`,id:`vpcId`,children:(0,u.jsx)(o,{})}),(0,u.jsx)(ee,{children:f.map(_e)})]})},e[42]=y.vpcId,e[43]=f,e[44]=W):W=e[44];let G;e[45]!==g||e[46]!==W?(G=(0,u.jsx)(ue,{control:g,name:`vpcId`,render:W}),e[45]=g,e[46]=W,e[47]=G):G=e[47];let K;e[48]===y.vpcId?K=e[49]:(K=(0,u.jsx)(l,{errors:[y.vpcId]}),e[48]=y.vpcId,e[49]=K);let q;e[50]!==G||e[51]!==K?(q=(0,u.jsxs)(ae,{children:[U,G,K]}),e[50]=G,e[51]=K,e[52]=q):q=e[52];let J;e[53]===w?J=e[54]:(J=ve(w),e[53]=w,e[54]=J);let Y;e[55]===J?Y=e[56]:(Y=(0,u.jsx)(re,{commands:J}),e[55]=J,e[56]=Y);let X;e[57]===t?X=e[58]:(X=async()=>await t({to:`/ec2/describe-security-groups`}),e[57]=t,e[58]=X);let Z;e[59]!==s.isPending||e[60]!==b||e[61]!==X?(Z=(0,u.jsx)(he,{isPending:s.isPending,isSubmitting:b,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Security Group`}),e[59]=s.isPending,e[60]=b,e[61]=X,e[62]=Z):Z=e[62];let Q;e[63]!==A||e[64]!==I||e[65]!==H||e[66]!==q||e[67]!==Y||e[68]!==Z?(Q=(0,u.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:A,children:[I,H,q,Y,Z]}),e[63]=A,e[64]=I,e[65]=H,e[66]=q,e[67]=Y,e[68]=Z,e[69]=Q):Q=e[69];let $;return e[70]!==k||e[71]!==Q?($=(0,u.jsxs)(u.Fragment,{children:[D,O,k,Q]}),e[70]=k,e[71]=Q,e[72]=$):$=e[72],$}function _e(e){let t=i(e.Tags);return(0,u.jsx)(s,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function ve(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`vpcId`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-security-group`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{c as o,i as s,n as ee,s as te,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./input.js";import{M as ae}from"./ec2.js";import{x as oe}from"./ec22.js";import{a as se,i as ce,n as le,t as ue}from"./zod.js";import{t as de}from"./error-banner.js";import{t as fe}from"./form-actions.js";import{t as pe}from"./page-heading.js";import{a as c,r as l,t as u}from"./field.js";import{p as me}from"./ec23.js";var he=t(),d=e();function f(){let e=(0,he.c)(73),t=r(),{data:i}=n(ae),s=oe(),f;e[0]===i.Vpcs?f=e[1]:(f=i.Vpcs??[],e[0]=i.Vpcs,e[1]=f);let p=f,m;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=ue(me),e[2]=m):m=e[2];let h=p[0]?.VpcId??``,g;e[3]===h?g=e[4]:(g={resolver:m,defaultValues:{groupName:``,description:``,vpcId:h}},e[3]=h,e[4]=g);let{control:_,handleSubmit:v,register:y,formState:ve}=ce(g),{errors:b,isSubmitting:ye}=ve,x;e[5]===_?x=e[6]:(x={control:_},e[5]=_,e[6]=x);let S=se(x),C;e[7]===S?C=e[8]:(C=e=>e?S[e]:void 0,e[7]=S,e[8]=C);let w=C,T;e[9]!==s||e[10]!==t?(T=async e=>{let n=(await s.mutateAsync(e)).GroupId;t(n?{to:`/ec2/describe-security-groups/$id`,params:{id:n}}:{to:`/ec2/describe-security-groups`})},e[9]=s,e[10]=t,e[11]=T):T=e[11];let E=T,D,O;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,d.jsx)(a,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),O=(0,d.jsx)(pe,{title:`Create Security Group`}),e[12]=D,e[13]=O):(D=e[12],O=e[13]);let k;e[14]===s.error?k=e[15]:(k=s.error&&(0,d.jsx)(de,{error:s.error,msg:`Failed to create security group`}),e[14]=s.error,e[15]=k);let A;e[16]!==v||e[17]!==E?(A=v(E),e[16]=v,e[17]=E,e[18]=A):A=e[18];let j;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[19]=j):j=e[19];let M=!!b.groupName,N;e[20]===y?N=e[21]:(N=y(`groupName`),e[20]=y,e[21]=N);let P;e[22]!==M||e[23]!==N?(P=(0,d.jsx)(ie,{"aria-invalid":M,id:`groupName`,placeholder:`my-security-group`,...N}),e[22]=M,e[23]=N,e[24]=P):P=e[24];let F;e[25]===b.groupName?F=e[26]:(F=(0,d.jsx)(l,{errors:[b.groupName]}),e[25]=b.groupName,e[26]=F);let I;e[27]!==P||e[28]!==F?(I=(0,d.jsxs)(u,{children:[j,P,F]}),e[27]=P,e[28]=F,e[29]=I):I=e[29];let L;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`description`,children:`Description`})}),e[30]=L):L=e[30];let R=!!b.description,z;e[31]===y?z=e[32]:(z=y(`description`),e[31]=y,e[32]=z);let B;e[33]!==R||e[34]!==z?(B=(0,d.jsx)(ie,{"aria-invalid":R,id:`description`,placeholder:`My security group description`,...z}),e[33]=R,e[34]=z,e[35]=B):B=e[35];let V;e[36]===b.description?V=e[37]:(V=(0,d.jsx)(l,{errors:[b.description]}),e[36]=b.description,e[37]=V);let H;e[38]!==B||e[39]!==V?(H=(0,d.jsxs)(u,{children:[L,B,V]}),e[38]=B,e[39]=V,e[40]=H):H=e[40];let U;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[41]=U):U=e[41];let W;e[42]!==b.vpcId||e[43]!==p?(W=e=>{let{field:t}=e;return(0,d.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(te,{"aria-invalid":!!b.vpcId,className:`w-full`,id:`vpcId`,children:(0,d.jsx)(o,{})}),(0,d.jsx)(ee,{children:p.map(ge)})]})},e[42]=b.vpcId,e[43]=p,e[44]=W):W=e[44];let G;e[45]!==_||e[46]!==W?(G=(0,d.jsx)(le,{control:_,name:`vpcId`,render:W}),e[45]=_,e[46]=W,e[47]=G):G=e[47];let K;e[48]===b.vpcId?K=e[49]:(K=(0,d.jsx)(l,{errors:[b.vpcId]}),e[48]=b.vpcId,e[49]=K);let q;e[50]!==G||e[51]!==K?(q=(0,d.jsxs)(u,{children:[U,G,K]}),e[50]=G,e[51]=K,e[52]=q):q=e[52];let J;e[53]===w?J=e[54]:(J=_e(w),e[53]=w,e[54]=J);let Y;e[55]===J?Y=e[56]:(Y=(0,d.jsx)(re,{commands:J}),e[55]=J,e[56]=Y);let X;e[57]===t?X=e[58]:(X=async()=>await t({to:`/ec2/describe-security-groups`}),e[57]=t,e[58]=X);let Z;e[59]!==s.isPending||e[60]!==ye||e[61]!==X?(Z=(0,d.jsx)(fe,{isPending:s.isPending,isSubmitting:ye,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Security Group`}),e[59]=s.isPending,e[60]=ye,e[61]=X,e[62]=Z):Z=e[62];let Q;e[63]!==A||e[64]!==I||e[65]!==H||e[66]!==q||e[67]!==Y||e[68]!==Z?(Q=(0,d.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:A,children:[I,H,q,Y,Z]}),e[63]=A,e[64]=I,e[65]=H,e[66]=q,e[67]=Y,e[68]=Z,e[69]=Q):Q=e[69];let $;return e[70]!==k||e[71]!==Q?($=(0,d.jsxs)(d.Fragment,{children:[D,O,k,Q]}),e[70]=k,e[71]=Q,e[72]=$):$=e[72],$}function ge(e){let t=i(e.Tags);return(0,d.jsx)(s,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function _e(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`vpcId`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-security-group`},{type:`flag`,value:` \\ --group-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ --description`},{type:`value`,value:` "${i||``}"`}];return o&&s.push({type:`flag`,value:` \\ - --vpc-id`},{type:`value`,value:` ${o}`}),[{label:`Create Security Group`,parts:s}]}export{d as component}; \ No newline at end of file + --vpc-id`},{type:`value`,value:` ${o}`}),[{label:`Create Security Group`,parts:s}]}export{f as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-service.js b/spinifex/services/spinifexui/frontend/dist/assets/create-service.js index 4f6522112..be2831451 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-service.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-service.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/create-service2.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/signed-fetch.js","assets/elbv22.js","assets/commandBuilder2.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/ecs3.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,w as i}from"./ec2.js";import{o as a}from"./ecs.js";import{u as o}from"./elbv22.js";var s=e(`/_auth/ecs/(clusters)/create-service`)({validateSearch:e=>({cluster:typeof e.cluster==`string`?e.cluster:``}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(o)])},head:()=>({meta:[{title:`Create Service | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./create-service2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/create-service2.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/mutation.js","assets/signed-fetch.js","assets/elbv22.js","assets/commandBuilder2.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ecs3.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,w as i}from"./ec2.js";import{o as a}from"./ecs.js";import{u as o}from"./elbv22.js";var s=e(`/_auth/ecs/(clusters)/create-service`)({validateSearch:e=>({cluster:typeof e.cluster==`string`?e.cluster:``}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(o)])},head:()=>({meta:[{title:`Create Service | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./create-service2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-service2.js b/spinifex/services/spinifexui/frontend/dist/assets/create-service2.js index 7f94ac06e..fa715eae9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-service2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-service2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{t as te}from"./back-link.js";import{c as ne,i as re,n as ie,s as ae,t as oe}from"./select.js";import{t as i}from"./input.js";import{a,r as se,t as o}from"./field.js";import{O as ce,w as le}from"./ec2.js";import{a as ue,o as de}from"./ecs.js";import{n as fe}from"./ecs2.js";import{u as pe}from"./elbv22.js";import{a as me,i as he,n as ge,t as _e}from"./zod.js";import{t as ve}from"./error-banner.js";import{t as ye}from"./page-heading.js";import{t as be}from"./form-actions.js";import{t as s}from"./create-service.js";import{n as xe}from"./ecs3.js";var Se=t(),c=e();function Ce(e){return e.split(`/`).at(-1)??e}function l(e){let t=(0,Se.c)(125),{cluster:s}=e,Ce=ee(),l=fe(),{data:Ee}=r(de),{data:De}=r(ce),{data:Oe}=r(le),{data:ke}=r(pe),Ae;t[0]===De.Subnets?Ae=t[1]:(Ae=De.Subnets??[],t[0]=De.Subnets,t[1]=Ae);let je=Ae,Me;t[2]===Oe.SecurityGroups?Me=t[3]:(Me=Oe.SecurityGroups??[],t[2]=Oe.SecurityGroups,t[3]=Me);let Ne=Me,u;t[4]===ke.TargetGroups?u=t[5]:(u=ke.TargetGroups??[],t[4]=ke.TargetGroups,t[5]=u);let Pe=u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=_e(xe),t[6]=d):d=t[6];let f,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=[],p=[],t[7]=f,t[8]=p):(f=t[7],p=t[8]);let m;t[9]===s?m=t[10]:(m={resolver:d,defaultValues:{cluster:s,serviceName:``,taskDefinition:``,desiredCount:1,subnets:f,securityGroups:p,assignPublicIp:!1,targetGroupArn:``,loadBalancerContainerName:``,loadBalancerContainerPort:``}},t[9]=s,t[10]=m);let{control:h,handleSubmit:Fe,register:g,setValue:Ie,getValues:Le,formState:Re}=he(m),{errors:_,isSubmitting:ze}=Re,v;t[11]===h?v=t[12]:(v={control:h,name:`taskDefinition`},t[11]=h,t[12]=v);let Be=me(v),y;t[13]===Be?y=t[14]:(y=ue(Be),t[13]=Be,t[14]=y);let{data:Ve}=n(y),b=Ve?.networkMode===`awsvpc`,x;t[15]===h?x=t[16]:(x={control:h,name:`subnets`},t[15]=h,t[16]=x);let S=me(x),C;t[17]===h?C=t[18]:(C={control:h,name:`securityGroups`},t[17]=h,t[18]=C);let He=me(C),Ue;t[19]===S?Ue=t[20]:(Ue=new Set(S),t[19]=S,t[20]=Ue);let We=Ue,Ge;t[21]===He?Ge=t[22]:(Ge=new Set(He),t[21]=He,t[22]=Ge);let Ke=Ge,qe;t[23]!==Le||t[24]!==Ie?(qe=(e,t)=>{let n=Le(e);Ie(e,n.includes(t)?n.filter(e=>e!==t):[...n,t],{shouldValidate:!0})},t[23]=Le,t[24]=Ie,t[25]=qe):qe=t[25];let Je=qe,Ye;t[26]!==s||t[27]!==Ce?(Ye=function(){Ce({to:`/ecs/list-clusters/$clusterName`,params:{clusterName:s}})},t[26]=s,t[27]=Ce,t[28]=Ye):Ye=t[28];let w=Ye,Xe;t[29]!==b||t[30]!==l||t[31]!==w?(Xe=async function(e){await l.mutateAsync({...e,awsvpc:b}),w()},t[29]=b,t[30]=l,t[31]=w,t[32]=Xe):Xe=t[32];let Ze=Xe,Qe=b&&S.length===0,T;t[33]===s?T=t[34]:(T={clusterName:s},t[33]=s,t[34]=T);let E;t[35]!==s||t[36]!==T?(E=(0,c.jsx)(te,{params:T,to:`/ecs/list-clusters/$clusterName`,children:s}),t[35]=s,t[36]=T,t[37]=E):E=t[37];let $e=`Cluster: ${s}`,D;t[38]===$e?D=t[39]:(D=(0,c.jsx)(ye,{subtitle:$e,title:`Create Service`}),t[38]=$e,t[39]=D);let O;t[40]!==l.error||t[41]!==l.isError?(O=l.isError&&(0,c.jsx)(ve,{error:l.error instanceof Error?l.error:void 0,msg:`Failed to create service.`}),t[40]=l.error,t[41]=l.isError,t[42]=O):O=t[42];let k;t[43]!==Fe||t[44]!==Ze?(k=Fe(Ze),t[43]=Fe,t[44]=Ze,t[45]=k):k=t[45];let et;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`serviceName`,children:`Service name`})}),t[46]=et):et=t[46];let A;t[47]===g?A=t[48]:(A=g(`serviceName`),t[47]=g,t[48]=A);let j;t[49]===A?j=t[50]:(j=(0,c.jsx)(i,{id:`serviceName`,placeholder:`api`,...A}),t[49]=A,t[50]=j);let M;t[51]===_.serviceName?M=t[52]:(M=(0,c.jsx)(se,{errors:[_.serviceName]}),t[51]=_.serviceName,t[52]=M);let N;t[53]!==j||t[54]!==M?(N=(0,c.jsxs)(o,{children:[et,j,M]}),t[53]=j,t[54]=M,t[55]=N):N=t[55];let tt;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`taskDefinition`,children:`Task definition`})}),t[56]=tt):tt=t[56];let P;t[57]===Ee?P=t[58]:(P=e=>{let{field:t}=e;return(0,c.jsxs)(oe,{onValueChange:t.onChange,value:t.value,children:[(0,c.jsx)(ae,{className:`w-full`,id:`taskDefinition`,children:(0,c.jsx)(ne,{placeholder:`Select a task definition`})}),(0,c.jsx)(ie,{children:Ee.map(Te)})]})},t[57]=Ee,t[58]=P);let F;t[59]!==h||t[60]!==P?(F=(0,c.jsx)(ge,{control:h,name:`taskDefinition`,render:P}),t[59]=h,t[60]=P,t[61]=F):F=t[61];let I;t[62]===_.taskDefinition?I=t[63]:(I=(0,c.jsx)(se,{errors:[_.taskDefinition]}),t[62]=_.taskDefinition,t[63]=I);let L;t[64]!==F||t[65]!==I?(L=(0,c.jsxs)(o,{children:[tt,F,I]}),t[64]=F,t[65]=I,t[66]=L):L=t[66];let nt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`desiredCount`,children:`Desired count`})}),t[67]=nt):nt=t[67];let R;t[68]===g?R=t[69]:(R=g(`desiredCount`,{valueAsNumber:!0}),t[68]=g,t[69]=R);let z;t[70]===R?z=t[71]:(z=(0,c.jsx)(i,{id:`desiredCount`,type:`number`,...R}),t[70]=R,t[71]=z);let B;t[72]===_.desiredCount?B=t[73]:(B=(0,c.jsx)(se,{errors:[_.desiredCount]}),t[72]=_.desiredCount,t[73]=B);let V;t[74]!==z||t[75]!==B?(V=(0,c.jsxs)(o,{children:[nt,z,B]}),t[74]=z,t[75]=B,t[76]=V):V=t[76];let H;t[77]!==b||t[78]!==g||t[79]!==Ne||t[80]!==Ke||t[81]!==We||t[82]!==je||t[83]!==Je?(H=b&&(0,c.jsxs)(`div`,{className:`space-y-4 rounded-lg border bg-card p-4`,children:[(0,c.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This task definition uses awsvpc networking. Select at least one subnet.`}),(0,c.jsxs)(`div`,{children:[(0,c.jsx)(`span`,{className:`text-sm font-medium`,children:`Subnets`}),(0,c.jsx)(`div`,{className:`mt-2 space-y-1`,children:je.map(e=>(0,c.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,c.jsx)(`input`,{checked:We.has(e.SubnetId??``),onChange:()=>Je(`subnets`,e.SubnetId??``),type:`checkbox`}),(0,c.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` (`,e.CidrBlock,`)`]})]},e.SubnetId))})]}),(0,c.jsxs)(`div`,{children:[(0,c.jsx)(`span`,{className:`text-sm font-medium`,children:`Security groups`}),(0,c.jsx)(`div`,{className:`mt-2 space-y-1`,children:Ne.map(e=>(0,c.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,c.jsx)(`input`,{checked:Ke.has(e.GroupId??``),onChange:()=>Je(`securityGroups`,e.GroupId??``),type:`checkbox`}),(0,c.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),(0,c.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,c.jsx)(`input`,{type:`checkbox`,...g(`assignPublicIp`)}),(0,c.jsx)(`span`,{children:`Assign public IP`})]})]}),t[77]=b,t[78]=g,t[79]=Ne,t[80]=Ke,t[81]=We,t[82]=je,t[83]=Je,t[84]=H):H=t[84];let rt;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(rt=(0,c.jsx)(`h2`,{className:`font-semibold`,children:`Load balancer (optional)`}),t[85]=rt):rt=t[85];let it;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`targetGroupArn`,children:`Target group`})}),t[86]=it):it=t[86];let U;t[87]===Pe?U=t[88]:(U=e=>{let{field:t}=e;return(0,c.jsxs)(oe,{onValueChange:e=>t.onChange(e===`none`?``:e),value:t.value===``?`none`:t.value,children:[(0,c.jsx)(ae,{className:`w-full`,id:`targetGroupArn`,children:(0,c.jsx)(ne,{})}),(0,c.jsxs)(ie,{children:[(0,c.jsx)(re,{value:`none`,children:`none`}),Pe.map(we)]})]})},t[87]=Pe,t[88]=U);let W;t[89]!==h||t[90]!==U?(W=(0,c.jsxs)(o,{children:[it,(0,c.jsx)(ge,{control:h,name:`targetGroupArn`,render:U})]}),t[89]=h,t[90]=U,t[91]=W):W=t[91];let at;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(at=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`lbContainerName`,children:`Container name`})}),t[92]=at):at=t[92];let G;t[93]===g?G=t[94]:(G=g(`loadBalancerContainerName`),t[93]=g,t[94]=G);let K;t[95]===G?K=t[96]:(K=(0,c.jsxs)(o,{children:[at,(0,c.jsx)(i,{id:`lbContainerName`,placeholder:`app`,...G})]}),t[95]=G,t[96]=K);let ot;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`lbContainerPort`,children:`Container port`})}),t[97]=ot):ot=t[97];let q;t[98]===g?q=t[99]:(q=g(`loadBalancerContainerPort`),t[98]=g,t[99]=q);let J;t[100]===q?J=t[101]:(J=(0,c.jsxs)(o,{children:[ot,(0,c.jsx)(i,{id:`lbContainerPort`,placeholder:`80`,type:`number`,...q})]}),t[100]=q,t[101]=J);let Y;t[102]!==K||t[103]!==J?(Y=(0,c.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[K,J]}),t[102]=K,t[103]=J,t[104]=Y):Y=t[104];let X;t[105]!==W||t[106]!==Y?(X=(0,c.jsxs)(`div`,{className:`space-y-4 rounded-lg border bg-card p-4`,children:[rt,W,Y]}),t[105]=W,t[106]=Y,t[107]=X):X=t[107];let st=l.isPending||Qe,Z;t[108]!==w||t[109]!==ze||t[110]!==st?(Z=(0,c.jsx)(be,{isPending:st,isSubmitting:ze,onCancel:w,pendingLabel:`Creating…`,submitLabel:`Create Service`}),t[108]=w,t[109]=ze,t[110]=st,t[111]=Z):Z=t[111];let Q;t[112]!==k||t[113]!==N||t[114]!==L||t[115]!==V||t[116]!==H||t[117]!==X||t[118]!==Z?(Q=(0,c.jsxs)(`form`,{className:`max-w-2xl space-y-6`,onSubmit:k,children:[N,L,V,H,X,Z]}),t[112]=k,t[113]=N,t[114]=L,t[115]=V,t[116]=H,t[117]=X,t[118]=Z,t[119]=Q):Q=t[119];let $;return t[120]!==E||t[121]!==D||t[122]!==O||t[123]!==Q?($=(0,c.jsxs)(c.Fragment,{children:[E,D,O,Q]}),t[120]=E,t[121]=D,t[122]=O,t[123]=Q,t[124]=$):$=t[124],$}function we(e){return(0,c.jsx)(re,{value:e.TargetGroupArn??``,children:e.TargetGroupName},e.TargetGroupArn)}function Te(e){let t=Ce(e);return(0,c.jsx)(re,{value:t,children:t},e)}function Ee(){let e=(0,Se.c)(2),{cluster:t}=s.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,c.jsx)(l,{cluster:t}),e[0]=t,e[1]=n),n}export{Ee as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./useNavigate.js";import{t as ne}from"./back-link.js";import{c as re,i as ie,n as ae,s as oe,t as se}from"./select.js";import{t as r}from"./input.js";import{O as ce,w as le}from"./ec2.js";import{a as ue,o as de}from"./ecs.js";import{n as fe}from"./ecs2.js";import{u as pe}from"./elbv22.js";import{t as i}from"./create-service.js";import{a as me,i as he,n as ge,t as _e}from"./zod.js";import{t as ve}from"./error-banner.js";import{t as ye}from"./form-actions.js";import{t as be}from"./page-heading.js";import{a,r as xe,t as o}from"./field.js";import{n as Se}from"./ecs3.js";var Ce=t(),s=e();function we(e){return e.split(`/`).at(-1)??e}function c(e){let t=(0,Ce.c)(125),{cluster:i}=e,we=te(),c=fe(),{data:De}=ee(de),{data:Oe}=ee(ce),{data:ke}=ee(le),{data:Ae}=ee(pe),je;t[0]===Oe.Subnets?je=t[1]:(je=Oe.Subnets??[],t[0]=Oe.Subnets,t[1]=je);let Me=je,Ne;t[2]===ke.SecurityGroups?Ne=t[3]:(Ne=ke.SecurityGroups??[],t[2]=ke.SecurityGroups,t[3]=Ne);let Pe=Ne,l;t[4]===Ae.TargetGroups?l=t[5]:(l=Ae.TargetGroups??[],t[4]=Ae.TargetGroups,t[5]=l);let Fe=l,u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=_e(Se),t[6]=u):u=t[6];let d,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=[],f=[],t[7]=d,t[8]=f):(d=t[7],f=t[8]);let p;t[9]===i?p=t[10]:(p={resolver:u,defaultValues:{cluster:i,serviceName:``,taskDefinition:``,desiredCount:1,subnets:d,securityGroups:f,assignPublicIp:!1,targetGroupArn:``,loadBalancerContainerName:``,loadBalancerContainerPort:``}},t[9]=i,t[10]=p);let{control:m,handleSubmit:Ie,register:h,setValue:Le,getValues:Re,formState:ze}=he(p),{errors:g,isSubmitting:Be}=ze,_;t[11]===m?_=t[12]:(_={control:m,name:`taskDefinition`},t[11]=m,t[12]=_);let Ve=me(_),v;t[13]===Ve?v=t[14]:(v=ue(Ve),t[13]=Ve,t[14]=v);let{data:He}=n(v),y=He?.networkMode===`awsvpc`,b;t[15]===m?b=t[16]:(b={control:m,name:`subnets`},t[15]=m,t[16]=b);let x=me(b),S;t[17]===m?S=t[18]:(S={control:m,name:`securityGroups`},t[17]=m,t[18]=S);let Ue=me(S),C;t[19]===x?C=t[20]:(C=new Set(x),t[19]=x,t[20]=C);let We=C,Ge;t[21]===Ue?Ge=t[22]:(Ge=new Set(Ue),t[21]=Ue,t[22]=Ge);let Ke=Ge,qe;t[23]!==Re||t[24]!==Le?(qe=(e,t)=>{let n=Re(e);Le(e,n.includes(t)?n.filter(e=>e!==t):[...n,t],{shouldValidate:!0})},t[23]=Re,t[24]=Le,t[25]=qe):qe=t[25];let Je=qe,Ye;t[26]!==i||t[27]!==we?(Ye=function(){we({to:`/ecs/list-clusters/$clusterName`,params:{clusterName:i}})},t[26]=i,t[27]=we,t[28]=Ye):Ye=t[28];let w=Ye,Xe;t[29]!==y||t[30]!==c||t[31]!==w?(Xe=async function(e){await c.mutateAsync({...e,awsvpc:y}),w()},t[29]=y,t[30]=c,t[31]=w,t[32]=Xe):Xe=t[32];let Ze=Xe,Qe=y&&x.length===0,T;t[33]===i?T=t[34]:(T={clusterName:i},t[33]=i,t[34]=T);let E;t[35]!==i||t[36]!==T?(E=(0,s.jsx)(ne,{params:T,to:`/ecs/list-clusters/$clusterName`,children:i}),t[35]=i,t[36]=T,t[37]=E):E=t[37];let $e=`Cluster: ${i}`,D;t[38]===$e?D=t[39]:(D=(0,s.jsx)(be,{subtitle:$e,title:`Create Service`}),t[38]=$e,t[39]=D);let O;t[40]!==c.error||t[41]!==c.isError?(O=c.isError&&(0,s.jsx)(ve,{error:c.error instanceof Error?c.error:void 0,msg:`Failed to create service.`}),t[40]=c.error,t[41]=c.isError,t[42]=O):O=t[42];let k;t[43]!==Ie||t[44]!==Ze?(k=Ie(Ze),t[43]=Ie,t[44]=Ze,t[45]=k):k=t[45];let et;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`serviceName`,children:`Service name`})}),t[46]=et):et=t[46];let A;t[47]===h?A=t[48]:(A=h(`serviceName`),t[47]=h,t[48]=A);let j;t[49]===A?j=t[50]:(j=(0,s.jsx)(r,{id:`serviceName`,placeholder:`api`,...A}),t[49]=A,t[50]=j);let M;t[51]===g.serviceName?M=t[52]:(M=(0,s.jsx)(xe,{errors:[g.serviceName]}),t[51]=g.serviceName,t[52]=M);let N;t[53]!==j||t[54]!==M?(N=(0,s.jsxs)(o,{children:[et,j,M]}),t[53]=j,t[54]=M,t[55]=N):N=t[55];let tt;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`taskDefinition`,children:`Task definition`})}),t[56]=tt):tt=t[56];let P;t[57]===De?P=t[58]:(P=e=>{let{field:t}=e;return(0,s.jsxs)(se,{onValueChange:t.onChange,value:t.value,children:[(0,s.jsx)(oe,{className:`w-full`,id:`taskDefinition`,children:(0,s.jsx)(re,{placeholder:`Select a task definition`})}),(0,s.jsx)(ae,{children:De.map(Ee)})]})},t[57]=De,t[58]=P);let F;t[59]!==m||t[60]!==P?(F=(0,s.jsx)(ge,{control:m,name:`taskDefinition`,render:P}),t[59]=m,t[60]=P,t[61]=F):F=t[61];let I;t[62]===g.taskDefinition?I=t[63]:(I=(0,s.jsx)(xe,{errors:[g.taskDefinition]}),t[62]=g.taskDefinition,t[63]=I);let L;t[64]!==F||t[65]!==I?(L=(0,s.jsxs)(o,{children:[tt,F,I]}),t[64]=F,t[65]=I,t[66]=L):L=t[66];let nt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`desiredCount`,children:`Desired count`})}),t[67]=nt):nt=t[67];let R;t[68]===h?R=t[69]:(R=h(`desiredCount`,{valueAsNumber:!0}),t[68]=h,t[69]=R);let z;t[70]===R?z=t[71]:(z=(0,s.jsx)(r,{id:`desiredCount`,type:`number`,...R}),t[70]=R,t[71]=z);let B;t[72]===g.desiredCount?B=t[73]:(B=(0,s.jsx)(xe,{errors:[g.desiredCount]}),t[72]=g.desiredCount,t[73]=B);let V;t[74]!==z||t[75]!==B?(V=(0,s.jsxs)(o,{children:[nt,z,B]}),t[74]=z,t[75]=B,t[76]=V):V=t[76];let H;t[77]!==y||t[78]!==h||t[79]!==Pe||t[80]!==Ke||t[81]!==We||t[82]!==Me||t[83]!==Je?(H=y&&(0,s.jsxs)(`div`,{className:`space-y-4 rounded-lg border bg-card p-4`,children:[(0,s.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This task definition uses awsvpc networking. Select at least one subnet.`}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`span`,{className:`text-sm font-medium`,children:`Subnets`}),(0,s.jsx)(`div`,{className:`mt-2 space-y-1`,children:Me.map(e=>(0,s.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,s.jsx)(`input`,{checked:We.has(e.SubnetId??``),onChange:()=>Je(`subnets`,e.SubnetId??``),type:`checkbox`}),(0,s.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` (`,e.CidrBlock,`)`]})]},e.SubnetId))})]}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`span`,{className:`text-sm font-medium`,children:`Security groups`}),(0,s.jsx)(`div`,{className:`mt-2 space-y-1`,children:Pe.map(e=>(0,s.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,s.jsx)(`input`,{checked:Ke.has(e.GroupId??``),onChange:()=>Je(`securityGroups`,e.GroupId??``),type:`checkbox`}),(0,s.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),(0,s.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,s.jsx)(`input`,{type:`checkbox`,...h(`assignPublicIp`)}),(0,s.jsx)(`span`,{children:`Assign public IP`})]})]}),t[77]=y,t[78]=h,t[79]=Pe,t[80]=Ke,t[81]=We,t[82]=Me,t[83]=Je,t[84]=H):H=t[84];let rt;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(rt=(0,s.jsx)(`h2`,{className:`font-semibold`,children:`Load balancer (optional)`}),t[85]=rt):rt=t[85];let it;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`targetGroupArn`,children:`Target group`})}),t[86]=it):it=t[86];let U;t[87]===Fe?U=t[88]:(U=e=>{let{field:t}=e;return(0,s.jsxs)(se,{onValueChange:e=>t.onChange(e===`none`?``:e),value:t.value===``?`none`:t.value,children:[(0,s.jsx)(oe,{className:`w-full`,id:`targetGroupArn`,children:(0,s.jsx)(re,{})}),(0,s.jsxs)(ae,{children:[(0,s.jsx)(ie,{value:`none`,children:`none`}),Fe.map(Te)]})]})},t[87]=Fe,t[88]=U);let W;t[89]!==m||t[90]!==U?(W=(0,s.jsxs)(o,{children:[it,(0,s.jsx)(ge,{control:m,name:`targetGroupArn`,render:U})]}),t[89]=m,t[90]=U,t[91]=W):W=t[91];let at;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(at=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`lbContainerName`,children:`Container name`})}),t[92]=at):at=t[92];let G;t[93]===h?G=t[94]:(G=h(`loadBalancerContainerName`),t[93]=h,t[94]=G);let K;t[95]===G?K=t[96]:(K=(0,s.jsxs)(o,{children:[at,(0,s.jsx)(r,{id:`lbContainerName`,placeholder:`app`,...G})]}),t[95]=G,t[96]=K);let ot;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,s.jsx)(a,{children:(0,s.jsx)(`label`,{htmlFor:`lbContainerPort`,children:`Container port`})}),t[97]=ot):ot=t[97];let q;t[98]===h?q=t[99]:(q=h(`loadBalancerContainerPort`),t[98]=h,t[99]=q);let J;t[100]===q?J=t[101]:(J=(0,s.jsxs)(o,{children:[ot,(0,s.jsx)(r,{id:`lbContainerPort`,placeholder:`80`,type:`number`,...q})]}),t[100]=q,t[101]=J);let Y;t[102]!==K||t[103]!==J?(Y=(0,s.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[K,J]}),t[102]=K,t[103]=J,t[104]=Y):Y=t[104];let X;t[105]!==W||t[106]!==Y?(X=(0,s.jsxs)(`div`,{className:`space-y-4 rounded-lg border bg-card p-4`,children:[rt,W,Y]}),t[105]=W,t[106]=Y,t[107]=X):X=t[107];let st=c.isPending||Qe,Z;t[108]!==w||t[109]!==Be||t[110]!==st?(Z=(0,s.jsx)(ye,{isPending:st,isSubmitting:Be,onCancel:w,pendingLabel:`Creating…`,submitLabel:`Create Service`}),t[108]=w,t[109]=Be,t[110]=st,t[111]=Z):Z=t[111];let Q;t[112]!==k||t[113]!==N||t[114]!==L||t[115]!==V||t[116]!==H||t[117]!==X||t[118]!==Z?(Q=(0,s.jsxs)(`form`,{className:`max-w-2xl space-y-6`,onSubmit:k,children:[N,L,V,H,X,Z]}),t[112]=k,t[113]=N,t[114]=L,t[115]=V,t[116]=H,t[117]=X,t[118]=Z,t[119]=Q):Q=t[119];let $;return t[120]!==E||t[121]!==D||t[122]!==O||t[123]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[E,D,O,Q]}),t[120]=E,t[121]=D,t[122]=O,t[123]=Q,t[124]=$):$=t[124],$}function Te(e){return(0,s.jsx)(ie,{value:e.TargetGroupArn??``,children:e.TargetGroupName},e.TargetGroupArn)}function Ee(e){let t=we(e);return(0,s.jsx)(ie,{value:t,children:t},e)}function De(){let e=(0,Ce.c)(2),{cluster:t}=i.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,s.jsx)(c,{cluster:t}),e[0]=t,e[1]=n),n}export{De as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js index 2ddde7509..e2fee7c15 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/create-snapshot2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/cli-command-panel.js","assets/copy.js","assets/use-copy-to-clipboard.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/form-actions.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{A as r}from"./ec2.js";var i=e(`/_auth/ec2/(snapshots)/create-snapshot`)({validateSearch:e=>({volumeId:typeof e.volumeId==`string`?e.volumeId:void 0}),loader:async({context:e})=>{await e.queryClient.ensureQueryData(r)},head:()=>({meta:[{title:`Create Snapshot | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./create-snapshot2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/create-snapshot2.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/cli-command-panel.js","assets/copy.js","assets/use-copy-to-clipboard.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ec23.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{A as r}from"./ec2.js";var i=e(`/_auth/ec2/(snapshots)/create-snapshot`)({validateSearch:e=>({volumeId:typeof e.volumeId==`string`?e.volumeId:void 0}),loader:async({context:e})=>{await e.queryClient.ensureQueryData(r)},head:()=>({meta:[{title:`Create Snapshot | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./create-snapshot2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js index f44a7f749..59bcf16ae 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as ee}from"./select.js";import{t as te}from"./cli-command-panel.js";import{a as l,r as ne,t as u}from"./field.js";import{A as re}from"./ec2.js";import{S as ie}from"./ec22.js";import{a as ae,i as oe,n as se,t as ce}from"./zod.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{m as le}from"./ec23.js";import{t as ue}from"./form-actions.js";import{t as p}from"./create-snapshot.js";import{t as m}from"./textarea.js";var de=t(),h=e();function g(){let e=(0,de.c)(55),t=r(),{data:o}=n(re),g=ie(),v;e[0]===o.Volumes?v=e[1]:(v=o.Volumes??[],e[0]=o.Volumes,e[1]=v);let y=v,{volumeId:b}=p.useSearch(),x=b??y[0]?.VolumeId??``,S;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=ce(le),e[2]=S):S=e[2];let C;e[3]===x?C=e[4]:(C={resolver:S,defaultValues:{volumeId:x,description:``}},e[3]=x,e[4]=C);let{control:w,handleSubmit:T,register:E,formState:D}=oe(C),{errors:O,isSubmitting:k}=D,A;e[5]===w?A=e[6]:(A={control:w},e[5]=w,e[6]=A);let j=ae(A),M;e[7]===j?M=e[8]:(M=e=>e?j[e]:void 0,e[7]=j,e[8]=M);let N=M,P;e[9]!==g||e[10]!==t?(P=async e=>{await g.mutateAsync(e),t({to:`/ec2/describe-snapshots`})},e[9]=g,e[10]=t,e[11]=P):P=e[11];let F=P,I,L;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,h.jsx)(i,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),L=(0,h.jsx)(f,{title:`Create Snapshot`}),e[12]=I,e[13]=L):(I=e[12],L=e[13]);let R;e[14]===g.error?R=e[15]:(R=g.error&&(0,h.jsx)(d,{error:g.error,msg:`Failed to create snapshot`}),e[14]=g.error,e[15]=R);let z;e[16]!==T||e[17]!==F?(z=T(F),e[16]=T,e[17]=F,e[18]=z):z=e[18];let B;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,h.jsx)(l,{children:(0,h.jsx)(`label`,{htmlFor:`volumeId`,children:`Volume`})}),e[19]=B):B=e[19];let V;e[20]!==O.volumeId||e[21]!==y?(V=e=>{let{field:t}=e;return(0,h.jsxs)(ee,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,h.jsx)(c,{"aria-invalid":!!O.volumeId,className:`w-full`,id:`volumeId`,children:(0,h.jsx)(a,{})}),(0,h.jsx)(s,{children:y.map(fe)})]})},e[20]=O.volumeId,e[21]=y,e[22]=V):V=e[22];let H;e[23]!==w||e[24]!==V?(H=(0,h.jsx)(se,{control:w,name:`volumeId`,render:V}),e[23]=w,e[24]=V,e[25]=H):H=e[25];let U;e[26]===O.volumeId?U=e[27]:(U=(0,h.jsx)(ne,{errors:[O.volumeId]}),e[26]=O.volumeId,e[27]=U);let W;e[28]!==H||e[29]!==U?(W=(0,h.jsxs)(u,{children:[B,H,U]}),e[28]=H,e[29]=U,e[30]=W):W=e[30];let G;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,h.jsx)(l,{children:(0,h.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[31]=G):G=e[31];let K;e[32]===E?K=e[33]:(K=E(`description`),e[32]=E,e[33]=K);let q;e[34]===K?q=e[35]:(q=(0,h.jsxs)(u,{children:[G,(0,h.jsx)(m,{id:`description`,placeholder:`Snapshot description`,...K})]}),e[34]=K,e[35]=q);let J;e[36]===N?J=e[37]:(J=_(N),e[36]=N,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,h.jsx)(te,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/ec2/describe-snapshots`}),e[40]=t,e[41]=X);let Z;e[42]!==g.isPending||e[43]!==k||e[44]!==X?(Z=(0,h.jsx)(ue,{isPending:g.isPending,isSubmitting:k,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Snapshot`}),e[42]=g.isPending,e[43]=k,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==z||e[47]!==W||e[48]!==q||e[49]!==Y||e[50]!==Z?(Q=(0,h.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:z,children:[W,q,Y,Z]}),e[46]=z,e[47]=W,e[48]=q,e[49]=Y,e[50]=Z,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==R?($=(0,h.jsxs)(h.Fragment,{children:[I,L,R,Q]}),e[52]=Q,e[53]=R,e[54]=$):$=e[54],$}function fe(e){return(0,h.jsxs)(o,{value:e.VolumeId??``,children:[e.VolumeId,` (`,e.Size,` GiB)`]},e.VolumeId)}function _(e){let t=e(`volumeId`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-snapshot`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as ee}from"./select.js";import{t as te}from"./cli-command-panel.js";import{A as ne}from"./ec2.js";import{S as re}from"./ec22.js";import{t as ie}from"./create-snapshot.js";import{a as ae,i as oe,n as se,t as ce}from"./zod.js";import{t as le}from"./error-banner.js";import{t as ue}from"./form-actions.js";import{t as l}from"./page-heading.js";import{a as u,r as d,t as f}from"./field.js";import{m as p}from"./ec23.js";import{t as m}from"./textarea.js";var h=t(),g=e();function _(){let e=(0,h.c)(55),t=r(),{data:o}=n(ne),_=re(),v;e[0]===o.Volumes?v=e[1]:(v=o.Volumes??[],e[0]=o.Volumes,e[1]=v);let y=v,{volumeId:b}=ie.useSearch(),x=b??y[0]?.VolumeId??``,S;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=ce(p),e[2]=S):S=e[2];let C;e[3]===x?C=e[4]:(C={resolver:S,defaultValues:{volumeId:x,description:``}},e[3]=x,e[4]=C);let{control:w,handleSubmit:T,register:E,formState:D}=oe(C),{errors:O,isSubmitting:k}=D,A;e[5]===w?A=e[6]:(A={control:w},e[5]=w,e[6]=A);let j=ae(A),M;e[7]===j?M=e[8]:(M=e=>e?j[e]:void 0,e[7]=j,e[8]=M);let N=M,P;e[9]!==_||e[10]!==t?(P=async e=>{await _.mutateAsync(e),t({to:`/ec2/describe-snapshots`})},e[9]=_,e[10]=t,e[11]=P):P=e[11];let F=P,I,L;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,g.jsx)(i,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),L=(0,g.jsx)(l,{title:`Create Snapshot`}),e[12]=I,e[13]=L):(I=e[12],L=e[13]);let R;e[14]===_.error?R=e[15]:(R=_.error&&(0,g.jsx)(le,{error:_.error,msg:`Failed to create snapshot`}),e[14]=_.error,e[15]=R);let z;e[16]!==T||e[17]!==F?(z=T(F),e[16]=T,e[17]=F,e[18]=z):z=e[18];let B;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,g.jsx)(u,{children:(0,g.jsx)(`label`,{htmlFor:`volumeId`,children:`Volume`})}),e[19]=B):B=e[19];let V;e[20]!==O.volumeId||e[21]!==y?(V=e=>{let{field:t}=e;return(0,g.jsxs)(ee,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,g.jsx)(c,{"aria-invalid":!!O.volumeId,className:`w-full`,id:`volumeId`,children:(0,g.jsx)(a,{})}),(0,g.jsx)(s,{children:y.map(de)})]})},e[20]=O.volumeId,e[21]=y,e[22]=V):V=e[22];let H;e[23]!==w||e[24]!==V?(H=(0,g.jsx)(se,{control:w,name:`volumeId`,render:V}),e[23]=w,e[24]=V,e[25]=H):H=e[25];let U;e[26]===O.volumeId?U=e[27]:(U=(0,g.jsx)(d,{errors:[O.volumeId]}),e[26]=O.volumeId,e[27]=U);let W;e[28]!==H||e[29]!==U?(W=(0,g.jsxs)(f,{children:[B,H,U]}),e[28]=H,e[29]=U,e[30]=W):W=e[30];let G;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,g.jsx)(u,{children:(0,g.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[31]=G):G=e[31];let K;e[32]===E?K=e[33]:(K=E(`description`),e[32]=E,e[33]=K);let q;e[34]===K?q=e[35]:(q=(0,g.jsxs)(f,{children:[G,(0,g.jsx)(m,{id:`description`,placeholder:`Snapshot description`,...K})]}),e[34]=K,e[35]=q);let J;e[36]===N?J=e[37]:(J=fe(N),e[36]=N,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,g.jsx)(te,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/ec2/describe-snapshots`}),e[40]=t,e[41]=X);let Z;e[42]!==_.isPending||e[43]!==k||e[44]!==X?(Z=(0,g.jsx)(ue,{isPending:_.isPending,isSubmitting:k,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Snapshot`}),e[42]=_.isPending,e[43]=k,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==z||e[47]!==W||e[48]!==q||e[49]!==Y||e[50]!==Z?(Q=(0,g.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:z,children:[W,q,Y,Z]}),e[46]=z,e[47]=W,e[48]=q,e[49]=Y,e[50]=Z,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==R?($=(0,g.jsxs)(g.Fragment,{children:[I,L,R,Q]}),e[52]=Q,e[53]=R,e[54]=$):$=e[54],$}function de(e){return(0,g.jsxs)(o,{value:e.VolumeId??``,children:[e.VolumeId,` (`,e.Size,` GiB)`]},e.VolumeId)}function fe(e){let t=e(`volumeId`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-snapshot`},{type:`flag`,value:` \\ --volume-id`},{type:`value`,value:` ${n||``}`}];return i&&a.push({type:`flag`,value:` \\ - --description`},{type:`value`,value:` "${i}"`}),[{label:`Create Snapshot`,parts:a}]}export{g as component}; \ No newline at end of file + --description`},{type:`value`,value:` "${i}"`}),[{label:`Create Snapshot`,parts:a}]}export{_ as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js b/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js index 819a6f22c..a4debebe6 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{tn as r}from"./cluster-config.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as te,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./input.js";import{a as c,r as ae,t as l}from"./field.js";import{M as oe,r as se}from"./ec2.js";import{C as ce}from"./ec22.js";import{a as le,i as ue,n as de,t as fe}from"./zod.js";import{t as pe}from"./error-banner.js";import{t as me}from"./page-heading.js";import{h as he}from"./ec23.js";import{t as ge}from"./form-actions.js";var _e=t(),u=e();function d(){let e=(0,_e.c)(74),t=ee(),{data:r}=n(oe),{data:d}=n(se),f=ce(),p;e[0]===r.Vpcs?p=e[1]:(p=r.Vpcs??[],e[0]=r.Vpcs,e[1]=p);let m=p,h;e[2]===d.AvailabilityZones?h=e[3]:(h=d.AvailabilityZones??[],e[2]=d.AvailabilityZones,e[3]=h);let g=h,_;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=fe(he),e[4]=_):_=e[4];let v=m[0]?.VpcId??``,y;e[5]===v?y=e[6]:(y={resolver:_,defaultValues:{vpcId:v,cidrBlock:`10.0.1.0/24`,availabilityZone:void 0,mapPublicIpOnLaunch:!1}},e[5]=v,e[6]=y);let{control:b,handleSubmit:x,register:Se,formState:Ce}=ue(y),{errors:S,isSubmitting:we}=Ce,C;e[7]===b?C=e[8]:(C={control:b},e[7]=b,e[8]=C);let w=le(C),T;e[9]===w?T=e[10]:(T=e=>e?w[e]:void 0,e[9]=w,e[10]=T);let E=T,D;e[11]!==f||e[12]!==t?(D=async e=>{let n=(await f.mutateAsync(e)).Subnet?.SubnetId;t(n?{to:`/ec2/describe-subnets/$id`,params:{id:n}}:{to:`/ec2/describe-subnets`})},e[11]=f,e[12]=t,e[13]=D):D=e[13];let O=D,k,A;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,u.jsx)(i,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),k=(0,u.jsx)(me,{title:`Create Subnet`}),e[14]=k,e[15]=A):(k=e[14],A=e[15]);let j;e[16]===f.error?j=e[17]:(j=f.error&&(0,u.jsx)(pe,{error:f.error,msg:`Failed to create subnet`}),e[16]=f.error,e[17]=j);let M;e[18]!==x||e[19]!==O?(M=x(O),e[18]=x,e[19]=O,e[20]=M):M=e[20];let N;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[21]=N):N=e[21];let P;e[22]!==S.vpcId||e[23]!==m?(P=e=>{let{field:t}=e;return(0,u.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,u.jsx)(te,{"aria-invalid":!!S.vpcId,className:`w-full`,id:`vpcId`,children:(0,u.jsx)(a,{})}),(0,u.jsx)(s,{children:m.map(be)})]})},e[22]=S.vpcId,e[23]=m,e[24]=P):P=e[24];let F;e[25]!==b||e[26]!==P?(F=(0,u.jsx)(de,{control:b,name:`vpcId`,render:P}),e[25]=b,e[26]=P,e[27]=F):F=e[27];let I;e[28]===S.vpcId?I=e[29]:(I=(0,u.jsx)(ae,{errors:[S.vpcId]}),e[28]=S.vpcId,e[29]=I);let L;e[30]!==F||e[31]!==I?(L=(0,u.jsxs)(l,{children:[N,F,I]}),e[30]=F,e[31]=I,e[32]=L):L=e[32];let R;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`cidrBlock`,children:`CIDR Block`})}),e[33]=R):R=e[33];let Te=!!S.cidrBlock,z;e[34]===Se?z=e[35]:(z=Se(`cidrBlock`),e[34]=Se,e[35]=z);let B;e[36]!==Te||e[37]!==z?(B=(0,u.jsx)(ie,{"aria-invalid":Te,id:`cidrBlock`,placeholder:`10.0.1.0/24`,...z}),e[36]=Te,e[37]=z,e[38]=B):B=e[38];let V;e[39]===S.cidrBlock?V=e[40]:(V=(0,u.jsx)(ae,{errors:[S.cidrBlock]}),e[39]=S.cidrBlock,e[40]=V);let H;e[41]!==B||e[42]!==V?(H=(0,u.jsxs)(l,{children:[R,B,V]}),e[41]=B,e[42]=V,e[43]=H):H=e[43];let U;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone (optional)`})}),e[44]=U):U=e[44];let W;e[45]===g?W=e[46]:(W=e=>{let{field:t}=e;return(0,u.jsxs)(ne,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,u.jsx)(te,{className:`w-full`,id:`availabilityZone`,children:(0,u.jsx)(a,{})}),(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{value:`none`,children:`none`}),g.map(ye)]})]})},e[45]=g,e[46]=W);let G;e[47]!==b||e[48]!==W?(G=(0,u.jsxs)(l,{children:[U,(0,u.jsx)(de,{control:b,name:`availabilityZone`,render:W})]}),e[47]=b,e[48]=W,e[49]=G):G=e[49];let K;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,u.jsx)(c,{children:`Auto-assign public IPv4`}),e[50]=K):K=e[50];let q;e[51]===b?q=e[52]:(q=(0,u.jsxs)(l,{children:[K,(0,u.jsx)(de,{control:b,name:`mapPublicIpOnLaunch`,render:ve})]}),e[51]=b,e[52]=q);let J;e[53]===E?J=e[54]:(J=xe(E),e[53]=E,e[54]=J);let Y;e[55]===J?Y=e[56]:(Y=(0,u.jsx)(re,{commands:J}),e[55]=J,e[56]=Y);let X;e[57]===t?X=e[58]:(X=async()=>await t({to:`/ec2/describe-subnets`}),e[57]=t,e[58]=X);let Z;e[59]!==f.isPending||e[60]!==we||e[61]!==X?(Z=(0,u.jsx)(ge,{isPending:f.isPending,isSubmitting:we,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Subnet`}),e[59]=f.isPending,e[60]=we,e[61]=X,e[62]=Z):Z=e[62];let Q;e[63]!==M||e[64]!==L||e[65]!==H||e[66]!==G||e[67]!==q||e[68]!==Y||e[69]!==Z?(Q=(0,u.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:M,children:[L,H,G,q,Y,Z]}),e[63]=M,e[64]=L,e[65]=H,e[66]=G,e[67]=q,e[68]=Y,e[69]=Z,e[70]=Q):Q=e[70];let $;return e[71]!==j||e[72]!==Q?($=(0,u.jsxs)(u.Fragment,{children:[A,k,j,Q]}),e[71]=j,e[72]=Q,e[73]=$):$=e[73],$}function ve(e){let{field:t}=e;return(0,u.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,u.jsx)(`input`,{"aria-label":`Enable auto-assign public IPv4 address`,checked:t.value??!1,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Enable auto-assign public IPv4 address`]})}function ye(e){return(0,u.jsx)(o,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function be(e){let t=r(e.Tags);return(0,u.jsx)(o,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function xe(e){let t=e(`vpcId`),n=typeof t==`string`?t:``,ee=e(`cidrBlock`),r=typeof ee==`string`?ee:``,i=e(`availabilityZone`),a=typeof i==`string`?i:``,o=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-subnet`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{tn as r}from"./cluster-config.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as te,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./input.js";import{M as ae,r as oe}from"./ec2.js";import{C as se}from"./ec22.js";import{a as ce,i as le,n as ue,t as de}from"./zod.js";import{t as fe}from"./error-banner.js";import{t as pe}from"./form-actions.js";import{t as me}from"./page-heading.js";import{a as c,r as he,t as l}from"./field.js";import{h as ge}from"./ec23.js";var _e=t(),u=e();function d(){let e=(0,_e.c)(74),t=ee(),{data:r}=n(ae),{data:d}=n(oe),f=se(),p;e[0]===r.Vpcs?p=e[1]:(p=r.Vpcs??[],e[0]=r.Vpcs,e[1]=p);let m=p,h;e[2]===d.AvailabilityZones?h=e[3]:(h=d.AvailabilityZones??[],e[2]=d.AvailabilityZones,e[3]=h);let g=h,_;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=de(ge),e[4]=_):_=e[4];let v=m[0]?.VpcId??``,y;e[5]===v?y=e[6]:(y={resolver:_,defaultValues:{vpcId:v,cidrBlock:`10.0.1.0/24`,availabilityZone:void 0,mapPublicIpOnLaunch:!1}},e[5]=v,e[6]=y);let{control:b,handleSubmit:x,register:Se,formState:Ce}=le(y),{errors:S,isSubmitting:we}=Ce,C;e[7]===b?C=e[8]:(C={control:b},e[7]=b,e[8]=C);let w=ce(C),T;e[9]===w?T=e[10]:(T=e=>e?w[e]:void 0,e[9]=w,e[10]=T);let E=T,D;e[11]!==f||e[12]!==t?(D=async e=>{let n=(await f.mutateAsync(e)).Subnet?.SubnetId;t(n?{to:`/ec2/describe-subnets/$id`,params:{id:n}}:{to:`/ec2/describe-subnets`})},e[11]=f,e[12]=t,e[13]=D):D=e[13];let O=D,k,A;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,u.jsx)(i,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),k=(0,u.jsx)(me,{title:`Create Subnet`}),e[14]=k,e[15]=A):(k=e[14],A=e[15]);let j;e[16]===f.error?j=e[17]:(j=f.error&&(0,u.jsx)(fe,{error:f.error,msg:`Failed to create subnet`}),e[16]=f.error,e[17]=j);let M;e[18]!==x||e[19]!==O?(M=x(O),e[18]=x,e[19]=O,e[20]=M):M=e[20];let N;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[21]=N):N=e[21];let P;e[22]!==S.vpcId||e[23]!==m?(P=e=>{let{field:t}=e;return(0,u.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,u.jsx)(te,{"aria-invalid":!!S.vpcId,className:`w-full`,id:`vpcId`,children:(0,u.jsx)(a,{})}),(0,u.jsx)(s,{children:m.map(be)})]})},e[22]=S.vpcId,e[23]=m,e[24]=P):P=e[24];let F;e[25]!==b||e[26]!==P?(F=(0,u.jsx)(ue,{control:b,name:`vpcId`,render:P}),e[25]=b,e[26]=P,e[27]=F):F=e[27];let I;e[28]===S.vpcId?I=e[29]:(I=(0,u.jsx)(he,{errors:[S.vpcId]}),e[28]=S.vpcId,e[29]=I);let L;e[30]!==F||e[31]!==I?(L=(0,u.jsxs)(l,{children:[N,F,I]}),e[30]=F,e[31]=I,e[32]=L):L=e[32];let R;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`cidrBlock`,children:`CIDR Block`})}),e[33]=R):R=e[33];let Te=!!S.cidrBlock,z;e[34]===Se?z=e[35]:(z=Se(`cidrBlock`),e[34]=Se,e[35]=z);let B;e[36]!==Te||e[37]!==z?(B=(0,u.jsx)(ie,{"aria-invalid":Te,id:`cidrBlock`,placeholder:`10.0.1.0/24`,...z}),e[36]=Te,e[37]=z,e[38]=B):B=e[38];let V;e[39]===S.cidrBlock?V=e[40]:(V=(0,u.jsx)(he,{errors:[S.cidrBlock]}),e[39]=S.cidrBlock,e[40]=V);let H;e[41]!==B||e[42]!==V?(H=(0,u.jsxs)(l,{children:[R,B,V]}),e[41]=B,e[42]=V,e[43]=H):H=e[43];let U;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,u.jsx)(c,{children:(0,u.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone (optional)`})}),e[44]=U):U=e[44];let W;e[45]===g?W=e[46]:(W=e=>{let{field:t}=e;return(0,u.jsxs)(ne,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,u.jsx)(te,{className:`w-full`,id:`availabilityZone`,children:(0,u.jsx)(a,{})}),(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{value:`none`,children:`none`}),g.map(ye)]})]})},e[45]=g,e[46]=W);let G;e[47]!==b||e[48]!==W?(G=(0,u.jsxs)(l,{children:[U,(0,u.jsx)(ue,{control:b,name:`availabilityZone`,render:W})]}),e[47]=b,e[48]=W,e[49]=G):G=e[49];let K;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,u.jsx)(c,{children:`Auto-assign public IPv4`}),e[50]=K):K=e[50];let q;e[51]===b?q=e[52]:(q=(0,u.jsxs)(l,{children:[K,(0,u.jsx)(ue,{control:b,name:`mapPublicIpOnLaunch`,render:ve})]}),e[51]=b,e[52]=q);let J;e[53]===E?J=e[54]:(J=xe(E),e[53]=E,e[54]=J);let Y;e[55]===J?Y=e[56]:(Y=(0,u.jsx)(re,{commands:J}),e[55]=J,e[56]=Y);let X;e[57]===t?X=e[58]:(X=async()=>await t({to:`/ec2/describe-subnets`}),e[57]=t,e[58]=X);let Z;e[59]!==f.isPending||e[60]!==we||e[61]!==X?(Z=(0,u.jsx)(pe,{isPending:f.isPending,isSubmitting:we,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Subnet`}),e[59]=f.isPending,e[60]=we,e[61]=X,e[62]=Z):Z=e[62];let Q;e[63]!==M||e[64]!==L||e[65]!==H||e[66]!==G||e[67]!==q||e[68]!==Y||e[69]!==Z?(Q=(0,u.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:M,children:[L,H,G,q,Y,Z]}),e[63]=M,e[64]=L,e[65]=H,e[66]=G,e[67]=q,e[68]=Y,e[69]=Z,e[70]=Q):Q=e[70];let $;return e[71]!==j||e[72]!==Q?($=(0,u.jsxs)(u.Fragment,{children:[A,k,j,Q]}),e[71]=j,e[72]=Q,e[73]=$):$=e[73],$}function ve(e){let{field:t}=e;return(0,u.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,u.jsx)(`input`,{"aria-label":`Enable auto-assign public IPv4 address`,checked:t.value??!1,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Enable auto-assign public IPv4 address`]})}function ye(e){return(0,u.jsx)(o,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function be(e){let t=r(e.Tags);return(0,u.jsx)(o,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function xe(e){let t=e(`vpcId`),n=typeof t==`string`?t:``,ee=e(`cidrBlock`),r=typeof ee==`string`?ee:``,i=e(`availabilityZone`),a=typeof i==`string`?i:``,o=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-subnet`},{type:`flag`,value:` \\ --vpc-id`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ --cidr-block`},{type:`value`,value:` ${r||``}`}];a&&o.push({type:`flag`,value:` \\ --availability-zone`},{type:`value`,value:` ${a}`});let s=[{label:`Create Subnet`,parts:o}];return e(`mapPublicIpOnLaunch`)===!0&&s.push({label:`Enable auto-assign public IPv4`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 modify-subnet-attribute`},{type:`flag`,value:` \\ diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js index b1459770c..f74c49957 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js @@ -1,4 +1,4 @@ -import{n as e}from"./compiler-runtime.js";import{t}from"./useSuspenseQuery.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{M as a}from"./ec2.js";import{i as o}from"./elbv2.js";import{i as s,t as c}from"./zod.js";import{t as l}from"./error-banner.js";import{t as u}from"./page-heading.js";import{t as d}from"./form-actions.js";import{t as f}from"./target-group-form.js";import{a as p}from"./elbv23.js";var m=e();function h(){let e=n(),{data:h}=t(a),_=o(),v=h.Vpcs??[],y=s({resolver:c(p),defaultValues:{name:``,protocol:`HTTP`,port:80,vpcId:v[0]?.VpcId??``,healthCheck:{protocol:`HTTP`,path:`/`,port:`traffic-port`,intervalSeconds:30,timeoutSeconds:5,healthyThresholdCount:5,unhealthyThresholdCount:2,matcher:`200`},tags:[]}}),{handleSubmit:b,watch:x,formState:{isSubmitting:S}}=y;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,m.jsx)(u,{title:`Create Target Group`}),_.error&&(0,m.jsx)(l,{error:_.error,msg:`Failed to create target group`}),(0,m.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:b(async t=>{try{let n=(await _.mutateAsync(t)).TargetGroups?.[0]?.TargetGroupArn;e(n?{to:`/ec2/describe-target-groups/$id`,params:{id:encodeURIComponent(n)}}:{to:`/ec2/describe-target-groups`})}catch{}}),children:[(0,m.jsx)(f,{form:y,vpcs:v}),(0,m.jsx)(i,{commands:g(x)}),(0,m.jsx)(d,{isPending:_.isPending,isSubmitting:S,onCancel:async()=>await e({to:`/ec2/describe-target-groups`}),pendingLabel:`Creating…`,submitLabel:`Create Target Group`})]})]})}function g(e){let t=t=>{let n=e(t);return typeof n==`string`?n:``},n=t=>{let n=e(t);return typeof n==`number`&&Number.isFinite(n)?n:void 0},r=t(`name`),i=t(`protocol`)||`HTTP`,a=n(`port`),o=t(`vpcId`),s=t(`healthCheck.protocol`)||`HTTP`,c=t(`healthCheck.path`)||`/`,l=t(`healthCheck.port`)||`traffic-port`,u=n(`healthCheck.intervalSeconds`),d=n(`healthCheck.timeoutSeconds`),f=n(`healthCheck.healthyThresholdCount`),p=n(`healthCheck.unhealthyThresholdCount`),m=t(`healthCheck.matcher`)||`200`,h=[{type:`bin`,value:`AWS_PROFILE=spinifex aws elbv2 create-target-group`},{type:`flag`,value:` \\ +import{n as e}from"./compiler-runtime.js";import{t}from"./useSuspenseQuery.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{M as a}from"./ec2.js";import{i as o}from"./elbv2.js";import{i as s,t as c}from"./zod.js";import{t as l}from"./error-banner.js";import{t as u}from"./form-actions.js";import{t as d}from"./page-heading.js";import{t as f}from"./target-group-form.js";import{a as p}from"./elbv23.js";var m=e();function h(){let e=n(),{data:h}=t(a),_=o(),v=h.Vpcs??[],y=s({resolver:c(p),defaultValues:{name:``,protocol:`HTTP`,port:80,vpcId:v[0]?.VpcId??``,healthCheck:{protocol:`HTTP`,path:`/`,port:`traffic-port`,intervalSeconds:30,timeoutSeconds:5,healthyThresholdCount:5,unhealthyThresholdCount:2,matcher:`200`},tags:[]}}),{handleSubmit:b,watch:x,formState:{isSubmitting:S}}=y;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,m.jsx)(d,{title:`Create Target Group`}),_.error&&(0,m.jsx)(l,{error:_.error,msg:`Failed to create target group`}),(0,m.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:b(async t=>{try{let n=(await _.mutateAsync(t)).TargetGroups?.[0]?.TargetGroupArn;e(n?{to:`/ec2/describe-target-groups/$id`,params:{id:encodeURIComponent(n)}}:{to:`/ec2/describe-target-groups`})}catch{}}),children:[(0,m.jsx)(f,{form:y,vpcs:v}),(0,m.jsx)(i,{commands:g(x)}),(0,m.jsx)(u,{isPending:_.isPending,isSubmitting:S,onCancel:async()=>await e({to:`/ec2/describe-target-groups`}),pendingLabel:`Creating…`,submitLabel:`Create Target Group`})]})]})}function g(e){let t=t=>{let n=e(t);return typeof n==`string`?n:``},n=t=>{let n=e(t);return typeof n==`number`&&Number.isFinite(n)?n:void 0},r=t(`name`),i=t(`protocol`)||`HTTP`,a=n(`port`),o=t(`vpcId`),s=t(`healthCheck.protocol`)||`HTTP`,c=t(`healthCheck.path`)||`/`,l=t(`healthCheck.port`)||`traffic-port`,u=n(`healthCheck.intervalSeconds`),d=n(`healthCheck.timeoutSeconds`),f=n(`healthCheck.healthyThresholdCount`),p=n(`healthCheck.unhealthyThresholdCount`),m=t(`healthCheck.matcher`)||`200`,h=[{type:`bin`,value:`AWS_PROFILE=spinifex aws elbv2 create-target-group`},{type:`flag`,value:` \\ --name`},{type:`value`,value:` ${r||``}`},{type:`flag`,value:` \\ --protocol`},{type:`value`,value:` ${i}`},{type:`flag`,value:` \\ --port`},{type:`value`,value:` ${a??80}`},{type:`flag`,value:` \\ diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-user.js b/spinifex/services/spinifexui/frontend/dist/assets/create-user.js index cdd4aaa5c..a6abca887 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-user.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-user.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{d as l}from"./iam.js";import{a as u,i as d,t as f}from"./zod.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./form-actions.js";import{o as g}from"./iam3.js";var _=t(),v=e();function y(){let e=(0,_.c)(55),t=n(),y=l(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:f(g)},e[0]=b):b=e[0];let{handleSubmit:x,register:S,control:C,formState:w}=d(b),{errors:T,isSubmitting:E}=w,D;e[1]===C?D=e[2]:(D={control:C},e[1]=C,e[2]=D);let O=u(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==y||e[6]!==t?(j=async e=>{await y.mutateAsync(e),t({to:`/iam/list-users`})},e[5]=y,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,v.jsx)(r,{to:`/iam/list-users`,children:`Back to users`}),P=(0,v.jsx)(m,{title:`Create User`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===y.error?F=e[11]:(F=y.error&&(0,v.jsx)(p,{error:y.error,msg:`Failed to create user`}),e[10]=y.error,e[11]=F);let I;e[12]!==x||e[13]!==M?(I=x(M),e[12]=x,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(o,{children:(0,v.jsx)(`label`,{htmlFor:`userName`,children:`User Name`})}),e[15]=L):L=e[15];let R=!!T.userName,z;e[16]===S?z=e[17]:(z=S(`userName`),e[16]=S,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,v.jsx)(a,{"aria-invalid":R,id:`userName`,placeholder:`my-user...`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.userName?V=e[22]:(V=(0,v.jsx)(s,{errors:[T.userName]}),e[21]=T.userName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,v.jsxs)(c,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,v.jsx)(o,{children:(0,v.jsx)(`label`,{htmlFor:`path`,children:`Path (optional)`})}),e[26]=U):U=e[26];let W;e[27]===S?W=e[28]:(W=S(`path`),e[27]=S,e[28]=W);let G;e[29]===W?G=e[30]:(G=(0,v.jsx)(a,{id:`path`,placeholder:`/`,...W}),e[29]=W,e[30]=G);let K;e[31]===T.path?K=e[32]:(K=(0,v.jsx)(s,{errors:[T.path]}),e[31]=T.path,e[32]=K);let q;e[33]!==G||e[34]!==K?(q=(0,v.jsxs)(c,{children:[U,G,K]}),e[33]=G,e[34]=K,e[35]=q):q=e[35];let J;e[36]===A?J=e[37]:(J=ee(A),e[36]=A,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,v.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/iam/list-users`}),e[40]=t,e[41]=X);let Z;e[42]!==y.isPending||e[43]!==E||e[44]!==X?(Z=(0,v.jsx)(h,{isPending:y.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create User`}),e[42]=y.isPending,e[43]=E,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==H||e[47]!==q||e[48]!==Y||e[49]!==Z||e[50]!==I?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[46]=H,e[47]=q,e[48]=Y,e[49]=Z,e[50]=I,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==F?($=(0,v.jsxs)(v.Fragment,{children:[N,P,F,Q]}),e[52]=Q,e[53]=F,e[54]=$):$=e[54],$}function ee(e){let t=e(`userName`),n=typeof t==`string`?t:``,r=e(`path`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-user`},{type:`flag`,value:` --user-name`},{type:`value`,value:` ${n||``}`}];return i&&i!==`/`&&a.push({type:`flag`,value:` --path`},{type:`value`,value:` ${i}`}),[{label:`Create User`,parts:a}]}export{y as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as i}from"./cli-command-panel.js";import{t as a}from"./input.js";import{d as o}from"./iam.js";import{a as s,i as c,t as l}from"./zod.js";import{t as u}from"./error-banner.js";import{t as d}from"./form-actions.js";import{t as f}from"./page-heading.js";import{a as p,r as m,t as h}from"./field.js";import{o as g}from"./iam3.js";var _=t(),v=e();function y(){let e=(0,_.c)(55),t=n(),y=o(),b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={resolver:l(g)},e[0]=b):b=e[0];let{handleSubmit:x,register:S,control:C,formState:w}=c(b),{errors:T,isSubmitting:E}=w,D;e[1]===C?D=e[2]:(D={control:C},e[1]=C,e[2]=D);let O=s(D),k;e[3]===O?k=e[4]:(k=e=>e?O[e]:void 0,e[3]=O,e[4]=k);let A=k,j;e[5]!==y||e[6]!==t?(j=async e=>{await y.mutateAsync(e),t({to:`/iam/list-users`})},e[5]=y,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,v.jsx)(r,{to:`/iam/list-users`,children:`Back to users`}),P=(0,v.jsx)(f,{title:`Create User`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===y.error?F=e[11]:(F=y.error&&(0,v.jsx)(u,{error:y.error,msg:`Failed to create user`}),e[10]=y.error,e[11]=F);let I;e[12]!==x||e[13]!==M?(I=x(M),e[12]=x,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`userName`,children:`User Name`})}),e[15]=L):L=e[15];let R=!!T.userName,z;e[16]===S?z=e[17]:(z=S(`userName`),e[16]=S,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,v.jsx)(a,{"aria-invalid":R,id:`userName`,placeholder:`my-user...`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===T.userName?V=e[22]:(V=(0,v.jsx)(m,{errors:[T.userName]}),e[21]=T.userName,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,v.jsxs)(h,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`path`,children:`Path (optional)`})}),e[26]=U):U=e[26];let W;e[27]===S?W=e[28]:(W=S(`path`),e[27]=S,e[28]=W);let G;e[29]===W?G=e[30]:(G=(0,v.jsx)(a,{id:`path`,placeholder:`/`,...W}),e[29]=W,e[30]=G);let K;e[31]===T.path?K=e[32]:(K=(0,v.jsx)(m,{errors:[T.path]}),e[31]=T.path,e[32]=K);let q;e[33]!==G||e[34]!==K?(q=(0,v.jsxs)(h,{children:[U,G,K]}),e[33]=G,e[34]=K,e[35]=q):q=e[35];let J;e[36]===A?J=e[37]:(J=ee(A),e[36]=A,e[37]=J);let Y;e[38]===J?Y=e[39]:(Y=(0,v.jsx)(i,{commands:J}),e[38]=J,e[39]=Y);let X;e[40]===t?X=e[41]:(X=async()=>await t({to:`/iam/list-users`}),e[40]=t,e[41]=X);let Z;e[42]!==y.isPending||e[43]!==E||e[44]!==X?(Z=(0,v.jsx)(d,{isPending:y.isPending,isSubmitting:E,onCancel:X,pendingLabel:`Creating...`,submitLabel:`Create User`}),e[42]=y.isPending,e[43]=E,e[44]=X,e[45]=Z):Z=e[45];let Q;e[46]!==H||e[47]!==q||e[48]!==Y||e[49]!==Z||e[50]!==I?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[46]=H,e[47]=q,e[48]=Y,e[49]=Z,e[50]=I,e[51]=Q):Q=e[51];let $;return e[52]!==Q||e[53]!==F?($=(0,v.jsxs)(v.Fragment,{children:[N,P,F,Q]}),e[52]=Q,e[53]=F,e[54]=$):$=e[54],$}function ee(e){let t=e(`userName`),n=typeof t==`string`?t:``,r=e(`path`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws iam create-user`},{type:`flag`,value:` --user-name`},{type:`value`,value:` ${n||``}`}];return i&&i!==`/`&&a.push({type:`flag`,value:` --path`},{type:`value`,value:` ${i}`}),[{label:`Create User`,parts:a}]}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js b/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js index dec362880..816e0f835 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as l}from"./select.js";import{t as ee}from"./cli-command-panel.js";import{t as te}from"./input.js";import{a as u,r as d,t as f}from"./field.js";import{r as ne}from"./ec2.js";import{w as re}from"./ec22.js";import{i as ie,n as ae,t as oe}from"./zod.js";import{t as se}from"./error-banner.js";import{t as ce}from"./page-heading.js";import{g as p}from"./ec23.js";import{t as m}from"./form-actions.js";var h=t(),g=e();function _(){let e=(0,h.c)(57),t=r(),{data:o}=n(ne),_=re(),y;e[0]===o.AvailabilityZones?y=e[1]:(y=o.AvailabilityZones??[],e[0]=o.AvailabilityZones,e[1]=y);let b=y,x=b[0]?.ZoneName??``,S;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=oe(p),e[2]=S):S=e[2];let C;e[3]===x?C=e[4]:(C={resolver:S,defaultValues:{size:1,availabilityZone:x}},e[3]=x,e[4]=C);let{control:w,handleSubmit:T,register:E,watch:D,formState:O}=ie(C),{errors:k,isSubmitting:A}=O,j;e[5]!==_||e[6]!==t?(j=async e=>{await _.mutateAsync(e),t({to:`/ec2/describe-volumes`})},e[5]=_,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,g.jsx)(i,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),P=(0,g.jsx)(ce,{title:`Create Volume`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===_.error?F=e[11]:(F=_.error&&(0,g.jsx)(se,{error:_.error,msg:`Failed to create volume`}),e[10]=_.error,e[11]=F);let I;e[12]!==T||e[13]!==M?(I=T(M),e[12]=T,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,g.jsx)(u,{children:(0,g.jsx)(`label`,{htmlFor:`size`,children:`Size (GiB)`})}),e[15]=L):L=e[15];let R=!!k.size,z;e[16]===E?z=e[17]:(z=E(`size`,{valueAsNumber:!0}),e[16]=E,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,g.jsx)(te,{"aria-invalid":R,id:`size`,max:16384,min:1,type:`number`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===k.size?V=e[22]:(V=(0,g.jsx)(d,{errors:[k.size]}),e[21]=k.size,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,g.jsxs)(f,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,g.jsx)(u,{children:(0,g.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone`})}),e[26]=U):U=e[26];let W;e[27]!==b||e[28]!==k.availabilityZone?(W=e=>{let{field:t}=e;return(0,g.jsxs)(l,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,g.jsx)(c,{"aria-invalid":!!k.availabilityZone,className:`w-full`,id:`availabilityZone`,children:(0,g.jsx)(a,{})}),(0,g.jsx)(s,{children:b.map(le)})]})},e[27]=b,e[28]=k.availabilityZone,e[29]=W):W=e[29];let G;e[30]!==w||e[31]!==W?(G=(0,g.jsx)(ae,{control:w,name:`availabilityZone`,render:W}),e[30]=w,e[31]=W,e[32]=G):G=e[32];let K;e[33]===k.availabilityZone?K=e[34]:(K=(0,g.jsx)(d,{errors:[k.availabilityZone]}),e[33]=k.availabilityZone,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,g.jsxs)(f,{children:[U,G,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===D?J=e[39]:(J=v(D),e[38]=D,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,g.jsx)(ee,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=async()=>await t({to:`/ec2/describe-volumes`}),e[42]=t,e[43]=X);let Z;e[44]!==_.isPending||e[45]!==A||e[46]!==X?(Z=(0,g.jsx)(m,{isPending:_.isPending,isSubmitting:A,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Volume`}),e[44]=_.isPending,e[45]=A,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==H||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==I?(Q=(0,g.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[48]=H,e[49]=q,e[50]=Y,e[51]=Z,e[52]=I,e[53]=Q):Q=e[53];let $;return e[54]!==Q||e[55]!==F?($=(0,g.jsxs)(g.Fragment,{children:[N,P,F,Q]}),e[54]=Q,e[55]=F,e[56]=$):$=e[56],$}function le(e){return(0,g.jsx)(o,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function v(e){let t=e(`size`),n=typeof t==`number`?t:0,r=e(`availabilityZone`),i=typeof r==`string`?r:``;return[{label:`Create Volume`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-volume`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as l}from"./select.js";import{t as u}from"./cli-command-panel.js";import{t as ee}from"./input.js";import{r as te}from"./ec2.js";import{w as ne}from"./ec22.js";import{i as re,n as ie,t as ae}from"./zod.js";import{t as oe}from"./error-banner.js";import{t as se}from"./form-actions.js";import{t as ce}from"./page-heading.js";import{a as d,r as f,t as p}from"./field.js";import{g as m}from"./ec23.js";var h=t(),g=e();function _(){let e=(0,h.c)(57),t=r(),{data:o}=n(te),_=ne(),y;e[0]===o.AvailabilityZones?y=e[1]:(y=o.AvailabilityZones??[],e[0]=o.AvailabilityZones,e[1]=y);let b=y,x=b[0]?.ZoneName??``,S;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=ae(m),e[2]=S):S=e[2];let C;e[3]===x?C=e[4]:(C={resolver:S,defaultValues:{size:1,availabilityZone:x}},e[3]=x,e[4]=C);let{control:w,handleSubmit:T,register:E,watch:D,formState:O}=re(C),{errors:k,isSubmitting:A}=O,j;e[5]!==_||e[6]!==t?(j=async e=>{await _.mutateAsync(e),t({to:`/ec2/describe-volumes`})},e[5]=_,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,g.jsx)(i,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),P=(0,g.jsx)(ce,{title:`Create Volume`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===_.error?F=e[11]:(F=_.error&&(0,g.jsx)(oe,{error:_.error,msg:`Failed to create volume`}),e[10]=_.error,e[11]=F);let I;e[12]!==T||e[13]!==M?(I=T(M),e[12]=T,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:`size`,children:`Size (GiB)`})}),e[15]=L):L=e[15];let R=!!k.size,z;e[16]===E?z=e[17]:(z=E(`size`,{valueAsNumber:!0}),e[16]=E,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,g.jsx)(ee,{"aria-invalid":R,id:`size`,max:16384,min:1,type:`number`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===k.size?V=e[22]:(V=(0,g.jsx)(f,{errors:[k.size]}),e[21]=k.size,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,g.jsxs)(p,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone`})}),e[26]=U):U=e[26];let W;e[27]!==b||e[28]!==k.availabilityZone?(W=e=>{let{field:t}=e;return(0,g.jsxs)(l,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,g.jsx)(c,{"aria-invalid":!!k.availabilityZone,className:`w-full`,id:`availabilityZone`,children:(0,g.jsx)(a,{})}),(0,g.jsx)(s,{children:b.map(le)})]})},e[27]=b,e[28]=k.availabilityZone,e[29]=W):W=e[29];let G;e[30]!==w||e[31]!==W?(G=(0,g.jsx)(ie,{control:w,name:`availabilityZone`,render:W}),e[30]=w,e[31]=W,e[32]=G):G=e[32];let K;e[33]===k.availabilityZone?K=e[34]:(K=(0,g.jsx)(f,{errors:[k.availabilityZone]}),e[33]=k.availabilityZone,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,g.jsxs)(p,{children:[U,G,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===D?J=e[39]:(J=v(D),e[38]=D,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,g.jsx)(u,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=async()=>await t({to:`/ec2/describe-volumes`}),e[42]=t,e[43]=X);let Z;e[44]!==_.isPending||e[45]!==A||e[46]!==X?(Z=(0,g.jsx)(se,{isPending:_.isPending,isSubmitting:A,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Volume`}),e[44]=_.isPending,e[45]=A,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==H||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==I?(Q=(0,g.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[48]=H,e[49]=q,e[50]=Y,e[51]=Z,e[52]=I,e[53]=Q):Q=e[53];let $;return e[54]!==Q||e[55]!==F?($=(0,g.jsxs)(g.Fragment,{children:[N,P,F,Q]}),e[54]=Q,e[55]=F,e[56]=$):$=e[56],$}function le(e){return(0,g.jsx)(o,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function v(e){let t=e(`size`),n=typeof t==`number`?t:0,r=e(`availabilityZone`),i=typeof r==`string`?r:``;return[{label:`Create Volume`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-volume`},{type:`flag`,value:` \\ --size`},{type:`value`,value:` ${n||1}`},{type:`flag`,value:` \\ --availability-zone`},{type:`value`,value:` ${i||``}`}]}]}export{_ as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js b/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js index 01e8e3a55..cd9106b06 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js @@ -1,4 +1,4 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{t as o}from"./chevron-down.js";import{t as s}from"./chevron-right.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./cli-command-panel.js";import{t as ee}from"./button.js";import{t as te}from"./input.js";import{a as m,r as h,t as g}from"./field.js";import{E as ne,T as re}from"./ec22.js";import{a as ie,i as ae,n as _,t as oe}from"./zod.js";import{t as se}from"./error-banner.js";import{t as ce}from"./page-heading.js";import{t as le}from"./subnet-calculator.js";import{_ as ue}from"./ec23.js";import{t as de}from"./form-actions.js";var fe=r(),pe=e(n(),1),v=t();function me(e){let t=(0,fe.c)(18),{form:n,type:r,count:i,defaults:a}=e,[c,l]=(0,pe.useState)(!1),u=r===`public`?`publicSubnetCidrs`:`privateSubnetCidrs`;if(i===0)return null;let d;t[0]===c?d=t[1]:(d=()=>l(!c),t[0]=c,t[1]=d);let f;t[2]===c?f=t[3]:(f=c?(0,v.jsx)(o,{className:`size-3`}):(0,v.jsx)(s,{className:`size-3`}),t[2]=c,t[3]=f);let p;t[4]!==d||t[5]!==f||t[6]!==r?(p=(0,v.jsxs)(ee,{className:`gap-1 px-0 text-xs text-muted-foreground`,onClick:d,type:`button`,variant:`link`,children:[f,`Customize `,r,` subnet CIDR blocks`]}),t[4]=d,t[5]=f,t[6]=r,t[7]=p):p=t[7];let m;t[8]!==i||t[9]!==a||t[10]!==c||t[11]!==u||t[12]!==n||t[13]!==r?(m=c&&(0,v.jsx)(`div`,{className:`mt-2 space-y-2`,children:Array.from({length:i},(e,t)=>(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,v.jsxs)(`span`,{className:`w-32 text-xs text-muted-foreground`,children:[r===`public`?`Public`:`Private`,` subnet `,t+1]}),(0,v.jsx)(te,{defaultValue:a[t],placeholder:a[t],...n.register(`${u}.${t}`)})]},t))}),t[8]=i,t[9]=a,t[10]=c,t[11]=u,t[12]=n,t[13]=r,t[14]=m):m=t[14];let h;return t[15]!==p||t[16]!==m?(h=(0,v.jsxs)(`div`,{className:`mt-2`,children:[p,m]}),t[15]=p,t[16]=m,t[17]=h):h=t[17],h}function y(e){let t=(0,fe.c)(8),{label:n,cidr:r,variant:i}=e,a=`rounded-md border px-3 py-2 text-xs ${i===`public`?`border-emerald-500/30 bg-emerald-500/10`:`border-blue-500/30 bg-blue-500/10`}`,o;t[0]===n?o=t[1]:(o=(0,v.jsx)(`div`,{className:`font-medium`,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,v.jsx)(`div`,{className:`text-muted-foreground`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==a||t[5]!==o||t[6]!==s?(c=(0,v.jsxs)(`div`,{className:a,children:[o,s]}),t[4]=a,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function he(e){let t=(0,fe.c)(14),{mode:n,vpcCidr:r,publicSubnets:i,privateSubnets:a,hasIgw:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,v.jsx)(`h3`,{className:`mb-3 text-xs font-semibold tracking-wider text-muted-foreground uppercase`,children:`Preview`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,v.jsxs)(`div`,{className:`mb-3 text-xs font-medium`,children:[`VPC `,(0,v.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,r,`)`]})]}),t[1]=r,t[2]=c);let l;t[3]!==o||t[4]!==n||t[5]!==a||t[6]!==i?(l=n===`vpc-and-more`&&(0,v.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Subnets`}),i.map(b),a.map(ge),i.length===0&&a.length===0&&(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No subnets`})]}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Route Tables`}),i.length>0&&(0,v.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,v.jsx)(`div`,{className:`font-medium`,children:`Public Route Table`}),(0,v.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`0.0.0.0/0 → IGW`}),(0,v.jsx)(`div`,{className:`text-muted-foreground`,children:`local`})]}),a.length>0&&(0,v.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,v.jsx)(`div`,{className:`font-medium`,children:`Private Route Table`}),(0,v.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`local`})]})]}),(0,v.jsxs)(`div`,{className:`space-y-2`,children:[(0,v.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Network Connections`}),o&&(0,v.jsxs)(`div`,{className:`rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs`,children:[(0,v.jsx)(`div`,{className:`font-medium`,children:`Internet Gateway`}),(0,v.jsx)(`div`,{className:`text-muted-foreground`,children:`Attached to VPC`})]}),!o&&(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No internet gateway`})]})]}),t[3]=o,t[4]=n,t[5]=a,t[6]=i,t[7]=l):l=t[7];let u;t[8]===n?u=t[9]:(u=n===`vpc-only`&&(0,v.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`VPC only — no additional resources will be created.`}),t[8]=n,t[9]=u);let d;return t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,v.jsxs)(`div`,{className:`rounded-lg border bg-muted/30 p-4`,children:[s,(0,v.jsxs)(`div`,{className:`rounded-lg border-2 border-dashed border-foreground/20 p-4`,children:[c,l,u]})]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13],d}function ge(e){return(0,v.jsx)(y,{cidr:e.cidr,label:e.label,variant:`private`},e.cidr)}function b(e){return(0,v.jsx)(y,{cidr:e.cidr,label:e.label,variant:`public`},e.cidr)}var _e=[0,1],x=[0,1,2];function S(){let e=(0,fe.c)(86),t=i(),n=re(),r=ne(),[o,s]=(0,pe.useState)(null),c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=oe(ue),e[0]=c):c=e[0];let l;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(l={resolver:c,defaultValues:{mode:`vpc-only`,namePrefix:``,autoGenerateNames:!0,cidrBlock:`10.0.0.0/16`,tenancy:`default`,natGateway:`none`,publicSubnetCount:1,privateSubnetCount:1,publicSubnetCidrs:[],privateSubnetCidrs:[],tags:[]}},e[1]=l):l=e[1];let u=ae(l),{handleSubmit:d,register:f,watch:ee,control:y,formState:ge}=u,{errors:b,isSubmitting:_e}=ge,x;e[2]===y?x=e[3]:(x={control:y,name:`mode`},e[2]=y,e[3]=x);let S=ie(x),C;e[4]===y?C=e[5]:(C={control:y,name:`cidrBlock`},e[4]=y,e[5]=C);let Oe=ie(C),w;e[6]===y?w=e[7]:(w={control:y,name:`publicSubnetCount`},e[6]=y,e[7]=w);let T=ie(w),E;e[8]===y?E=e[9]:(E={control:y,name:`privateSubnetCount`},e[8]=y,e[9]=E);let ke=ie(E),D=le(Oe||`10.0.0.0/16`,S===`vpc-and-more`?T:0,S===`vpc-and-more`?ke:0),[O,Ae]=(0,pe.useState)(``),je;e[10]!==n||e[11]!==t||e[12]!==r?(je=async e=>{if(s(null),e.mode===`vpc-only`){let r=e.autoGenerateNames&&e.namePrefix?`${e.namePrefix}-vpc`:e.namePrefix,i=(await n.mutateAsync({cidrBlock:e.cidrBlock,name:r||void 0})).Vpc?.VpcId;t(i?{to:`/ec2/describe-vpcs/$id`,params:{id:i}}:{to:`/ec2/describe-vpcs`});return}Ae(`Creating VPC and resources...`);let i=await r.mutateAsync(e);s(i),!i.error&&i.vpcId&&t({to:`/ec2/describe-vpcs/$id`,params:{id:i.vpcId}}),Ae(``)},e[10]=n,e[11]=t,e[12]=r,e[13]=je):je=e[13];let Me=je,Ne=n.error??r.error,Pe=n.isPending||r.isPending,k,A;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,v.jsx)(a,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),A=(0,v.jsx)(ce,{title:`Create VPC`}),e[14]=k,e[15]=A):(k=e[14],A=e[15]);let j;e[16]===Ne?j=e[17]:(j=Ne&&(0,v.jsx)(se,{error:Ne,msg:`Failed to create VPC`}),e[16]=Ne,e[17]=j);let M;e[18]===o?M=e[19]:(M=o?.error&&(0,v.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,v.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,o.failedStep]}),(0,v.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:o.error.message}),o.created.length>0&&(0,v.jsxs)(`div`,{className:`mt-3`,children:[(0,v.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources:`}),(0,v.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:o.created.map(Ee)})]})]}),e[18]=o,e[19]=M);let N;e[20]===O?N=e[21]:(N=O&&(0,v.jsx)(`div`,{className:`mb-4 max-w-4xl text-sm text-muted-foreground`,children:O}),e[20]=O,e[21]=N);let P;e[22]!==d||e[23]!==Me?(P=d(Me),e[22]=d,e[23]=Me,e[24]=P):P=e[24];let F;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,v.jsx)(m,{children:`Resources to create`}),e[25]=F):F=e[25];let I;e[26]===y?I=e[27]:(I=(0,v.jsxs)(g,{children:[F,(0,v.jsx)(_,{control:y,name:`mode`,render:Te})]}),e[26]=y,e[27]=I);let L;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,v.jsx)(m,{children:(0,v.jsx)(`label`,{htmlFor:`namePrefix`,children:`Name tag auto-generation`})}),e[28]=L):L=e[28];let R;e[29]===f?R=e[30]:(R=f(`namePrefix`),e[29]=f,e[30]=R);let z;e[31]===R?z=e[32]:(z=(0,v.jsx)(te,{id:`namePrefix`,placeholder:`project`,...R}),e[31]=R,e[32]=z);let B;e[33]===y?B=e[34]:(B=(0,v.jsx)(_,{control:y,name:`autoGenerateNames`,render:we}),e[33]=y,e[34]=B);let V;e[35]!==z||e[36]!==B?(V=(0,v.jsxs)(g,{children:[L,(0,v.jsxs)(`div`,{className:`flex items-center gap-3`,children:[z,B]})]}),e[35]=z,e[36]=B,e[37]=V):V=e[37];let H;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,v.jsx)(m,{children:(0,v.jsx)(`label`,{htmlFor:`cidrBlock`,children:`IPv4 CIDR block`})}),e[38]=H):H=e[38];let Fe=!!b.cidrBlock,U;e[39]===f?U=e[40]:(U=f(`cidrBlock`),e[39]=f,e[40]=U);let W;e[41]!==Fe||e[42]!==U?(W=(0,v.jsx)(te,{"aria-invalid":Fe,id:`cidrBlock`,placeholder:`10.0.0.0/16`,...U}),e[41]=Fe,e[42]=U,e[43]=W):W=e[43];let G;e[44]===b.cidrBlock?G=e[45]:(G=(0,v.jsx)(h,{errors:[b.cidrBlock]}),e[44]=b.cidrBlock,e[45]=G);let K;e[46]!==W||e[47]!==G?(K=(0,v.jsxs)(g,{children:[H,W,G]}),e[46]=W,e[47]=G,e[48]=K):K=e[48];let Ie;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,v.jsx)(m,{children:`Tenancy`}),e[49]=Ie):Ie=e[49];let q;e[50]===y?q=e[51]:(q=(0,v.jsxs)(g,{children:[Ie,(0,v.jsx)(_,{control:y,name:`tenancy`,render:Ce})]}),e[50]=y,e[51]=q);let Le=S===`vpc-and-more`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(g,{children:[(0,v.jsx)(m,{children:`Number of public subnets`}),(0,v.jsx)(_,{control:y,name:`publicSubnetCount`,render:Se}),(0,v.jsx)(me,{count:T,defaults:D.publicSubnets.map(xe),form:u,type:`public`})]}),(0,v.jsxs)(g,{children:[(0,v.jsx)(m,{children:`Number of private subnets`}),(0,v.jsx)(_,{control:y,name:`privateSubnetCount`,render:be}),(0,v.jsx)(me,{count:ke,defaults:D.privateSubnets.map(ye),form:u,type:`private`})]}),T>0&&ke>0&&(0,v.jsxs)(g,{children:[(0,v.jsx)(m,{children:`NAT gateways`}),(0,v.jsx)(_,{control:y,name:`natGateway`,render:ve}),(0,v.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Creates an Elastic IP + NAT gateway in the public subnet and routes private subnet egress (0.0.0.0/0) through it.`})]})]}),Re=p,ze=De(ee,D),J;e[52]!==Re||e[53]!==ze?(J=(0,v.jsx)(Re,{commands:ze}),e[52]=Re,e[53]=ze,e[54]=J):J=e[54];let Y;e[55]===t?Y=e[56]:(Y=async()=>await t({to:`/ec2/describe-vpcs`}),e[55]=t,e[56]=Y);let X;e[57]!==Pe||e[58]!==_e||e[59]!==Y?(X=(0,v.jsx)(de,{isPending:Pe,isSubmitting:_e,onCancel:Y,pendingLabel:`Creating…`,submitLabel:`Create VPC`}),e[57]=Pe,e[58]=_e,e[59]=Y,e[60]=X):X=e[60];let Z;e[61]!==P||e[62]!==I||e[63]!==V||e[64]!==K||e[65]!==q||e[66]!==Le||e[67]!==J||e[68]!==X?(Z=(0,v.jsxs)(`form`,{className:`min-w-0 flex-1 space-y-6`,onSubmit:P,children:[I,V,K,q,Le,J,X]}),e[61]=P,e[62]=I,e[63]=V,e[64]=K,e[65]=q,e[66]=Le,e[67]=J,e[68]=X,e[69]=Z):Z=e[69];let Be=S===`vpc-and-more`&&T>0,Ve=Oe||`10.0.0.0/16`,Q;e[70]!==S||e[71]!==D.privateSubnets||e[72]!==D.publicSubnets||e[73]!==Be||e[74]!==Ve?(Q=(0,v.jsx)(`div`,{className:`hidden min-w-0 flex-1 lg:block`,children:(0,v.jsx)(he,{hasIgw:Be,mode:S,privateSubnets:D.privateSubnets,publicSubnets:D.publicSubnets,vpcCidr:Ve})}),e[70]=S,e[71]=D.privateSubnets,e[72]=D.publicSubnets,e[73]=Be,e[74]=Ve,e[75]=Q):Q=e[75];let $;e[76]!==Z||e[77]!==Q?($=(0,v.jsxs)(`div`,{className:`flex max-w-6xl gap-8`,children:[Z,Q]}),e[76]=Z,e[77]=Q,e[78]=$):$=e[78];let He;return e[79]!==j||e[80]!==M||e[81]!==N||e[82]!==$||e[83]!==k||e[84]!==A?(He=(0,v.jsxs)(v.Fragment,{children:[k,A,j,M,N,$]}),e[79]=j,e[80]=M,e[81]=N,e[82]=$,e[83]=k,e[84]=A,e[85]=He):He=e[85],He}function ve(e){let{field:t}=e;return(0,v.jsxs)(f,{onValueChange:t.onChange,value:t.value??`none`,children:[(0,v.jsx)(d,{id:`natGateway`,children:(0,v.jsx)(c,{})}),(0,v.jsxs)(u,{children:[(0,v.jsx)(l,{value:`none`,children:`None`}),(0,v.jsx)(l,{value:`single`,children:`In 1 AZ`})]})]})}function ye(e){return e.cidr}function be(e){let{field:t}=e;return(0,v.jsx)(`div`,{className:`flex gap-1`,children:x.map(e=>(0,v.jsx)(ee,{onClick:()=>t.onChange(e),size:`sm`,type:`button`,variant:t.value===e?`default`:`outline`,children:e},e))})}function xe(e){return e.cidr}function Se(e){let{field:t}=e;return(0,v.jsx)(`div`,{className:`flex gap-1`,children:_e.map(e=>(0,v.jsx)(ee,{onClick:()=>t.onChange(e),size:`sm`,type:`button`,variant:t.value===e?`default`:`outline`,children:e},e))})}function Ce(e){let{field:t}=e;return(0,v.jsxs)(f,{onValueChange:t.onChange,value:t.value,children:[(0,v.jsx)(d,{id:`tenancy`,children:(0,v.jsx)(c,{})}),(0,v.jsxs)(u,{children:[(0,v.jsx)(l,{value:`default`,children:`default`}),(0,v.jsx)(l,{value:`dedicated`,children:`dedicated`})]})]})}function we(e){let{field:t}=e;return(0,v.jsxs)(`label`,{className:`flex shrink-0 items-center gap-2 text-xs`,children:[(0,v.jsx)(`input`,{"aria-label":`Auto-generate name tags`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Auto-generate`]})}function Te(e){let{field:t}=e;return(0,v.jsxs)(`div`,{className:`flex gap-4`,children:[(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,v.jsx)(`input`,{"aria-label":`VPC only`,checked:t.value===`vpc-only`,name:`mode`,onChange:()=>t.onChange(`vpc-only`),type:`radio`}),`VPC only`]}),(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,v.jsx)(`input`,{"aria-label":`VPC and more`,checked:t.value===`vpc-and-more`,name:`mode`,onChange:()=>t.onChange(`vpc-and-more`),type:`radio`}),`VPC and more`]})]})}function Ee(e,t){return(0,v.jsxs)(`li`,{children:[e.type,`: `,e.id]},t)}function De(e,t){let n=e(`mode`),r=typeof n==`string`?n:``,i=e(`cidrBlock`),a=typeof i==`string`?i:``,o=e(`tenancy`),s=typeof o==`string`?o:``,c=e(`natGateway`),l=typeof c==`string`?c:``;if(r===`vpc-only`){let e=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-vpc`},{type:`flag`,value:` \\ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{t as o}from"./chevron-down.js";import{t as s}from"./chevron-right.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./cli-command-panel.js";import{t as m}from"./button.js";import{t as ee}from"./input.js";import{E as h,T as g}from"./ec22.js";import{a as te,i as ne,n as _,t as re}from"./zod.js";import{t as ie}from"./error-banner.js";import{t as ae}from"./form-actions.js";import{t as oe}from"./page-heading.js";import{a as v,r as se,t as y}from"./field.js";import{t as ce}from"./subnet-calculator.js";import{_ as le}from"./ec23.js";var b=r(),ue=e(n(),1),x=t();function de(e){let t=(0,b.c)(18),{form:n,type:r,count:i,defaults:a}=e,[c,l]=(0,ue.useState)(!1),u=r===`public`?`publicSubnetCidrs`:`privateSubnetCidrs`;if(i===0)return null;let d;t[0]===c?d=t[1]:(d=()=>l(!c),t[0]=c,t[1]=d);let f;t[2]===c?f=t[3]:(f=c?(0,x.jsx)(o,{className:`size-3`}):(0,x.jsx)(s,{className:`size-3`}),t[2]=c,t[3]=f);let p;t[4]!==d||t[5]!==f||t[6]!==r?(p=(0,x.jsxs)(m,{className:`gap-1 px-0 text-xs text-muted-foreground`,onClick:d,type:`button`,variant:`link`,children:[f,`Customize `,r,` subnet CIDR blocks`]}),t[4]=d,t[5]=f,t[6]=r,t[7]=p):p=t[7];let h;t[8]!==i||t[9]!==a||t[10]!==c||t[11]!==u||t[12]!==n||t[13]!==r?(h=c&&(0,x.jsx)(`div`,{className:`mt-2 space-y-2`,children:Array.from({length:i},(e,t)=>(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(`span`,{className:`w-32 text-xs text-muted-foreground`,children:[r===`public`?`Public`:`Private`,` subnet `,t+1]}),(0,x.jsx)(ee,{defaultValue:a[t],placeholder:a[t],...n.register(`${u}.${t}`)})]},t))}),t[8]=i,t[9]=a,t[10]=c,t[11]=u,t[12]=n,t[13]=r,t[14]=h):h=t[14];let g;return t[15]!==p||t[16]!==h?(g=(0,x.jsxs)(`div`,{className:`mt-2`,children:[p,h]}),t[15]=p,t[16]=h,t[17]=g):g=t[17],g}function S(e){let t=(0,b.c)(8),{label:n,cidr:r,variant:i}=e,a=`rounded-md border px-3 py-2 text-xs ${i===`public`?`border-emerald-500/30 bg-emerald-500/10`:`border-blue-500/30 bg-blue-500/10`}`,o;t[0]===n?o=t[1]:(o=(0,x.jsx)(`div`,{className:`font-medium`,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,x.jsx)(`div`,{className:`text-muted-foreground`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==a||t[5]!==o||t[6]!==s?(c=(0,x.jsxs)(`div`,{className:a,children:[o,s]}),t[4]=a,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function fe(e){let t=(0,b.c)(14),{mode:n,vpcCidr:r,publicSubnets:i,privateSubnets:a,hasIgw:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,x.jsx)(`h3`,{className:`mb-3 text-xs font-semibold tracking-wider text-muted-foreground uppercase`,children:`Preview`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,x.jsxs)(`div`,{className:`mb-3 text-xs font-medium`,children:[`VPC `,(0,x.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,r,`)`]})]}),t[1]=r,t[2]=c);let l;t[3]!==o||t[4]!==n||t[5]!==a||t[6]!==i?(l=n===`vpc-and-more`&&(0,x.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Subnets`}),i.map(C),a.map(pe),i.length===0&&a.length===0&&(0,x.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No subnets`})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Route Tables`}),i.length>0&&(0,x.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,x.jsx)(`div`,{className:`font-medium`,children:`Public Route Table`}),(0,x.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`0.0.0.0/0 → IGW`}),(0,x.jsx)(`div`,{className:`text-muted-foreground`,children:`local`})]}),a.length>0&&(0,x.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,x.jsx)(`div`,{className:`font-medium`,children:`Private Route Table`}),(0,x.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`local`})]})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Network Connections`}),o&&(0,x.jsxs)(`div`,{className:`rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs`,children:[(0,x.jsx)(`div`,{className:`font-medium`,children:`Internet Gateway`}),(0,x.jsx)(`div`,{className:`text-muted-foreground`,children:`Attached to VPC`})]}),!o&&(0,x.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No internet gateway`})]})]}),t[3]=o,t[4]=n,t[5]=a,t[6]=i,t[7]=l):l=t[7];let u;t[8]===n?u=t[9]:(u=n===`vpc-only`&&(0,x.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`VPC only — no additional resources will be created.`}),t[8]=n,t[9]=u);let d;return t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,x.jsxs)(`div`,{className:`rounded-lg border bg-muted/30 p-4`,children:[s,(0,x.jsxs)(`div`,{className:`rounded-lg border-2 border-dashed border-foreground/20 p-4`,children:[c,l,u]})]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13],d}function pe(e){return(0,x.jsx)(S,{cidr:e.cidr,label:e.label,variant:`private`},e.cidr)}function C(e){return(0,x.jsx)(S,{cidr:e.cidr,label:e.label,variant:`public`},e.cidr)}var me=[0,1],w=[0,1,2];function T(){let e=(0,b.c)(86),t=i(),n=g(),r=h(),[o,s]=(0,ue.useState)(null),c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=re(le),e[0]=c):c=e[0];let l;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(l={resolver:c,defaultValues:{mode:`vpc-only`,namePrefix:``,autoGenerateNames:!0,cidrBlock:`10.0.0.0/16`,tenancy:`default`,natGateway:`none`,publicSubnetCount:1,privateSubnetCount:1,publicSubnetCidrs:[],privateSubnetCidrs:[],tags:[]}},e[1]=l):l=e[1];let u=ne(l),{handleSubmit:d,register:f,watch:m,control:S,formState:pe}=u,{errors:C,isSubmitting:me}=pe,w;e[2]===S?w=e[3]:(w={control:S,name:`mode`},e[2]=S,e[3]=w);let T=te(w),E;e[4]===S?E=e[5]:(E={control:S,name:`cidrBlock`},e[4]=S,e[5]=E);let Te=te(E),D;e[6]===S?D=e[7]:(D={control:S,name:`publicSubnetCount`},e[6]=S,e[7]=D);let O=te(D),k;e[8]===S?k=e[9]:(k={control:S,name:`privateSubnetCount`},e[8]=S,e[9]=k);let Ee=te(k),A=ce(Te||`10.0.0.0/16`,T===`vpc-and-more`?O:0,T===`vpc-and-more`?Ee:0),[De,Oe]=(0,ue.useState)(``),ke;e[10]!==n||e[11]!==t||e[12]!==r?(ke=async e=>{if(s(null),e.mode===`vpc-only`){let r=e.autoGenerateNames&&e.namePrefix?`${e.namePrefix}-vpc`:e.namePrefix,i=(await n.mutateAsync({cidrBlock:e.cidrBlock,name:r||void 0})).Vpc?.VpcId;t(i?{to:`/ec2/describe-vpcs/$id`,params:{id:i}}:{to:`/ec2/describe-vpcs`});return}Oe(`Creating VPC and resources...`);let i=await r.mutateAsync(e);s(i),!i.error&&i.vpcId&&t({to:`/ec2/describe-vpcs/$id`,params:{id:i.vpcId}}),Oe(``)},e[10]=n,e[11]=t,e[12]=r,e[13]=ke):ke=e[13];let Ae=ke,je=n.error??r.error,Me=n.isPending||r.isPending,j,M;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,x.jsx)(a,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),M=(0,x.jsx)(oe,{title:`Create VPC`}),e[14]=j,e[15]=M):(j=e[14],M=e[15]);let N;e[16]===je?N=e[17]:(N=je&&(0,x.jsx)(ie,{error:je,msg:`Failed to create VPC`}),e[16]=je,e[17]=N);let P;e[18]===o?P=e[19]:(P=o?.error&&(0,x.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,x.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,o.failedStep]}),(0,x.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:o.error.message}),o.created.length>0&&(0,x.jsxs)(`div`,{className:`mt-3`,children:[(0,x.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources:`}),(0,x.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:o.created.map(Ce)})]})]}),e[18]=o,e[19]=P);let F;e[20]===De?F=e[21]:(F=De&&(0,x.jsx)(`div`,{className:`mb-4 max-w-4xl text-sm text-muted-foreground`,children:De}),e[20]=De,e[21]=F);let I;e[22]!==d||e[23]!==Ae?(I=d(Ae),e[22]=d,e[23]=Ae,e[24]=I):I=e[24];let Ne;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,x.jsx)(v,{children:`Resources to create`}),e[25]=Ne):Ne=e[25];let L;e[26]===S?L=e[27]:(L=(0,x.jsxs)(y,{children:[Ne,(0,x.jsx)(_,{control:S,name:`mode`,render:Se})]}),e[26]=S,e[27]=L);let R;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,x.jsx)(v,{children:(0,x.jsx)(`label`,{htmlFor:`namePrefix`,children:`Name tag auto-generation`})}),e[28]=R):R=e[28];let z;e[29]===f?z=e[30]:(z=f(`namePrefix`),e[29]=f,e[30]=z);let B;e[31]===z?B=e[32]:(B=(0,x.jsx)(ee,{id:`namePrefix`,placeholder:`project`,...z}),e[31]=z,e[32]=B);let V;e[33]===S?V=e[34]:(V=(0,x.jsx)(_,{control:S,name:`autoGenerateNames`,render:xe}),e[33]=S,e[34]=V);let H;e[35]!==B||e[36]!==V?(H=(0,x.jsxs)(y,{children:[R,(0,x.jsxs)(`div`,{className:`flex items-center gap-3`,children:[B,V]})]}),e[35]=B,e[36]=V,e[37]=H):H=e[37];let Pe;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=(0,x.jsx)(v,{children:(0,x.jsx)(`label`,{htmlFor:`cidrBlock`,children:`IPv4 CIDR block`})}),e[38]=Pe):Pe=e[38];let Fe=!!C.cidrBlock,U;e[39]===f?U=e[40]:(U=f(`cidrBlock`),e[39]=f,e[40]=U);let W;e[41]!==Fe||e[42]!==U?(W=(0,x.jsx)(ee,{"aria-invalid":Fe,id:`cidrBlock`,placeholder:`10.0.0.0/16`,...U}),e[41]=Fe,e[42]=U,e[43]=W):W=e[43];let G;e[44]===C.cidrBlock?G=e[45]:(G=(0,x.jsx)(se,{errors:[C.cidrBlock]}),e[44]=C.cidrBlock,e[45]=G);let K;e[46]!==W||e[47]!==G?(K=(0,x.jsxs)(y,{children:[Pe,W,G]}),e[46]=W,e[47]=G,e[48]=K):K=e[48];let Ie;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,x.jsx)(v,{children:`Tenancy`}),e[49]=Ie):Ie=e[49];let q;e[50]===S?q=e[51]:(q=(0,x.jsxs)(y,{children:[Ie,(0,x.jsx)(_,{control:S,name:`tenancy`,render:be})]}),e[50]=S,e[51]=q);let Le=T===`vpc-and-more`&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{children:`Number of public subnets`}),(0,x.jsx)(_,{control:S,name:`publicSubnetCount`,render:ye}),(0,x.jsx)(de,{count:O,defaults:A.publicSubnets.map(ve),form:u,type:`public`})]}),(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{children:`Number of private subnets`}),(0,x.jsx)(_,{control:S,name:`privateSubnetCount`,render:_e}),(0,x.jsx)(de,{count:Ee,defaults:A.privateSubnets.map(ge),form:u,type:`private`})]}),O>0&&Ee>0&&(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{children:`NAT gateways`}),(0,x.jsx)(_,{control:S,name:`natGateway`,render:he}),(0,x.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Creates an Elastic IP + NAT gateway in the public subnet and routes private subnet egress (0.0.0.0/0) through it.`})]})]}),Re=p,ze=we(m,A),J;e[52]!==Re||e[53]!==ze?(J=(0,x.jsx)(Re,{commands:ze}),e[52]=Re,e[53]=ze,e[54]=J):J=e[54];let Y;e[55]===t?Y=e[56]:(Y=async()=>await t({to:`/ec2/describe-vpcs`}),e[55]=t,e[56]=Y);let X;e[57]!==Me||e[58]!==me||e[59]!==Y?(X=(0,x.jsx)(ae,{isPending:Me,isSubmitting:me,onCancel:Y,pendingLabel:`Creating…`,submitLabel:`Create VPC`}),e[57]=Me,e[58]=me,e[59]=Y,e[60]=X):X=e[60];let Z;e[61]!==I||e[62]!==L||e[63]!==H||e[64]!==K||e[65]!==q||e[66]!==Le||e[67]!==J||e[68]!==X?(Z=(0,x.jsxs)(`form`,{className:`min-w-0 flex-1 space-y-6`,onSubmit:I,children:[L,H,K,q,Le,J,X]}),e[61]=I,e[62]=L,e[63]=H,e[64]=K,e[65]=q,e[66]=Le,e[67]=J,e[68]=X,e[69]=Z):Z=e[69];let Be=T===`vpc-and-more`&&O>0,Ve=Te||`10.0.0.0/16`,Q;e[70]!==T||e[71]!==A.privateSubnets||e[72]!==A.publicSubnets||e[73]!==Be||e[74]!==Ve?(Q=(0,x.jsx)(`div`,{className:`hidden min-w-0 flex-1 lg:block`,children:(0,x.jsx)(fe,{hasIgw:Be,mode:T,privateSubnets:A.privateSubnets,publicSubnets:A.publicSubnets,vpcCidr:Ve})}),e[70]=T,e[71]=A.privateSubnets,e[72]=A.publicSubnets,e[73]=Be,e[74]=Ve,e[75]=Q):Q=e[75];let $;e[76]!==Z||e[77]!==Q?($=(0,x.jsxs)(`div`,{className:`flex max-w-6xl gap-8`,children:[Z,Q]}),e[76]=Z,e[77]=Q,e[78]=$):$=e[78];let He;return e[79]!==N||e[80]!==P||e[81]!==F||e[82]!==$||e[83]!==j||e[84]!==M?(He=(0,x.jsxs)(x.Fragment,{children:[j,M,N,P,F,$]}),e[79]=N,e[80]=P,e[81]=F,e[82]=$,e[83]=j,e[84]=M,e[85]=He):He=e[85],He}function he(e){let{field:t}=e;return(0,x.jsxs)(f,{onValueChange:t.onChange,value:t.value??`none`,children:[(0,x.jsx)(d,{id:`natGateway`,children:(0,x.jsx)(c,{})}),(0,x.jsxs)(u,{children:[(0,x.jsx)(l,{value:`none`,children:`None`}),(0,x.jsx)(l,{value:`single`,children:`In 1 AZ`})]})]})}function ge(e){return e.cidr}function _e(e){let{field:t}=e;return(0,x.jsx)(`div`,{className:`flex gap-1`,children:w.map(e=>(0,x.jsx)(m,{onClick:()=>t.onChange(e),size:`sm`,type:`button`,variant:t.value===e?`default`:`outline`,children:e},e))})}function ve(e){return e.cidr}function ye(e){let{field:t}=e;return(0,x.jsx)(`div`,{className:`flex gap-1`,children:me.map(e=>(0,x.jsx)(m,{onClick:()=>t.onChange(e),size:`sm`,type:`button`,variant:t.value===e?`default`:`outline`,children:e},e))})}function be(e){let{field:t}=e;return(0,x.jsxs)(f,{onValueChange:t.onChange,value:t.value,children:[(0,x.jsx)(d,{id:`tenancy`,children:(0,x.jsx)(c,{})}),(0,x.jsxs)(u,{children:[(0,x.jsx)(l,{value:`default`,children:`default`}),(0,x.jsx)(l,{value:`dedicated`,children:`dedicated`})]})]})}function xe(e){let{field:t}=e;return(0,x.jsxs)(`label`,{className:`flex shrink-0 items-center gap-2 text-xs`,children:[(0,x.jsx)(`input`,{"aria-label":`Auto-generate name tags`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Auto-generate`]})}function Se(e){let{field:t}=e;return(0,x.jsxs)(`div`,{className:`flex gap-4`,children:[(0,x.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,x.jsx)(`input`,{"aria-label":`VPC only`,checked:t.value===`vpc-only`,name:`mode`,onChange:()=>t.onChange(`vpc-only`),type:`radio`}),`VPC only`]}),(0,x.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,x.jsx)(`input`,{"aria-label":`VPC and more`,checked:t.value===`vpc-and-more`,name:`mode`,onChange:()=>t.onChange(`vpc-and-more`),type:`radio`}),`VPC and more`]})]})}function Ce(e,t){return(0,x.jsxs)(`li`,{children:[e.type,`: `,e.id]},t)}function we(e,t){let n=e(`mode`),r=typeof n==`string`?n:``,i=e(`cidrBlock`),a=typeof i==`string`?i:``,o=e(`tenancy`),s=typeof o==`string`?o:``,c=e(`natGateway`),l=typeof c==`string`?c:``;if(r===`vpc-only`){let e=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-vpc`},{type:`flag`,value:` \\ --cidr-block`},{type:`value`,value:` ${a||`10.0.0.0/16`}`}];return s&&s!=="default"&&e.push({type:`flag`,value:` \\ --instance-tenancy`},{type:`value`,value:` ${s}`}),[{label:`Create VPC`,parts:e}]}let u=[],d=[...t.publicSubnets.map((e,t)=>({...e,name:`PUBLIC_SUBNET_${t+1}`})),...t.privateSubnets.map((e,t)=>({...e,name:`PRIVATE_SUBNET_${t+1}`}))];u.push({label:`Create VPC`,parts:[{type:`comment`,value:`# Create VPC with subnets, internet gateway, and routing @@ -29,4 +29,4 @@ import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}fro --destination-cidr-block`},{type:`value`,value:` 0.0.0.0/0`},{type:`flag`,value:` \\ --nat-gateway-id`},{type:`variable`,value:` "$NAT_ID"`}]});for(let e=0;eS(n)),[A,j]=(0,b.useState)(``);function M(e){e||(D(!1),k(S(n)),j(``),T.reset()),t(e)}let N=E?void 0:v.safeParse(O).error?.issues[0]?.message,P=!(E&&A!==n)&&!N;async function F(){try{await T.mutateAsync({dbInstanceIdentifier:n,skipFinalSnapshot:E,finalSnapshotIdentifier:O}),M(!1),C?.()}catch{}}return(0,x.jsx)(g,{onOpenChange:M,open:e,children:(0,x.jsxs)(u,{children:[(0,x.jsxs)(h,{children:[(0,x.jsx)(d,{children:`Delete DB Instance`}),(0,x.jsx)(l,{children:_?`"${n}" has deletion protection enabled and cannot be deleted while it is on.`:`This tears down "${n}". It cannot be undone.`})]}),_?(0,x.jsxs)(`div`,{className:`space-y-3`,children:[(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Turn deletion protection off first, then delete the instance.`}),w?(0,x.jsx)(i,{onClick:w,size:`sm`,variant:`outline`,children:`Modify Instance`}):(0,x.jsxs)(r,{className:`text-sm text-primary hover:underline`,params:{id:n},to:`/rds/describe-db-instances/$id`,children:[`Open `,n,` to modify it`]})]}):(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsxs)(`label`,{className:`flex items-start gap-2 text-sm`,children:[(0,x.jsx)(`input`,{checked:!E,onChange:e=>D(!e.target.checked),type:`checkbox`}),(0,x.jsxs)(`span`,{children:[`Take a final snapshot before deleting`,(0,x.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:`A final snapshot retains the underlying data volume until that snapshot is itself deleted.`})]})]}),E?(0,x.jsxs)(c,{children:[(0,x.jsx)(o,{children:(0,x.jsxs)(`label`,{htmlFor:`confirmIdentifier`,children:[`Type `,n,` to confirm`]})}),(0,x.jsx)(a,{id:`confirmIdentifier`,onChange:e=>j(e.target.value),placeholder:n,value:A}),(0,x.jsx)(s,{children:`Deleting without a final snapshot destroys the data volume. There is no way back.`})]}):(0,x.jsxs)(c,{children:[(0,x.jsx)(o,{children:(0,x.jsx)(`label`,{htmlFor:`finalSnapshotIdentifier`,children:`Final snapshot name`})}),(0,x.jsx)(a,{"aria-invalid":!!N,id:`finalSnapshotIdentifier`,onChange:e=>k(e.target.value),value:O}),N&&(0,x.jsx)(`p`,{className:`text-xs text-destructive`,children:N})]})]}),T.error&&(0,x.jsx)(`p`,{className:`text-sm text-destructive`,children:T.error.message}),(0,x.jsxs)(p,{children:[(0,x.jsx)(m,{children:`Cancel`}),!_&&(0,x.jsx)(f,{disabled:T.isPending||!P,onClick:e=>{e.preventDefault(),F()},children:T.isPending?`Deleting…`:`Delete`})]})]})})}export{C as t}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./link.js";import{t as i}from"./button.js";import{t as a}from"./input.js";import{w as o,y as s}from"./rds.js";import{a as c}from"./rds2.js";import{a as l,n as u,t as d}from"./field.js";import{a as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"./alert-dialog.js";var b=e(n(),1),x=t();function S(e,t=new Date){return o(e,`final`,t)}function C({open:e,onOpenChange:t,dbInstanceIdentifier:n,deletionProtection:o,onDeleted:C,onModify:w}){let T=c(),[E,D]=(0,b.useState)(!1),[O,k]=(0,b.useState)(()=>S(n)),[A,j]=(0,b.useState)(``);function M(e){e||(D(!1),k(S(n)),j(``),T.reset()),t(e)}let N=E?void 0:s.safeParse(O).error?.issues[0]?.message,P=!(E&&A!==n)&&!N;async function F(){try{await T.mutateAsync({dbInstanceIdentifier:n,skipFinalSnapshot:E,finalSnapshotIdentifier:O}),M(!1),C?.()}catch{}}return(0,x.jsx)(y,{onOpenChange:M,open:e,children:(0,x.jsxs)(p,{children:[(0,x.jsxs)(v,{children:[(0,x.jsx)(m,{children:`Delete DB Instance`}),(0,x.jsx)(f,{children:o?`"${n}" has deletion protection enabled and cannot be deleted while it is on.`:`This tears down "${n}". It cannot be undone.`})]}),o?(0,x.jsxs)(`div`,{className:`space-y-3`,children:[(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Turn deletion protection off first, then delete the instance.`}),w?(0,x.jsx)(i,{onClick:w,size:`sm`,variant:`outline`,children:`Modify Instance`}):(0,x.jsxs)(r,{className:`text-sm text-primary hover:underline`,params:{id:n},to:`/rds/describe-db-instances/$id`,children:[`Open `,n,` to modify it`]})]}):(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsxs)(`label`,{className:`flex items-start gap-2 text-sm`,children:[(0,x.jsx)(`input`,{checked:!E,onChange:e=>D(!e.target.checked),type:`checkbox`}),(0,x.jsxs)(`span`,{children:[`Take a final snapshot before deleting`,(0,x.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:`A final snapshot retains the underlying data volume until that snapshot is itself deleted.`})]})]}),E?(0,x.jsxs)(d,{children:[(0,x.jsx)(l,{children:(0,x.jsxs)(`label`,{htmlFor:`confirmIdentifier`,children:[`Type `,n,` to confirm`]})}),(0,x.jsx)(a,{id:`confirmIdentifier`,onChange:e=>j(e.target.value),placeholder:n,value:A}),(0,x.jsx)(u,{children:`Deleting without a final snapshot destroys the data volume. There is no way back.`})]}):(0,x.jsxs)(d,{children:[(0,x.jsx)(l,{children:(0,x.jsx)(`label`,{htmlFor:`finalSnapshotIdentifier`,children:`Final snapshot name`})}),(0,x.jsx)(a,{"aria-invalid":!!N,id:`finalSnapshotIdentifier`,onChange:e=>k(e.target.value),value:O}),N&&(0,x.jsx)(`p`,{className:`text-xs text-destructive`,children:N})]})]}),T.error&&(0,x.jsx)(`p`,{className:`text-sm text-destructive`,children:T.error.message}),(0,x.jsxs)(g,{children:[(0,x.jsx)(_,{children:`Cancel`}),!o&&(0,x.jsx)(h,{disabled:T.isPending||!P,onClick:e=>{e.preventDefault(),F()},children:T.isPending?`Deleting…`:`Delete`})]})]})})}export{C as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/eks.js b/spinifex/services/spinifexui/frontend/dist/assets/eks.js index a0c1ed558..03e6d76eb 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/eks.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/eks.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{c as r,d as i,f as a,l as o,m as s,s as c}from"./cluster-config.js";import{Bn as l,Hn as u,In as d,Ln as f,Rn as ee,Un as p,Vn as m,Wn as h,Xn as te,ar as ne,ir as re,o as g,rr as _,zn as v}from"./awsClient.js";import{n as y,r as b,t as x}from"./commandBuilder.js";import{i as S}from"./subnet-calculator.js";import{i as C}from"./json.js";var w=class extends b(x,y,`AssociateAccessPolicy`,d){},T=class extends b(x,y,`CreateAccessEntry`,f){},E=class extends b(x,y,`CreateAddon`,ee){},D=class extends b(x,y,`CreateCluster`,v){},O=class extends b(x,y,`CreateNodegroup`,l){},k=class extends b(x,y,`DeleteAccessEntry`,m){},A=class extends b(x,y,`DeleteAddon`,u){},j=class extends b(x,y,`DeleteCluster`,p){},M=class extends b(x,y,`DeleteNodegroup`,h){},N=class extends b(x,y,`DisassociateAccessPolicy`,te){},P=class extends b(x,y,`UpdateAddon`,_){},F=class extends b(x,y,`UpdateNodegroupConfig`,re){},I=class extends b(x,y,`UpdateNodegroupVersion`,ne){},L=e();function R(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function z(e){let t=new D({name:e.name,version:e.version,roleArn:e.roleArn,resourcesVpcConfig:{subnetIds:e.subnetIds,endpointPublicAccess:e.endpointPublicAccess,endpointPrivateAccess:e.endpointPrivateAccess,publicAccessCidrs:e.endpointPublicAccess?e.publicAccessCidrs:void 0},accessConfig:{authenticationMode:`API`,bootstrapClusterCreatorAdminPermissions:e.bootstrapClusterCreatorAdminPermissions}});return await g().send(t)}function B(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function V(e){let t=new j({name:e});return await g().send(t)}function H(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ie,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function ie(e){let t=new O({clusterName:e.clusterName,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnets:e.subnetIds,instanceTypes:e.instanceTypes,amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function U(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:W,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function W(e){let t=new F({clusterName:e.clusterName,nodegroupName:e.nodegroupName,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function G(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new I({clusterName:e.clusterName,nodegroupName:e.nodegroupName,version:e.version});return await g().send(t)}function q(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t=new M({clusterName:e.clusterName,nodegroupName:e.nodegroupName});return await g().send(t)}function Y(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ae,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function ae(e){let t=new E({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function oe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:se,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function se(e){let t=new P({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function ce(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:le,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function le(e){let t=new A({clusterName:e.clusterName,addonName:e.addonName});return await g().send(t)}function ue(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:de,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function de(e){let t=new T({clusterName:e.clusterName,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups,type:e.type});return await g().send(t)}function fe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function pe(e){let t=new k({clusterName:e.clusterName,principalArn:e.principalArn});return await g().send(t)}function me(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:he,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function he(e){let t=new w({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn,accessScope:{type:e.accessScopeType,namespaces:e.namespaces}});return await g().send(t)}function ge(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=new N({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn});return await g().send(t)}var ve=[`1.32`,`1.31`,`1.30`],ye=[{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy`,name:`AmazonEKSClusterAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy`,name:`AmazonEKSAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy`,name:`AmazonEKSEditPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy`,name:`AmazonEKSViewPolicy`}],X=[`AL2_x86_64`,`AL2_ARM_64`],Z=[`ON_DEMAND`,`SPOT`],be=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Principal:{Service:`eks.amazonaws.com`},Action:`sts:AssumeRole`}]},null,2),xe=`arn:aws:iam::aws:policy/AmazonEKSClusterPolicy`,Q=s().min(1,`Name is required`).max(100,`Name must be 100 characters or fewer`).regex(/^[0-9A-Za-z][A-Za-z0-9\-_]*$/,`Must start with a letter or digit and contain only letters, digits, hyphens, or underscores`),Se=a({name:Q,version:s().min(1,`Version is required`),roleArn:s().min(1,`Cluster IAM role is required`),vpcId:s().min(1,`VPC is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),bootstrapClusterCreatorAdminPermissions:o(),endpointPublicAccess:o(),endpointPrivateAccess:o(),publicAccessCidrs:r(s())}).refine(e=>e.endpointPublicAccess||e.endpointPrivateAccess,{message:`Enable public access, private access, or both`,path:[`endpointPublicAccess`]}).refine(e=>!e.endpointPublicAccess||e.publicAccessCidrs.every(e=>S(e,0,32)),{message:`Each public access CIDR must be valid (e.g. 203.0.113.0/24)`,path:[`publicAccessCidrs`]}),Ce=a({nodegroupName:Q,nodeRole:s().min(1,`Node IAM role is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),instanceTypes:s().min(1,`At least 1 instance type is required`),amiType:c(X),capacityType:c(Z),diskSize:i().int().min(1),minSize:i().int().min(0),desiredSize:i().int().min(0),maxSize:i().int().min(1)}).refine(e=>e.minSize<=e.desiredSize&&e.desiredSize<=e.maxSize,{message:`Sizes must satisfy min ≤ desired ≤ max`,path:[`desiredSize`]}),$=C({label:`Configuration`,allowEmpty:!0}),we=a({addonName:s().min(1,`Add-on is required`),addonVersion:s().min(1,`Version is required`),serviceAccountRoleArn:s(),configurationValues:$});function Te(e){switch(e??``){case`ACTIVE`:return`default`;case`CREATE_FAILED`:case`DELETE_FAILED`:case`UPDATE_FAILED`:case`DEGRADED`:return`destructive`;default:return`secondary`}}var Ee=a({principalArn:s().min(1,`Principal ARN is required`),kubernetesGroups:s()});export{U as C,ge as S,G as T,H as _,be as a,B as b,Te as c,Se as d,Ce as f,R as g,Y as h,Z as i,Ee as l,ue as m,ye as n,ve as o,me as p,X as r,$ as s,xe as t,we as u,fe as v,oe as w,q as x,ce as y}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{c as r,d as i,f as a,l as o,m as s,s as c}from"./cluster-config.js";import{Bn as l,Hn as u,In as d,Ln as f,Rn as ee,Un as p,Vn as m,Wn as h,Xn as te,ar as ne,ir as re,o as g,rr as _,zn as v}from"./awsClient.js";import{n as y,r as b,t as x}from"./commandBuilder.js";import{i as S}from"./json.js";import{i as C}from"./subnet-calculator.js";var w=class extends b(x,y,`AssociateAccessPolicy`,d){},T=class extends b(x,y,`CreateAccessEntry`,f){},E=class extends b(x,y,`CreateAddon`,ee){},D=class extends b(x,y,`CreateCluster`,v){},O=class extends b(x,y,`CreateNodegroup`,l){},k=class extends b(x,y,`DeleteAccessEntry`,m){},A=class extends b(x,y,`DeleteAddon`,u){},j=class extends b(x,y,`DeleteCluster`,p){},M=class extends b(x,y,`DeleteNodegroup`,h){},N=class extends b(x,y,`DisassociateAccessPolicy`,te){},P=class extends b(x,y,`UpdateAddon`,_){},F=class extends b(x,y,`UpdateNodegroupConfig`,re){},I=class extends b(x,y,`UpdateNodegroupVersion`,ne){},L=e();function R(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function z(e){let t=new D({name:e.name,version:e.version,roleArn:e.roleArn,resourcesVpcConfig:{subnetIds:e.subnetIds,endpointPublicAccess:e.endpointPublicAccess,endpointPrivateAccess:e.endpointPrivateAccess,publicAccessCidrs:e.endpointPublicAccess?e.publicAccessCidrs:void 0},accessConfig:{authenticationMode:`API`,bootstrapClusterCreatorAdminPermissions:e.bootstrapClusterCreatorAdminPermissions}});return await g().send(t)}function B(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function V(e){let t=new j({name:e});return await g().send(t)}function H(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ie,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function ie(e){let t=new O({clusterName:e.clusterName,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnets:e.subnetIds,instanceTypes:e.instanceTypes,amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function U(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:W,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function W(e){let t=new F({clusterName:e.clusterName,nodegroupName:e.nodegroupName,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function G(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new I({clusterName:e.clusterName,nodegroupName:e.nodegroupName,version:e.version});return await g().send(t)}function q(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t=new M({clusterName:e.clusterName,nodegroupName:e.nodegroupName});return await g().send(t)}function Y(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ae,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function ae(e){let t=new E({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function oe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:se,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function se(e){let t=new P({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function ce(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:le,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function le(e){let t=new A({clusterName:e.clusterName,addonName:e.addonName});return await g().send(t)}function ue(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:de,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function de(e){let t=new T({clusterName:e.clusterName,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups,type:e.type});return await g().send(t)}function fe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function pe(e){let t=new k({clusterName:e.clusterName,principalArn:e.principalArn});return await g().send(t)}function me(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:he,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function he(e){let t=new w({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn,accessScope:{type:e.accessScopeType,namespaces:e.namespaces}});return await g().send(t)}function ge(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=new N({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn});return await g().send(t)}var ve=[`1.32`,`1.31`,`1.30`],ye=[{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy`,name:`AmazonEKSClusterAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy`,name:`AmazonEKSAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy`,name:`AmazonEKSEditPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy`,name:`AmazonEKSViewPolicy`}],X=[`AL2_x86_64`,`AL2_ARM_64`],Z=[`ON_DEMAND`,`SPOT`],be=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Principal:{Service:`eks.amazonaws.com`},Action:`sts:AssumeRole`}]},null,2),xe=`arn:aws:iam::aws:policy/AmazonEKSClusterPolicy`,Q=s().min(1,`Name is required`).max(100,`Name must be 100 characters or fewer`).regex(/^[0-9A-Za-z][A-Za-z0-9\-_]*$/,`Must start with a letter or digit and contain only letters, digits, hyphens, or underscores`),Se=a({name:Q,version:s().min(1,`Version is required`),roleArn:s().min(1,`Cluster IAM role is required`),vpcId:s().min(1,`VPC is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),bootstrapClusterCreatorAdminPermissions:o(),endpointPublicAccess:o(),endpointPrivateAccess:o(),publicAccessCidrs:r(s())}).refine(e=>e.endpointPublicAccess||e.endpointPrivateAccess,{message:`Enable public access, private access, or both`,path:[`endpointPublicAccess`]}).refine(e=>!e.endpointPublicAccess||e.publicAccessCidrs.every(e=>C(e,0,32)),{message:`Each public access CIDR must be valid (e.g. 203.0.113.0/24)`,path:[`publicAccessCidrs`]}),Ce=a({nodegroupName:Q,nodeRole:s().min(1,`Node IAM role is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),instanceTypes:s().min(1,`At least 1 instance type is required`),amiType:c(X),capacityType:c(Z),diskSize:i().int().min(1),minSize:i().int().min(0),desiredSize:i().int().min(0),maxSize:i().int().min(1)}).refine(e=>e.minSize<=e.desiredSize&&e.desiredSize<=e.maxSize,{message:`Sizes must satisfy min ≤ desired ≤ max`,path:[`desiredSize`]}),$=S({label:`Configuration`,allowEmpty:!0}),we=a({addonName:s().min(1,`Add-on is required`),addonVersion:s().min(1,`Version is required`),serviceAccountRoleArn:s(),configurationValues:$});function Te(e){switch(e??``){case`ACTIVE`:return`default`;case`CREATE_FAILED`:case`DELETE_FAILED`:case`UPDATE_FAILED`:case`DEGRADED`:return`destructive`;default:return`secondary`}}var Ee=a({principalArn:s().min(1,`Principal ARN is required`),kubernetesGroups:s()});export{U as C,ge as S,G as T,H as _,be as a,B as b,Te as c,Se as d,Ce as f,R as g,Y as h,Z as i,Ee as l,ue as m,ye as n,ve as o,me as p,X as r,$ as s,xe as t,we as u,fe as v,oe as w,q as x,ce as y}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/field.js b/spinifex/services/spinifexui/frontend/dist/assets/field.js index 8aab697aa..97baf9608 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/field.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/field.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i,t as a}from"./dist.js";import{Yt as o}from"./cluster-config.js";var s=e(n(),1).forwardRef(function(e,t){let{className:n,render:r,orientation:a=`horizontal`,style:o,...s}=e;return i(`div`,e,{state:{orientation:a},ref:t,props:[{role:`separator`,"aria-orientation":a},s]})}),c=r(),l=t();function u(e){let t=(0,c.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`horizontal`:i,u;t[4]===n?u=t[5]:(u=o(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,n),t[4]=n,t[5]=u);let d;return t[6]!==a||t[7]!==r||t[8]!==u?(d=(0,l.jsx)(s,{className:u,"data-slot":`separator`,orientation:a,...r}),t[6]=a,t[7]=r,t[8]=u,t[9]=d):d=t[9],d}function d(e){let t=(0,c.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=o(`group/field-group @container/field-group flex w-full flex-col gap-4 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,l.jsx)(`div`,{className:i,"data-slot":`field-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var f=a(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col [&>*]:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col @md/field-group:flex-row @md/field-group:items-center @md/field-group:has-[>[data-slot=field-content]]:items-start [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function p(e){let t=(0,c.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`vertical`:i,s;t[4]!==n||t[5]!==a?(s=o(f({orientation:a}),n),t[4]=n,t[5]=a,t[6]=s):s=t[6];let u;return t[7]!==a||t[8]!==r||t[9]!==s?(u=(0,l.jsx)(`div`,{className:s,"data-orientation":a,"data-slot":`field`,role:`group`,...r}),t[7]=a,t[8]=r,t[9]=s,t[10]=u):u=t[10],u}function m(e){let t=(0,c.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=o(`flex w-fit items-center gap-2 text-xs/relaxed leading-snug font-medium group-data-[disabled=true]/field:opacity-50`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,l.jsx)(`div`,{className:i,"data-slot":`field-label`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function h(e){let t=(0,c.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=o(`text-left text-xs/relaxed leading-normal font-normal text-muted-foreground group-has-data-[orientation=horizontal]/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,l.jsx)(`p`,{className:i,"data-slot":`field-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function g(e){let t=(0,c.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,errors:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let s;bb0:{if(n){s=n;break bb0}if(!i?.length){s=null;break bb0}let e;t[5]===i?e=t[6]:(e=[...new Map(i.map(v)).values()],t[5]=i,t[6]=e);let r=e;if(r?.length===1){s=r[0]?.message;break bb0}let a;t[7]===r?a=t[8]:(a=(0,l.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(_)}),t[7]=r,t[8]=a),s=a}let u=s;if(!u)return null;let d;t[9]===r?d=t[10]:(d=o(`text-xs/relaxed font-normal text-destructive`,r),t[9]=r,t[10]=d);let f;return t[11]!==u||t[12]!==a||t[13]!==d?(f=(0,l.jsx)(`div`,{className:d,"data-slot":`field-error`,role:`alert`,...a,children:u}),t[11]=u,t[12]=a,t[13]=d,t[14]=f):f=t[14],f}function _(e){return e?.message&&(0,l.jsx)(`li`,{children:e.message},e.message)}function v(e){return[e?.message,e]}export{m as a,d as i,h as n,u as o,g as r,p as t}; \ No newline at end of file +import{n as e,r as t,t as n}from"./compiler-runtime.js";import{t as r}from"./dist.js";import{Yt as i}from"./cluster-config.js";import"./separator.js";t();var a=n(),o=e();function s(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`group/field-group @container/field-group flex w-full flex-col gap-4 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`div`,{className:s,"data-slot":`field-group`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}var c=r(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col [&>*]:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col @md/field-group:flex-row @md/field-group:items-center @md/field-group:has-[>[data-slot=field-content]]:items-start [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function l(e){let t=(0,a.c)(11),n,r,s;t[0]===e?(n=t[1],r=t[2],s=t[3]):({className:n,orientation:s,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s);let l=s===void 0?`vertical`:s,u;t[4]!==n||t[5]!==l?(u=i(c({orientation:l}),n),t[4]=n,t[5]=l,t[6]=u):u=t[6];let d;return t[7]!==l||t[8]!==r||t[9]!==u?(d=(0,o.jsx)(`div`,{className:u,"data-orientation":l,"data-slot":`field`,role:`group`,...r}),t[7]=l,t[8]=r,t[9]=u,t[10]=d):d=t[10],d}function u(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`flex w-fit items-center gap-2 text-xs/relaxed leading-snug font-medium group-data-[disabled=true]/field:opacity-50`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`div`,{className:s,"data-slot":`field-label`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}function d(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`text-left text-xs/relaxed leading-normal font-normal text-muted-foreground group-has-data-[orientation=horizontal]/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`p`,{className:s,"data-slot":`field-description`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}function f(e){let t=(0,a.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,errors:s,...c}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let l;bb0:{if(n){l=n;break bb0}if(!s?.length){l=null;break bb0}let e;t[5]===s?e=t[6]:(e=[...new Map(s.map(m)).values()],t[5]=s,t[6]=e);let r=e;if(r?.length===1){l=r[0]?.message;break bb0}let i;t[7]===r?i=t[8]:(i=(0,o.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(p)}),t[7]=r,t[8]=i),l=i}let u=l;if(!u)return null;let d;t[9]===r?d=t[10]:(d=i(`text-xs/relaxed font-normal text-destructive`,r),t[9]=r,t[10]=d);let f;return t[11]!==u||t[12]!==c||t[13]!==d?(f=(0,o.jsx)(`div`,{className:d,"data-slot":`field-error`,role:`alert`,...c,children:u}),t[11]=u,t[12]=c,t[13]=d,t[14]=f):f=t[14],f}function p(e){return e?.message&&(0,o.jsx)(`li`,{children:e.message},e.message)}function m(e){return[e?.message,e]}export{u as a,s as i,d as n,f as r,l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/import-key-pair.js b/spinifex/services/spinifexui/frontend/dist/assets/import-key-pair.js index aee38118f..7abfa2b24 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/import-key-pair.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/import-key-pair.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as ee}from"./cli-command-panel.js";import{t as i}from"./input.js";import{a,r as o,t as s}from"./field.js";import{q as c}from"./ec22.js";import{a as te,i as ne,t as l}from"./zod.js";import{t as u}from"./error-banner.js";import{t as d}from"./page-heading.js";import{v as f}from"./ec23.js";import{t as p}from"./form-actions.js";import{t as m}from"./textarea.js";var h=t(),g=e();function _(){let e=(0,h.c)(57),t=n(),_=c(),y;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(y={resolver:l(f)},e[0]=y):y=e[0];let{handleSubmit:b,register:x,control:S,formState:re}=ne(y),{errors:C,isSubmitting:w}=re,T;e[1]===S?T=e[2]:(T={control:S},e[1]=S,e[2]=T);let E=te(T),D;e[3]===E?D=e[4]:(D=e=>e?E[e]:void 0,e[3]=E,e[4]=D);let O=D,k;e[5]!==_||e[6]!==t?(k=async e=>{await _.mutateAsync(e),t({to:`/ec2/describe-key-pairs`})},e[5]=_,e[6]=t,e[7]=k):k=e[7];let A=k,j,M;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,g.jsx)(r,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),M=(0,g.jsx)(d,{title:`Import Key Pair`}),e[8]=j,e[9]=M):(j=e[8],M=e[9]);let N;e[10]===_.error?N=e[11]:(N=_.error&&(0,g.jsx)(u,{error:_.error,msg:`Failed to import key pair`}),e[10]=_.error,e[11]=N);let P;e[12]!==b||e[13]!==A?(P=b(A),e[12]=b,e[13]=A,e[14]=P):P=e[14];let F;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,g.jsx)(a,{children:(0,g.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair Name`})}),e[15]=F):F=e[15];let I=!!C.keyName,L;e[16]===x?L=e[17]:(L=x(`keyName`),e[16]=x,e[17]=L);let R;e[18]!==I||e[19]!==L?(R=(0,g.jsx)(i,{"aria-invalid":I,id:`keyName`,placeholder:`my-key-pair…`,...L}),e[18]=I,e[19]=L,e[20]=R):R=e[20];let z;e[21]===C.keyName?z=e[22]:(z=(0,g.jsx)(o,{errors:[C.keyName]}),e[21]=C.keyName,e[22]=z);let B;e[23]!==R||e[24]!==z?(B=(0,g.jsxs)(s,{children:[F,R,z]}),e[23]=R,e[24]=z,e[25]=B):B=e[25];let V,H;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,g.jsx)(a,{children:(0,g.jsx)(`label`,{htmlFor:`publicKeyMaterial`,children:`Public Key`})}),H=(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,id:`publicKey-description`,children:`Paste your OpenSSH public key (e.g. the contents of id_rsa.pub)`}),e[26]=V,e[27]=H):(V=e[26],H=e[27]);let U=!!C.publicKeyMaterial,W;e[28]===x?W=e[29]:(W=x(`publicKeyMaterial`),e[28]=x,e[29]=W);let G;e[30]!==U||e[31]!==W?(G=(0,g.jsx)(m,{"aria-invalid":U,id:`publicKeyMaterial`,placeholder:`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC…`,rows:8,...W}),e[30]=U,e[31]=W,e[32]=G):G=e[32];let K;e[33]===C.publicKeyMaterial?K=e[34]:(K=(0,g.jsx)(o,{errors:[C.publicKeyMaterial]}),e[33]=C.publicKeyMaterial,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,g.jsxs)(s,{children:[V,H,G,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===O?J=e[39]:(J=v(O),e[38]=O,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,g.jsx)(ee,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=async()=>await t({to:`/ec2/describe-key-pairs`}),e[42]=t,e[43]=X);let Z;e[44]!==_.isPending||e[45]!==w||e[46]!==X?(Z=(0,g.jsx)(p,{isPending:_.isPending,isSubmitting:w,onCancel:X,pendingLabel:`Importing…`,submitLabel:`Import Key Pair`}),e[44]=_.isPending,e[45]=w,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==B||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==P?(Q=(0,g.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:P,children:[B,q,Y,Z]}),e[48]=B,e[49]=q,e[50]=Y,e[51]=Z,e[52]=P,e[53]=Q):Q=e[53];let $;return e[54]!==Q||e[55]!==N?($=(0,g.jsxs)(g.Fragment,{children:[j,M,N,Q]}),e[54]=Q,e[55]=N,e[56]=$):$=e[56],$}function v(e){let t=e(`keyName`);return[{label:`Import Key Pair`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 import-key-pair`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useNavigate.js";import{t as r}from"./back-link.js";import{t as ee}from"./cli-command-panel.js";import{t as i}from"./input.js";import{q as te}from"./ec22.js";import{a,i as o,t as s}from"./zod.js";import{t as ne}from"./error-banner.js";import{t as re}from"./form-actions.js";import{t as c}from"./page-heading.js";import{a as l,r as u,t as d}from"./field.js";import{v as f}from"./ec23.js";import{t as p}from"./textarea.js";var m=t(),h=e();function g(){let e=(0,m.c)(57),t=n(),g=te(),v;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(v={resolver:s(f)},e[0]=v):v=e[0];let{handleSubmit:y,register:b,control:x,formState:S}=o(v),{errors:C,isSubmitting:w}=S,T;e[1]===x?T=e[2]:(T={control:x},e[1]=x,e[2]=T);let E=a(T),D;e[3]===E?D=e[4]:(D=e=>e?E[e]:void 0,e[3]=E,e[4]=D);let O=D,k;e[5]!==g||e[6]!==t?(k=async e=>{await g.mutateAsync(e),t({to:`/ec2/describe-key-pairs`})},e[5]=g,e[6]=t,e[7]=k):k=e[7];let A=k,j,M;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsx)(r,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),M=(0,h.jsx)(c,{title:`Import Key Pair`}),e[8]=j,e[9]=M):(j=e[8],M=e[9]);let N;e[10]===g.error?N=e[11]:(N=g.error&&(0,h.jsx)(ne,{error:g.error,msg:`Failed to import key pair`}),e[10]=g.error,e[11]=N);let P;e[12]!==y||e[13]!==A?(P=y(A),e[12]=y,e[13]=A,e[14]=P):P=e[14];let F;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,h.jsx)(l,{children:(0,h.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair Name`})}),e[15]=F):F=e[15];let I=!!C.keyName,L;e[16]===b?L=e[17]:(L=b(`keyName`),e[16]=b,e[17]=L);let R;e[18]!==I||e[19]!==L?(R=(0,h.jsx)(i,{"aria-invalid":I,id:`keyName`,placeholder:`my-key-pair…`,...L}),e[18]=I,e[19]=L,e[20]=R):R=e[20];let z;e[21]===C.keyName?z=e[22]:(z=(0,h.jsx)(u,{errors:[C.keyName]}),e[21]=C.keyName,e[22]=z);let B;e[23]!==R||e[24]!==z?(B=(0,h.jsxs)(d,{children:[F,R,z]}),e[23]=R,e[24]=z,e[25]=B):B=e[25];let V,H;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,h.jsx)(l,{children:(0,h.jsx)(`label`,{htmlFor:`publicKeyMaterial`,children:`Public Key`})}),H=(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,id:`publicKey-description`,children:`Paste your OpenSSH public key (e.g. the contents of id_rsa.pub)`}),e[26]=V,e[27]=H):(V=e[26],H=e[27]);let U=!!C.publicKeyMaterial,W;e[28]===b?W=e[29]:(W=b(`publicKeyMaterial`),e[28]=b,e[29]=W);let G;e[30]!==U||e[31]!==W?(G=(0,h.jsx)(p,{"aria-invalid":U,id:`publicKeyMaterial`,placeholder:`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC…`,rows:8,...W}),e[30]=U,e[31]=W,e[32]=G):G=e[32];let K;e[33]===C.publicKeyMaterial?K=e[34]:(K=(0,h.jsx)(u,{errors:[C.publicKeyMaterial]}),e[33]=C.publicKeyMaterial,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,h.jsxs)(d,{children:[V,H,G,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===O?J=e[39]:(J=_(O),e[38]=O,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,h.jsx)(ee,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=async()=>await t({to:`/ec2/describe-key-pairs`}),e[42]=t,e[43]=X);let Z;e[44]!==g.isPending||e[45]!==w||e[46]!==X?(Z=(0,h.jsx)(re,{isPending:g.isPending,isSubmitting:w,onCancel:X,pendingLabel:`Importing…`,submitLabel:`Import Key Pair`}),e[44]=g.isPending,e[45]=w,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==B||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==P?(Q=(0,h.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:P,children:[B,q,Y,Z]}),e[48]=B,e[49]=q,e[50]=Y,e[51]=Z,e[52]=P,e[53]=Q):Q=e[53];let $;return e[54]!==Q||e[55]!==N?($=(0,h.jsxs)(h.Fragment,{children:[j,M,N,Q]}),e[54]=Q,e[55]=N,e[56]=$):$=e[56],$}function _(e){let t=e(`keyName`);return[{label:`Import Key Pair`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 import-key-pair`},{type:`flag`,value:` \\ --key-name`},{type:`value`,value:` ${(typeof t==`string`?t:``)||``}`},{type:`flag`,value:` \\ - --public-key-material`},{type:`value`,value:` fileb://path/to/key.pub`}]}]}export{_ as component}; \ No newline at end of file + --public-key-material`},{type:`value`,value:` fileb://path/to/key.pub`}]}]}export{g as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/index.js b/spinifex/services/spinifexui/frontend/dist/assets/index.js index 218b06c43..0db58e50a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/index.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/index.js @@ -1,27 +1,10 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/route.js","assets/compiler-runtime.js","assets/Match.js","assets/matchContext.js","assets/useStore.js","assets/_auth.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/chevron-down.js","assets/chevron-right.js","assets/waypoints.js","assets/admin-context.js","assets/sts.js","assets/signed-fetch.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/s32.js","assets/page-heading.js","assets/state-badge.js","assets/admin.js","assets/badge.js","assets/dist.js","assets/useRender.js","assets/card.js","assets/nodes.js","assets/redirect.js","assets/service-metrics.js","assets/allocate-address.js","assets/useNavigate.js","assets/back-link.js","assets/cli-command-panel.js","assets/check.js","assets/copy.js","assets/button.js","assets/use-copy-to-clipboard.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/ec23.js","assets/form-actions.js","assets/create-internet-gateway.js","assets/import-key-pair.js","assets/textarea.js","assets/create-launch-template.js","assets/launch-template-data-fields.js","assets/useSuspenseQuery.js","assets/select.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/useCompositeListItem.js","assets/collapsible.js","assets/create-load-balancer.js","assets/acm.js","assets/certificate-import-dialog.js","assets/alert-dialog.js","assets/elbv2.js","assets/commandBuilder2.js","assets/elbv22.js","assets/tags-field-array.js","assets/plus.js","assets/trash-2.js","assets/target-group-form.js","assets/elbv23.js","assets/create-nat-gateway.js","assets/create-placement-group.js","assets/create-route-table.js","assets/create-security-group.js","assets/create-subnet.js","assets/create-target-group.js","assets/create-volume.js","assets/create-vpc.js","assets/task-definitions.js","assets/ecs.js","assets/ecs2.js","assets/delete-confirmation-dialog.js","assets/ecs-section-nav.js","assets/create-cluster.js","assets/eks.js","assets/commandBuilder.js","assets/json.js","assets/iam.js","assets/commandBuilder3.js","assets/iam2.js","assets/system-managed.js","assets/system-image-required.js","assets/rotate-cw.js","assets/triangle-alert.js","assets/policy-document-viewer.js","assets/create-group.js","assets/iam3.js","assets/create-instance-profile.js","assets/create-policy.js","assets/json-editor.js","assets/create-role.js","assets/create-user.js","assets/create-db-instance.js","assets/rds.js","assets/rds2.js","assets/rds3.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/create-db-parameter-group.js","assets/create-db-subnet-group.js","assets/create-bucket.js","assets/s3.js","assets/ls.js","assets/list-card.js","assets/route2.js","assets/describe-addresses.js","assets/describe-images.js","assets/describe-instances.js","assets/describe-internet-gateways.js","assets/describe-key-pairs.js","assets/describe-launch-templates.js","assets/describe-load-balancers.js","assets/describe-nat-gateways.js","assets/describe-placement-groups.js","assets/describe-route-tables.js","assets/describe-security-groups.js","assets/describe-snapshots.js","assets/describe-subnets.js","assets/describe-target-groups.js","assets/describe-volumes.js","assets/describe-vpcs.js","assets/list-repositories.js","assets/ecr.js","assets/ecr2.js","assets/list-clusters.js","assets/list-clusters2.js","assets/eks2.js","assets/list-groups.js","assets/list-instance-profiles.js","assets/list-policies.js","assets/list-roles.js","assets/list-users.js","assets/describe-db-instances.js","assets/delete-db-instance-dialog.js","assets/describe-db-parameter-groups.js","assets/delete-db-parameter-group-dialog.js","assets/rds-delete-dialog.js","assets/describe-db-snapshots.js","assets/create-db-snapshot-dialog.js","assets/delete-db-snapshot-dialog.js","assets/describe-db-subnet-groups.js","assets/delete-db-subnet-group-dialog.js"])))=>i.map(i=>d[i]); -import{a as e,i as t,n,r,t as i}from"./compiler-runtime.js";import{M as a,O as o,S as s,T as c,_ as l,b as u,c as d,g as f,h as p,j as m,n as h,s as g,t as _,x as v,y}from"./QueryClientProvider.js";import{i as b}from"./useBaseQuery.js";import{n as x}from"./useMutation.js";import{t as S}from"./useQuery.js";import{t as C}from"./useSuspenseQuery.js";import{A as w,C as T,E,M as D,O,S as k,T as A,a as ee,b as te,d as ne,f as j,g as M,h as N,i as re,k as P,l as F,m as ie,n as I,o as ae,p as L,r as oe,s as se,t as R,u as ce,v as le,w as ue,x as de,y as fe}from"./link.js";import{a as pe,i as me,n as he,o as ge,r as _e,t as ve}from"./Match.js";import{n as ye,r as be}from"./matchContext.js";import{n as xe,t as Se}from"./redirect.js";import{a as Ce,i as we,n as z,r as Te,t as B}from"./lazyRouteComponent.js";import{a as Ee,i as De,r as Oe,s as ke,t as Ae}from"./useStore.js";import{t as je}from"./useNavigate.js";import{d as Me,f as Ne,n as Pe,o as Fe,t as Ie}from"./useValueAsRef.js";import{a as Le,f as Re,l as ze,n as Be,o as Ve,t as He,u as Ue}from"./dist.js";import{t as We}from"./useRender.js";import{Yt as Ge,a as Ke,en as qe,i as Je,n as Ye,rt as V}from"./cluster-config.js";import{t as H}from"./createLucideIcon.js";import{t as Xe}from"./back-link.js";import{t as Ze}from"./camera.js";import{t as Qe}from"./check.js";import{t as $e}from"./chevron-down.js";import{c as et,d as tt,i as nt,l as rt,n as it,s as at,t as ot,u as st}from"./select.js";import{t as ct}from"./download.js";import{a as lt,c as ut,i as dt,n as ft,o as pt,r as mt,s as ht,t as gt}from"./waypoints.js";import{n as _t,t as vt}from"./_id.js";import{n as yt,t as bt}from"./_clusterName.js";import{t as xt}from"./cli-command-panel.js";import{t as St}from"./triangle-alert.js";import{n as Ct,t as wt}from"./_id2.js";import{_ as Tt,b as Et,n as Dt,o as Ot,s as kt,t as At,y as jt}from"./button.js";import{C as Mt,b as Nt,f as Pt,g as Ft,h as It,i as Lt,m as Rt,s as zt,t as Bt,v as Vt,x as Ht,y as Ut}from"./createBaseUIEventDetails.js";import{A as Wt,B as Gt,E as Kt,F as qt,G as Jt,J as Yt,M as Xt,N as Zt,O as Qt,R as $t,S as en,U as tn,W as nn,Y as rn,b as an,bt as on,ct as sn,dt as cn,ft as ln,g as un,h as dn,k as fn,lt as pn,m as mn,nt as hn,ot as gn,p as _n,q as vn,vt as yn,w as bn,x as xn,y as Sn}from"./useScrollLock.js";import{t as Cn}from"./input.js";import{a as wn,n as Tn,o as En,r as Dn,t as On}from"./field.js";import{_ as kn,a as An,c as jn,d as Mn,f as Nn,g as Pn,h as Fn,i as In,l as Ln,m as Rn,o as zn,p as Bn,r as Vn,s as Hn,t as Un,u as Wn,v as Gn,y as Kn}from"./alert-dialog.js";import{t as qn}from"./awsClient.js";import{n as Jn,t as Yn}from"./admin-context.js";import{t as Xn}from"./acm.js";import{A as Zn,E as Qn,M as $n,O as er,S as tr,_ as nr,c as rr,d as ir,h as ar,l as or,m as sr,n as cr,o as lr,p as ur,r as dr,w as fr,y as pr}from"./ec2.js";import{f as mr,m as hr}from"./ec22.js";import{n as gr}from"./ecr.js";import{n as _r,o as vr}from"./ecs.js";import{c as yr}from"./eks2.js";import{a as br,o as xr,u as Sr}from"./elbv22.js";import{C as Cr,f as wr,l as Tr,p as Er,y as Dr}from"./iam2.js";import{a as Or,d as kr,h as Ar,o as jr,r as Mr}from"./rds3.js";import{n as Nr}from"./s32.js";import{t as Pr}from"./login.js";import{a as Fr,i as Ir,n as Lr,t as Rr}from"./zod.js";import{t as zr}from"./use-copy-to-clipboard.js";import{t as Br}from"./error-banner.js";import{t as Vr}from"./gpu-instance-type-select.js";import{t as Hr}from"./page-heading.js";import{n as Ur,r as Wr,t as Gr}from"./collapsible.js";import{b as Kr,i as qr,o as Jr,t as Yr}from"./ec23.js";import{t as Xr}from"./form-actions.js";import{t as Zr}from"./create-snapshot.js";import{t as Qr}from"./create-service.js";import{t as $r}from"./register-task-definition.js";import{t as ei}from"./run-task.js";import{t as ti}from"./_id3.js";import{t as ni}from"./_id4.js";import{t as ri}from"./_id5.js";import{t as ii}from"./_id6.js";import{t as ai}from"./_id7.js";import{t as oi}from"./_id8.js";import{t as si}from"./_id9.js";import{t as ci}from"./_id10.js";import{t as li}from"./_id11.js";import{t as ui}from"./_id12.js";import{t as di}from"./_id13.js";import{t as fi}from"./_id14.js";import{t as pi}from"./_id15.js";import{t as mi}from"./_id16.js";import{t as hi}from"./_id17.js";import{t as gi}from"./_id18.js";import{t as _i}from"./_clusterName2.js";import{t as vi}from"./_groupName.js";import{t as yi}from"./_instanceProfileName.js";import{t as bi}from"./_policyArn.js";import{t as xi}from"./_roleName.js";import{t as Si}from"./_userName.js";import{t as Ci}from"./_id19.js";import{t as wi}from"./_name.js";import{t as Ti}from"./_id20.js";import{t as Ei}from"./_id21.js";import{t as Di}from"./_name2.js";import{t as Oi}from"./_bucket.js";import{t as ki}from"./_.js";import{t as U}from"./_serviceName.js";import{t as Ai}from"./_taskId.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ji=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new x({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Mi(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Mi(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Mi(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Mi(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){d.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>y(t,e))}findAll(e={}){return this.getAll().filter(t=>y(e,t))}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return d.batch(()=>Promise.all(e.map(e=>e.continue().catch(v))))}};function Mi(e){return e.options.scope?.id}var Ni=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??l(r,t),a=this.get(i);return a||(a=new b({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){d.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>u(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>u(e,t)):t}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){d.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){d.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Pi=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ni,this.#t=e.mutationCache||new ji,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=g.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(c(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=p(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return d.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;d.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return d.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=d.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(v).catch(v)}invalidateQueries(e,t={}){return d.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=d.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(v)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(v)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(c(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(v).catch(v)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(v).catch(v)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return g.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(f(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{s(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(f(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{s(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=l(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===o&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function Fi(){try{return sessionStorage}catch{return}}var Ii=`tsr-scroll-restoration-v1_3`,Li=Fi();function Ri(){try{return JSON.parse(Li?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function zi(){try{Li?.setItem(Ii,JSON.stringify(Bi))}catch{}}var Bi=Ri(),Vi=`data-scroll-restoration-id`,Hi=e=>e.state.__TSR_key||e.href;function Ui(e){let t=e.getAttribute(Vi);if(t)return`[${Vi}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Wi=!1,Gi=`window`;function Ki(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function qi(e){let t=new Set;for(let n of e){if(n===Gi)continue;let e=Ki(n);e&&t.add(e)}return t}function Ji(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||Hi,a=new Set,o=e=>{let t=Bi[e]||={};for(let e of a)e===document?t[Gi]={scrollX,scrollY}:e.isConnected&&(t[Ui(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Wi=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Wi||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),zi()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Bi[d];if(e){let t=Bi[u];for(let n in e){if(n===Gi){if(s)continue}else{let e=Ki(n);if(!e||s&&o&&(l??=qi(o),l.has(e)))continue}t||=Bi[u]={},t[n]??=e[n]}}}Wi=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=qi(o));let t=e&&i&&c,s=r.restoring?Bi[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Gi){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Ki(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Wi=!1}}))}function Yi(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function Xi(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function Zi(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=Xi(r):Array.isArray(t)?t.push(Xi(r)):n[e]=[t,Xi(r)]}return n}var Qi=/^(?:\s|["[{\d-]|fa|nu|tr)/,$i=ta(JSON.parse),ea=na(JSON.stringify,JSON.parse);function ta(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=Zi(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function na(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!Qi.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=Yi(e,r);return t?`?${t}`:``}}function ra(e){return{input:({url:t})=>{for(let n of e)t=aa(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=oa(e[n],t);return t}}}function ia(e){let t=se(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=ee([`/`,t,e.pathname]),e)}}function aa(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function oa(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function sa(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{fe(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var ca=`__TSR_index`,la=`popstate`,ua=`beforeunload`;function da(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=ha(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[ca];i=fa(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[ca];i=fa(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[ca]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function fa(e,t){t||={};let n=ga();return{...t,key:n,__TSR_key:n,[ca]:e}}function pa(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>ha(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=ga();t.history.replaceState({[ca]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(e,t,n)=>{let r=s(t),i=!!g;i||(u=l),l=ha(t,n),g=[r,n,g?.[2]||e],i||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(f){f=!1;return}let e=c(),n=e.state[ca]-l.state[ca],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=da({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(ua,x,{capture:!0}),t.removeEventListener(la,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(ua,x,{capture:!0}),t.addEventListener(la,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function ma(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function ha(e,t){let n=ma(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=ga();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[ca]:0,key:a,__TSR_key:a}}}function ga(){return(Math.random()+1).toString(36).substring(7)}function _a(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function va(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function ya({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function ba(e,t,n,r){for(let i of t){if(r?.()===!1)return;n.some(e=>e.routeId===i.routeId)||e.routesById[i.routeId].options.onLeave?.(i)}for(let i of n){if(r?.()===!1)return;e.routesById[i.routeId].options[t.some(e=>e.routeId===i.routeId)?`onStay`:`onEnter`]?.(i)}}var xa=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=oe(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:pa()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`,this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=M(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=sa(this.latestLocation,e),Ji(this)}let a=this.options.basepath??`/`,o=this.options.rewrite;if(r||n!==a||i!==o){this.basepath=a;let e=[],t=se(a);t&&t!==`/`&&e.push(ia({basepath:a})),o&&e.push(o),this.rewrite=e.length===0?void 0:e.length===1?e[0]:ra(e),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=N(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&ie(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:te(e).path,external:!1,searchStr:o,search:P(t?.search,i),hash:te(r.slice(1)).path,state:w(t?.state,a)}}let o=new URL(i,this.origin),s=aa(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:te(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:P(t?.search,c),hash:te(s.hash.slice(1)).path,state:w(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>ae({base:e,to:t.includes(`//`)?I(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=j(F(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this._pendingLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r[1],a=t.to?`${t.to}`:void 0,o=r[2],s=Object.assign(Object.create(null),r[3]),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=Da(t.params,s),d=this.routesByPath[F(l)],f;if(d)f=this.getRouteBranch(d);else if(l.includes(`$`))f=[];else{let[e,t,n]=this.getMatchedRoutes(l);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}if(f.length&&A(u))for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let p=e.leaveParams?l:te(re({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,m=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,wa(t.options.validateSearch,{...e,...m}))}catch{}}),m=e}m=Ta(m,t,f,e._includeValidateSearch),m=P(o,m);let h=this.options.stringifySearch(m),g=t.hash===!0?n.hash:t.hash?ue(t.hash,n.hash):void 0,_=g?`#${g}`:``,v=t.state===!0?n.state:t.state?ue(t.state,n.state):{};v=w(n.state,v);let y=`${p}${h}${_}`,b,x,S=!1;if(this.rewrite){let e=new URL(y,this.origin),t=oa(this.rewrite,e);b=e.href.replace(e.origin,``),t.origin===this.origin?x=t.pathname+t.search+t.hash:(x=t.href,S=!0)}else b=k(y),x=b;return{publicHref:x,href:b,pathname:p,search:m,searchStr:h,state:v,hash:g??``,external:S,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=ne(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=Da(s,n);r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=F(this.latestLocation.href)===F(n.href)&&de(ya(n.state),ya(this.latestLocation.state)),a=this._commitPromise,o,s=new Promise(e=>{o=e});if(s.resolve=()=>{o(),a?.resolve()},this._commitPromise=s,i)this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:r}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,_redirects:a,href:o,...s}={})=>{if(o){let t=this.history.location.state.__TSR_index,n=ha(o,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);s.to=aa(this.rewrite,r).pathname,s.search=this.options.parseSearch(n.search),s.hash=n.hash.slice(1)}let c=this.buildLocation({...s,_includeValidateSearch:!0});a&&(c._redirects=a),this._pendingLocation=c;let l=this.commitLocation({...c,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===c&&(this._pendingLocation=void 0)}),l},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(E(t,this.protocolAllowlist))return;if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return}i.replace?window.location.replace(t):window.location.href=t;return}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await bo(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(va(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set([...t,...this._cache.values(),...[...r?.values()??[]].flat(),...this._tx?.[3]??[]].filter(e=>!n||n(e)).map(e=>e.id)),a=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),a.push(e));let o=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&_a(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(o);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of a)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=(e.options._builtLocation??this.buildLocation(e.options)).publicHref||`/`;e.options.href=t,e.headers.set(`Location`,t)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&E(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=ja,this.preloadRoute=e=>xo(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=L(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!de(o.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?de(a.search,r.search,{partial:!0})?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??ea,parseSearch:e.parseSearch??$i,protocolAllowlist:e.protocolAllowlist??le}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=ce(e),this.routeBranchCache.set(e,t)),t}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:F(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?Ea(this.options.notFoundMode,a):void 0,c=Array(a.length),l=this._committed,u=(e,t)=>{let n=l[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?l.find(t=>t.routeId===e.id):void 0},d;for(let n=0;n{let r=n(t.preSearchFilters?t.preSearchFilters.reduce((e,t)=>t(e),e):e);return t.postSearchFilters?t.postSearchFilters.reduce((e,t)=>t(e),r):r});let n=t.validateSearch;n&&i.push(({search:e,next:t,meta:i})=>{let a=t(e);if(r)try{let e=wa(n,a);if(i&&e)for(let t in e)t in a||(i.defaulted||=new Map).set(t,e[t]);return{...a,...e}}catch{}return a})}let a=(e,n,r)=>{if(e>=i.length){if(!t.search)return{};if(t.search===!0)return n;let e=ue(t.search,n);return r&&(r.explicit=e),e}return i[e]({search:n,next:(t,n)=>{if(n){let n=r||{};return{search:a(e+1,t,n),meta:n}}return a(e+1,t,r)},meta:r})};return a(0,e)}function Ea(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return be}function Da(e,t){return e===!1||e===null?Object.create(null):(e??!0)===!0?t:Object.assign(t,ue(e,t))}function Oa(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function ka(e,t){return e.options[t]?.preload?.()}function Aa(e,t){let n=ka(e,`component`),r=ka(e,`pendingComponent`),i=t&&r?r.then(t):r;return t&&!r&&t(),n&&i?Promise.all([n,i]).then(()=>{}):n??i}function ja(e,t,n){let r=()=>t===!1?void 0:t?ka(e,t):Aa(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function Ma(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Va(e,t){return e.routesById[t.routeId]}function Ha(e,t,n){return Se(e)?[La,e]:ge(e)?(e.routeId||=n,[Ia,e]):(t&&typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),t?[Fa,e]:[Pa,e])}function Ua(e,t){let n=Ha(t,!0,e.id);if(n[0]!==Fa)return n;try{e.options.onError?.(n[1])}catch(t){n=Ha(t,!0,e.id)}return n}function Wa(e,t,n){return n[0].signal.aborted||!n[2]()?(n[0].abort(),[Ra]):Ua(e,t)}function Ga(e,t){return n=>e.navigate({...n,_fromLocation:t})}async function Ka(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[4];for(let t=n[7]??0;t=a&&(r.status=`pending`),n[8]?.();try{Za(e,r,`beforeLoad`,n[0]);let a=await Ba(m(h),c);if(!n[2]())return n[0].abort(),[t,[Ra]];let o=Ha(a,!1,i.id);if(o[0]!==Pa)return Ja(e,r),[t,o];r.context={...f,...a}}catch(a){return Ja(e,r),[t,Wa(i,a,n)]}finally{g===`success`&&r.status===`pending`&&(r.status=`success`),Za(e,r,!1,n[0])}}i()}function qa(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function Ja(e,t){let n=t._flight;t._flight=void 0,qa(e,t,n)?.abort()}function Ya(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=qa(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Xa(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Za(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Qa(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:Ga(e,s),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function $a(e,t,n,r,i,a,o,s){let c=s.signal;if(c.aborted)return[Ra];if(!i)return[Pa,void 0];let l=n._flight;Za(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Qa(e,t,n,r,s,a,o))).then(e=>Ha(e,!1,r.id),e=>Ha(e,!0,r.id)).then(t=>(t[0]!==Pa&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===Fa&&l[2]?Ua(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],await Ba(l[0],c)}catch(t){if(t!==c)throw t;return Ja(e,n),[Ra]}finally{Za(e,n,!1,s)}}function eo(e,t,n){t[0]===Pa?(e.loaderData=t[1],e.error=void 0,e.status=`success`,e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):t[0]!==La&&(e.status=`success`,e.error=void 0,e.invalid=!0)}function to(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&Ja(e,r)}function no(e,t){return t[0]===Fa||t[0]===Ia?{...e,status:t[0]===Fa?`error`:`notFound`,error:t[1],_flight:void 0}:e}function ro(e,t,n,r,i,a,o){let s=t[1][n],c=Va(e,s),l=!!a[4],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Qa(e,t,s,c,a[0],i,l))),a[2]()||(a[0].abort(),p=[Ra])),!p){if(s.status!==`success`)f=!0;else{let t=a[4]||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[6]||s.cause===`enter`||a[3].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(t){s.invalid=!0,Ja(e,s),p=Wa(c,t,a)}let m=c.options.loader,h=typeof m==`function`?m:m?.handler,g=(!l||c.options.preload!==!1)&&m?e._flights?.get(s.id):void 0;g===s._flight||p?g=void 0:g&&!f&&!l&&d===void 0?f=!0:f||(g=void 0);let _=!!(m&&f&&s.status===`success`&&!l&&!a[5]&&((typeof m==`function`?void 0:m?.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),v=f&&(!l||c.options.preload!==!1),y=v&&!_&&(s.status!==`success`||!!m),b=c.lazyFn&&c._lazy!==!0?a[8]:void 0;if(v&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),g&&g[2]++,y){let t=s._flight;s._flight=g,qa(e,s,t)?.abort(),s.status===`success`&&n>=o&&(s.status=`pending`),a[8]?.()}v||(s.isFetching=!1);let x=(p?Promise.resolve(p):y?$a(e,t,s,c,h,i,l,a[0]):Promise.resolve([Pa,s.loaderData])).then(t=>(y&&(eo(s,t,l),t[0]===Pa&&(m&&!a[0].signal.aborted&&to(e,s,u),s.status=`pending`)),t)),S=Ba(Promise.resolve().then(()=>ja(c,void 0,b)),a[0].signal).then(()=>void 0,e=>[n,Wa(c,e,a)]).then(e=>x.then(t=>(y&&!e&&t[0]===Pa&&s.status===`pending`&&a[2]()&&(s.status=`success`,a[8]?.()),e)));if(r.push([n,x,S]),!_)return x.then(e=>no(s,e));let C={...s,status:`pending`,preload:!1,_flight:g};s.invalid=!1,s.isFetching=`loader`;let w=$a(e,t,C,c,h,i,!1,a[0]).then(e=>(s.isFetching=!1,eo(C,e,!1),e));return(t[2]??=[]).push([n,w,S,C]),w.then(e=>no(C,e))}async function io(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Va(e,t[n]),a=ja(i,!1);if(a)try{await Ba(a,r)}catch(e){if(e===r)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function ao(e,t){t[2]&&=(Ya(e,t[2].map(e=>e[3])),void 0)}async function oo(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=La)throw[a,t];!i&&t[0]!==Pa&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===La)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}async function so(e,t,n,r,i,a,o){let s=t[1],c=await a,l=!1,u=s.findIndex(e=>e._notFound),d=t=>t[1][0]===Ia?io(e,s,t,r.signal):t[0],f=u<0?s.length:u;if((c?.[1][0]??0)>=La)f=0;else if(c){f=c[2]??=await d(c);for(let e of n){if(e[0]>=f)break;let t=await e[1];if(t[0]!==Pa&&t[0]=f)break;let t=await e[2];if(t){c=t;break}}if((c?.[1][0]??0)>=La){let n=c[1];if(n[0]!==La||n[1].options.reloadDocument||i<20)return ao(e,t),n;l=!0,c=[0,[Fa,Error(`Too many redirects`)]]}let p=c?c[2]??await d(c):u;if(p>=0){let i=c?.[1],a=i?.[0],u=s[p],d=i?.[1],f=()=>{i&&(u._notFound=void 0,a===Fa?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};f();let m=Va(e,u);try{await Ba(i?Promise.resolve().then(()=>ja(m,a===Fa?`errorComponent`:`notFoundComponent`)):Promise.all([ja(m),ja(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal)return ao(e,t),[Ra]}i?l&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),ao(e,t),Ya(e,s),f()):(u.status=`success`,o?.())}return t}async function W(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&o>=0){let t=await io(e,i[1],void 0,r[0].signal,o);t!==o&&(n[o]._notFound=void 0,n[t]._notFound=!0),o=t}let s=o<0?n.length:o+1,c=0;for(;c{for(let t=u;t=La&&(s=0),f()),r[2]()&&!r[4]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let m;try{let t=so(e,i,l,r[0],r[1],oo(l,p,i[2]),r[8]);i[2]?.length&&(i[3]=oo(i[2],void 0,void 0,t.then(e=>za(e)?0:Ma(e[1]).length,()=>0))),m=await t}catch(t){throw ao(e,i),t}return za(m)?m:W(e,m,r[0].signal,r[7]===m[1].length?r[7]:0)}function lo(e,t){if(e._tx!==t)return;let n=e._pending,r=!1,i=n?.[0][3][n[1]]?.id;n?.[0]!==t&&(n&&t[3][n[1]]?.id===i?(n[0]=t,r=!0):(clearTimeout(n?.[3]),e._pending=n=void 0));let a=t[3],o=e.stores.matches.get(),s=-1,c,l,u,d=!1;for(let t=0;t0){n[3]=setTimeout(()=>lo(e,t),r);return}n[2]=0}let p=a.map(e=>({...e,_flight:void 0}));p[s].status=`pending`;let m=e.startTransition(()=>e.stores.setMatches(p),p).then(t=>(t&&e._pending===n&&n[4]===m&&!n[2]&&(n[2]=Date.now()+l),t));n[4]=m}function uo(e,t){let n=e._pending;n?.[0]===t&&(clearTimeout(n[3]),e._pending=void 0)}function fo(e,t){e._committed=t,e.stores.setMatches(t)}function po(e,t){Ya(e,t[1]),ao(e,t)}function mo(e,t,n,r){let i=e._committed,a=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let o=Ma(n).length,s=new Map,c=Date.now();for(let t of[...i,...a.values()]){if(t.status!==`success`||n.some((e,n)=>e.id===t.id&&(n=(t.preload?r.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:r.options.gcTime??e.options.defaultGcTime??3e5)||s.set(t.id,a.get(t.id)===t?t:{...t,_flight:void 0,isFetching:!1,context:{}})}t[3]=[],e._cache=s,fo(e,n),Ya(e,[...a.values(),...i],[...n,...s.values()]),ba(e,i,n,()=>e._tx===t)}async function ho(e,t){let n=e._tx;for(;n&&n!==t;){if(await n[5],e._tx===n)return;n=e._tx}}async function go(e,t,n){await e.navigate({...n.options,replace:!0,ignoreBlocker:!0,_redirects:t[1]+1})}function _o(e,t){uo(e,t),t[0].abort(),Ya(e,t[3]),t[3]=[],e._tx===t&&(e.batch(()=>{e.stores.status.set(`idle`),e.stores.setMatches(e._committed)}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0))}async function vo(e,t,n,r,i){let a=n.map(e=>({...e}));Xa(a);for(let t of r)Ja(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await so(e,o,r,t[0],t[1],i)}catch(t){throw Ya(e,a),t}if(za(s)){Ya(e,a),s[0]===La&&e._tx===t&&e._committed===n&&await go(e,t,s[1]);return}let c=await W(e,s,t[0].signal);if(e._tx!==t||e._committed!==n){Ya(e,c[1]);return}for(let t of c[1]){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),Ja(e,n))}fo(e,c[1]),Ya(e,n,c[1])}async function yo(e,t,n,r,i,a){let o=[t[0],t[1],()=>e._tx===t&&!!t[3].length,e._committed,void 0,i,n,a,r],s=await co(e,t[2],t[3],o);if(za(s)){s[0]===La&&e._tx===t?(uo(e,t),Ya(e,t[3]),t[3]=[],e._tx===t&&await go(e,t,s[1])):_o(e,t);return}let c=e._pending;if(c?.[0]===t&&(clearTimeout(c[3]),c[4])){let n=t[0].signal,r=!1;try{r=await Ba(c[4],n)}catch(e){if(e!==n)throw e}if(r&&e._pending===c&&c[0]===t){let e=c[2]-Date.now();if(e>0){try{await Ba(new Promise(t=>{c[3]=setTimeout(t,e)}),n)}catch{}clearTimeout(c[3])}}}if(e._tx!==t){uo(e,t),po(e,s);return}let l=t[2],u=va(l,e.stores.resolvedLocation.get()),d=s[2];await e.startViewTransition(async()=>{if(e._tx!==t){po(e,s);return}let n=await e.startTransition(()=>{uo(e,t),mo(e,t,s[1],a),e._tx===t&&(e.emit({type:`onLoad`,...u}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...u}))},s[1]);if(e._tx!==t){ao(e,s);return}d?.length&&vo(e,t,s[1],d,s[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(l),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...u}),n&&e._tx===t&&e.emit({type:`onRendered`,...u})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function bo(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),u.signal.aborted){await ho(e,n);return}let f=va(a,r);if(e.emit({type:`onBeforeNavigate`,...f}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...f}),u.signal.aborted){await ho(e,n);return}let p=i.href===a.href,m,h=u;try{m=e.matchRoutes(a,{_controller:u}),Xa(m)}catch(t){if(u.abort(),!Se(t)){await ho(e),e._commitPromise?.resolve(),e._commitPromise=void 0;return}await e.navigate({...t.options,replace:!0,ignoreBlocker:!0}),await ho(e,n);return}let g=l?c[1](m):void 0;if(g?h=l:l?.abort(),u.signal.aborted){Ya(e,m),await ho(e,n);return}e._preflight=void 0;let _=[h,s,a,m,Date.now(),Promise.resolve().then(()=>yo(e,_,p,()=>lo(e,_),t?.sync,g)).catch(()=>{e._tx===_&&_o(e,_)})];if(e._tx=_,n){for(let t of e.stores.matches.get()){if(e._tx!==_)break;t.isFetching&&Za(e,t,!1)}n[0].abort(),Ya(e,n[3],_[3],!0)}if(e._tx!==_){Ya(e,_[3]),_[3]=[],await ho(e,_);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),!r&&!m.some(e=>e._notFound)&&lo(e,_);try{await _[5]}finally{await ho(e,_)}}async function xo(e,t,n=0){if(n>20)return;let r=t._builtLocation??e.buildLocation(t),i=e._committed,a=new AbortController,o;try{o=e.matchRoutes(r,{_controller:a}),Xa(o)}catch(e){a.abort(),ge(e)||console.error(e);return}(e._preloads??=new Map).set(a,o);let s;try{let t;try{t=await co(e,r,o,[a,n,()=>!0,i,!0])}finally{s=e._preloads.delete(a),Ya(e,o),a.abort()}if(!za(t))return t[1];if(s&&t[0]===La&&!t[1].options.reloadDocument)return xo(e,{...t[1].options,_fromLocation:r},n+1)}catch(e){ge(e)||console.error(e)}}function So(e,t){if(e)return typeof e==`string`?e:e[t]}function Co(e){return e?.scriptFormat??`module`}function wo(e,t,n){let r=To(t),i=So(n,`script`)??r.crossOrigin;return{...Co(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function To(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function Eo(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function Do(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}var G=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(G||{});function Oo({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function ko(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Ao=[],jo=0,{link:Mo,unlink:No,propagate:Po,checkDirty:Fo,shallowPropagate:Io}=Oo({update(e){return e._update()},notify(e){Ao[Ro++]=e,e.flags&=~G.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=G.Mutable|G.Dirty,Ho(e))}}),Lo=0,Ro=0,zo,Bo=0;function Vo(e){try{++Bo,e()}finally{--Bo||Uo()}}function Ho(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=No(n,e)}function Uo(){if(!(Bo>0)){for(;Lo{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=zo,o=t?.compare??Object.is;if(n)zo=i,++jo,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=G.Mutable|G.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{zo=a,n&&(i.flags&=~G.RecursedCheck),Ho(i)}}};return n?(i.flags=G.Mutable|G.Dirty,i.get=function(){let e=i.flags;if(e&G.Dirty||e&G.Pending&&Fo(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Io(e)}}else e&G.Pending&&(i.flags=e&~G.Pending);return zo!==void 0&&Mo(i,zo,jo),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Po(e),Io(e),Uo())}},i}function Go(e){let t=()=>{let t=zo;zo=n,++jo,n.depsTail=void 0,n.flags=G.Watching|G.RecursedCheck;try{return e()}finally{zo=t,n.flags&=~G.RecursedCheck,Ho(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:G.Watching|G.RecursedCheck,notify(){let e=this.flags;e&G.Dirty||e&G.Pending&&Fo(this.deps,this)?t():this.flags=G.Watching},stop(){this.flags=G.None,this.depsTail=void 0,Ho(this)}};return t(),n}var K=e(r(),1);function Ko(e,t){let n=e[1];e.length=0,n?.(t)}function qo({t:e}){let t=De(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise((a,o)=>{Ko(n,!1),n.push(i,a),e(t),K.startTransition(()=>{try{r()}catch(e){n[1]===a&&(n.length=0),o(e)}})}),D(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(F(r.publicHref)!==F(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...va(a,a)})}):t._tx||t.load().catch(console.error),e},[t,t.history]),null}var q=n();function Jo(){let e=De(),t=e.routesById[be],n=_e(e,t),r=e.ssr?me:K.Suspense,i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(qo,{t:K.useState()[1]}),(0,q.jsx)(r,{fallback:n,children:(0,q.jsx)(Yo,{})})]});return e.options.InnerWrap?(0,q.jsx)(e.options.InnerWrap,{children:i}):i}function Yo(){let e=De(),t=e._rendered,n=Ae(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;D(()=>{t[0]===n&&Ko(t,!0)},[t,n]);let a=i?(0,q.jsx)(ve,{routeId:i}):null;return(0,q.jsx)(ye.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,q.jsx)(pe,{getResetKey:()=>r,onCatch:void 0,children:a})})}var Xo=e=>({createMutableStore:Wo,createReadonlyStore:Wo,batch:Vo}),Zo=e=>new Qo(e),Qo=class extends xa{constructor(e){super(e,Xo)}};function $o({router:e,children:t,...n}){A(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,q.jsx)(Ee.Provider,{value:e,children:t});return e.options.Wrap?(0,q.jsx)(e.options.Wrap,{children:r}):r}function es({router:e,...t}){return(0,q.jsx)($o,{router:e,...t,children:(0,q.jsx)(Jo,{})})}function ts(e){let t=De();return Ae(t.stores.location,Ce(e,t))}function ns(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function rs(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e;switch(e.tag){case`title`:return(0,q.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,q.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,q.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,q.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,q.jsx)(is,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function is({attrs:e,children:t,preventScriptHoist:n}){De();let r=ke(),i=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(K.useEffect(()=>{if(!i){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();for(let e of document.querySelectorAll(`script[src]`))if(e.src===t)return;let n=document.createElement(`script`);return ns(n,e),document.head.appendChild(n),()=>n.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.querySelectorAll(`script:not([src])`)){if(!(e instanceof HTMLScriptElement))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,ns(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,i]),i&&typeof t==`string`)return(0,q.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!r){if(e?.src)return(0,q.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,q.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}function as(e,t,n,r){n=Na(n);let i=n.map(e=>e.meta).filter(e=>e!==void 0),a=[],o={},s;for(let e=i.length-1;e>=0;e--){let n=i[e];for(let e=n.length-1;e>=0;e--){let r=n[e];if(r){if(r.title)s||={tag:`title`,children:r.title};else if(`script:ld+json`in r)try{let e=JSON.stringify(r[`script:ld+json`]);a.push({tag:`script`,attrs:{type:`application/ld+json`},children:T(e)})}catch{}else{let e=r.name??r.property;if(e){if(o[e])continue;o[e]=!0}a.push({tag:`meta`,attrs:{...r,nonce:t}})}}}}s&&a.push(s),t&&a.push({tag:`meta`,attrs:{property:`csp-nonce`,content:t}}),a.reverse();let c=n.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:t}})),l=e.ssr?.manifest,u=[];l&&(n.forEach(e=>{(l.routes[e.routeId]?.css)?.forEach(e=>{let n=Do(e);u.push({tag:`link`,attrs:{rel:`stylesheet`,...n,crossOrigin:So(r,`stylesheet`)??n.crossOrigin,suppressHydrationWarning:!0,nonce:t}})})}),l.inlineStyle&&u.push({tag:`style`,attrs:{...l.inlineStyle.attrs,nonce:t},children:l.inlineStyle.children,inlineCss:!0}));let d=[];l&&n.forEach(e=>{l.routes[e.routeId]?.preloads?.forEach(e=>{d.push({tag:`link`,attrs:{...wo(l,e,r),nonce:t}})})});let f=n.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`style`,attrs:{...n,nonce:t},children:e})),p=n.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`script`,attrs:{...n,nonce:t},children:e})),m=[];return Eo(m,a),m.push(...d),Eo(m,c),m.push(...u),Eo(m,f),Eo(m,p),m}var os=e=>{let t=De(),n=t.options.ssr?.nonce,r=K.useCallback(r=>as(t,n,r,e),[e,n,t]);return Ae(t.stores.matches,r,de)};function ss(e){let t=os(e.assetCrossOrigin),n=De().options.ssr?.nonce;return(0,q.jsx)(q.Fragment,{children:t.map(e=>(0,K.createElement)(rs,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var cs=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&ee(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ee(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function ee(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ee(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ls=t(((e,t)=>{t.exports=cs()})),us=t((e=>{var t=ls(),n=r(),i=Ne();function a(e){var t=`https://react.dev/errors/`+e;if(1P||(e.current=re[P],re[P]=null,P--)}function I(e,t){P++,re[P]=e.current,e.current=t}var ae=F(null),L=F(null),oe=F(null),se=F(null);function R(e,t){switch(I(oe,t),I(L,e),I(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ie(ae),I(ae,e)}function ce(){ie(ae),ie(L),ie(oe)}function le(e){e.memoizedState!==null&&I(se,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(I(L,e),I(ae,n))}function ue(e){L.current===e&&(ie(ae),ie(L)),se.current===e&&(ie(se),Qf._currentValue=N)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-1i.map(i=>d[i]); +import{a as e,i as t,n,r,t as i}from"./compiler-runtime.js";import{M as a,O as o,S as s,T as c,_ as l,b as u,c as d,g as f,h as p,j as m,n as h,s as g,t as _,x as v,y}from"./QueryClientProvider.js";import{t as b}from"./query.js";import{t as x}from"./mutation.js";import{A as S,C,E as w,M as T,O as E,S as ee,T as D,a as te,b as O,d as ne,f as re,g as ie,h as k,i as A,k as ae,l as oe,m as se,n as ce,o as le,p as j,r as ue,s as de,t as M,u as fe,v as pe,w as me,x as he,y as ge}from"./link.js";import{a as _e,i as ve,n as ye,o as be,r as xe,t as Se}from"./Match.js";import{n as Ce,r as we}from"./matchContext.js";import{n as Te,t as Ee}from"./redirect.js";import{i as De,n as N,r as Oe,t as P}from"./lazyRouteComponent.js";import{a as ke,i as Ae,r as je,s as Me,t as Ne}from"./useStore.js";import{t as Pe}from"./useNavigate.js";import{d as Fe,f as Ie,n as Le,o as Re,t as ze}from"./useValueAsRef.js";import{a as Be,f as Ve,l as He,n as Ue,o as We,t as Ge,u as Ke}from"./dist.js";import{t as qe}from"./useRender.js";import{Yt as F,a as Je,i as Ye,n as Xe,rt as I}from"./cluster-config.js";import{t as L}from"./createLucideIcon.js";import{t as Ze}from"./camera.js";import{a as Qe,c as $e,i as et,n as tt,o as nt,r as rt,s as it,t as at}from"./waypoints.js";import{n as ot,t as st}from"./_id.js";import{n as ct,t as lt}from"./_clusterName.js";import{n as ut,t as dt}from"./_id2.js";import{_ as ft,b as pt,n as mt,o as ht,s as gt,t as _t,y as vt}from"./button.js";import{C as R,b as yt,f as bt,g as xt,h as St,i as Ct,m as wt,s as Tt,t as Et,v as Dt,x as Ot,y as z}from"./createBaseUIEventDetails.js";import{A as kt,B as At,E as jt,F as Mt,G as Nt,J as Pt,M as Ft,N as It,O as Lt,R as Rt,S as zt,U as Bt,W as Vt,Y as Ht,b as Ut,bt as Wt,ct as Gt,dt as Kt,ft as qt,g as Jt,h as Yt,k as Xt,lt as Zt,m as Qt,nt as $t,ot as en,p as tn,q as nn,vt as rn,w as an,x as on,y as sn}from"./useScrollLock.js";import{n as cn,r as ln,t as un}from"./usePositioner.js";import"./input.js";import{t as dn}from"./separator.js";import{a as fn,c as pn,i as mn,l as hn,n as gn,o as _n,r as vn,s as yn,t as bn,u as xn}from"./DialogTitle.js";import{t as Sn}from"./awsClient.js";import{n as Cn,t as wn}from"./admin-context.js";import{t as Tn}from"./acm.js";import{A as En,E as Dn,M as On,O as kn,S as An,_ as jn,c as Mn,d as Nn,h as Pn,l as Fn,n as In,o as Ln,p as Rn,r as zn,w as Bn,y as Vn}from"./ec2.js";import{n as Hn}from"./ecr.js";import{n as Un,o as Wn}from"./ecs.js";import{c as Gn}from"./eks2.js";import{a as Kn,o as qn,u as Jn}from"./elbv22.js";import{C as Yn,f as Xn,l as Zn,p as Qn,y as $n}from"./iam2.js";import{a as er,d as tr,h as nr,o as rr,r as ir}from"./rds3.js";import{n as ar}from"./s32.js";import{t as or}from"./login.js";import{t as sr}from"./run-instances.js";import{t as cr}from"./create-snapshot.js";import{t as lr}from"./create-service.js";import{t as ur}from"./register-task-definition.js";import{t as dr}from"./run-task.js";import{t as fr}from"./_id3.js";import{t as pr}from"./_id4.js";import{t as mr}from"./_id5.js";import{t as hr}from"./_id6.js";import{t as gr}from"./_id7.js";import{t as _r}from"./_id8.js";import{t as vr}from"./_id9.js";import{t as yr}from"./_id10.js";import{t as br}from"./_id11.js";import{t as xr}from"./_id12.js";import{t as Sr}from"./_id13.js";import{t as Cr}from"./_id14.js";import{t as wr}from"./_id15.js";import{t as Tr}from"./_id16.js";import{t as Er}from"./_id17.js";import{t as Dr}from"./_id18.js";import{t as Or}from"./_clusterName2.js";import{t as kr}from"./_groupName.js";import{t as Ar}from"./_instanceProfileName.js";import{t as jr}from"./_policyArn.js";import{t as Mr}from"./_roleName.js";import{t as Nr}from"./_userName.js";import{t as Pr}from"./_id19.js";import{t as Fr}from"./_name.js";import{t as Ir}from"./_id20.js";import{t as Lr}from"./_id21.js";import{t as Rr}from"./_name2.js";import{t as zr}from"./_bucket.js";import{t as Br}from"./_.js";import{t as Vr}from"./_serviceName.js";import{t as Hr}from"./_taskId.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Ur=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new x({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Wr(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Wr(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Wr(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Wr(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){d.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>y(t,e))}findAll(e={}){return this.getAll().filter(t=>y(e,t))}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return d.batch(()=>Promise.all(e.map(e=>e.continue().catch(v))))}};function Wr(e){return e.options.scope?.id}var Gr=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??l(r,t),a=this.get(i);return a||(a=new b({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){d.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>u(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>u(e,t)):t}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){d.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){d.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Kr=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Gr,this.#t=e.mutationCache||new Ur,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=g.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(c(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=p(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return d.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;d.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return d.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=d.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(v).catch(v)}invalidateQueries(e,t={}){return d.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=d.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(v)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(v)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(c(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(v).catch(v)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(v).catch(v)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return g.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(f(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{s(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(f(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{s(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=l(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===o&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function qr(){try{return sessionStorage}catch{return}}var Jr=`tsr-scroll-restoration-v1_3`,Yr=qr();function Xr(){try{return JSON.parse(Yr?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Zr(){try{Yr?.setItem(Jr,JSON.stringify(Qr))}catch{}}var Qr=Xr(),$r=`data-scroll-restoration-id`,ei=e=>e.state.__TSR_key||e.href;function ti(e){let t=e.getAttribute($r);if(t)return`[${$r}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var ni=!1,ri=`window`;function ii(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function ai(e){let t=new Set;for(let n of e){if(n===ri)continue;let e=ii(n);e&&t.add(e)}return t}function oi(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||ei,a=new Set,o=e=>{let t=Qr[e]||={};for(let e of a)e===document?t[ri]={scrollX,scrollY}:e.isConnected&&(t[ti(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,ni=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{ni||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Zr()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Qr[d];if(e){let t=Qr[u];for(let n in e){if(n===ri){if(s)continue}else{let e=ii(n);if(!e||s&&o&&(l??=ai(o),l.has(e)))continue}t||=Qr[u]={},t[n]??=e[n]}}}ni=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=ai(o));let t=e&&i&&c,s=r.restoring?Qr[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===ri){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=ii(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{ni=!1}}))}function si(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function ci(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function li(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=ci(r):Array.isArray(t)?t.push(ci(r)):n[e]=[t,ci(r)]}return n}var ui=/^(?:\s|["[{\d-]|fa|nu|tr)/,di=pi(JSON.parse),fi=mi(JSON.stringify,JSON.parse);function pi(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=li(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function mi(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!ui.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=si(e,r);return t?`?${t}`:``}}function hi(e){return{input:({url:t})=>{for(let n of e)t=_i(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=vi(e[n],t);return t}}}function gi(e){let t=de(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=te([`/`,t,e.pathname]),e)}}function _i(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function vi(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function yi(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{ge(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var bi=`__TSR_index`,xi=`popstate`,Si=`beforeunload`;function Ci(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=Di(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[bi];i=wi(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[bi];i=wi(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[bi]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function wi(e,t){t||={};let n=Oi();return{...t,key:n,__TSR_key:n,[bi]:e}}function Ti(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>Di(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Oi();t.history.replaceState({[bi]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(e,t,n)=>{let r=s(t),i=!!g;i||(u=l),l=Di(t,n),g=[r,n,g?.[2]||e],i||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(f){f=!1;return}let e=c(),n=e.state[bi]-l.state[bi],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Ci({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Si,x,{capture:!0}),t.removeEventListener(xi,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(Si,x,{capture:!0}),t.addEventListener(xi,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function Ei(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function Di(e,t){let n=Ei(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=Oi();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[bi]:0,key:a,__TSR_key:a}}}function Oi(){return(Math.random()+1).toString(36).substring(7)}function ki(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Ai(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function ji({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function Mi(e,t,n,r){for(let i of t){if(r?.()===!1)return;n.some(e=>e.routeId===i.routeId)||e.routesById[i.routeId].options.onLeave?.(i)}for(let i of n){if(r?.()===!1)return;e.routesById[i.routeId].options[t.some(e=>e.routeId===i.routeId)?`onStay`:`onEnter`]?.(i)}}var B=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=ue(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Ti()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`,this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=ie(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=yi(this.latestLocation,e),oi(this)}let a=this.options.basepath??`/`,o=this.options.rewrite;if(r||n!==a||i!==o){this.basepath=a;let e=[],t=de(a);t&&t!==`/`&&e.push(gi({basepath:a})),o&&e.push(o),this.rewrite=e.length===0?void 0:e.length===1?e[0]:hi(e),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=k(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&se(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:O(e).path,external:!1,searchStr:o,search:ae(t?.search,i),hash:O(r.slice(1)).path,state:S(t?.state,a)}}let o=new URL(i,this.origin),s=_i(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:O(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:ae(t?.search,c),hash:O(s.hash.slice(1)).path,state:S(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>le({base:e,to:t.includes(`//`)?ce(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=re(oe(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this._pendingLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r[1],a=t.to?`${t.to}`:void 0,o=r[2],s=Object.assign(Object.create(null),r[3]),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=Ri(t.params,s),d=this.routesByPath[oe(l)],f;if(d)f=this.getRouteBranch(d);else if(l.includes(`$`))f=[];else{let[e,t,n]=this.getMatchedRoutes(l);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}if(f.length&&D(u))for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let p=e.leaveParams?l:O(A({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,m=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,Fi(t.options.validateSearch,{...e,...m}))}catch{}}),m=e}m=Ii(m,t,f,e._includeValidateSearch),m=ae(o,m);let h=this.options.stringifySearch(m),g=t.hash===!0?n.hash:t.hash?me(t.hash,n.hash):void 0,_=g?`#${g}`:``,v=t.state===!0?n.state:t.state?me(t.state,n.state):{};v=S(n.state,v);let y=`${p}${h}${_}`,b,x,C=!1;if(this.rewrite){let e=new URL(y,this.origin),t=vi(this.rewrite,e);b=e.href.replace(e.origin,``),t.origin===this.origin?x=t.pathname+t.search+t.hash:(x=t.href,C=!0)}else b=ee(y),x=b;return{publicHref:x,href:b,pathname:p,search:m,searchStr:h,state:v,hash:g??``,external:C,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=ne(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=Ri(s,n);r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=oe(this.latestLocation.href)===oe(n.href)&&he(ji(n.state),ji(this.latestLocation.state)),a=this._commitPromise,o,s=new Promise(e=>{o=e});if(s.resolve=()=>{o(),a?.resolve()},this._commitPromise=s,i)this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:r}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,_redirects:a,href:o,...s}={})=>{if(o){let t=this.history.location.state.__TSR_index,n=Di(o,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);s.to=_i(this.rewrite,r).pathname,s.search=this.options.parseSearch(n.search),s.hash=n.hash.slice(1)}let c=this.buildLocation({...s,_includeValidateSearch:!0});a&&(c._redirects=a),this._pendingLocation=c;let l=this.commitLocation({...c,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===c&&(this._pendingLocation=void 0)}),l},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(w(t,this.protocolAllowlist))return;if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return}i.replace?window.location.replace(t):window.location.href=t;return}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ja(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Ai(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set([...t,...this._cache.values(),...[...r?.values()??[]].flat(),...this._tx?.[3]??[]].filter(e=>!n||n(e)).map(e=>e.id)),a=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),a.push(e));let o=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&ki(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(o);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of a)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=(e.options._builtLocation??this.buildLocation(e.options)).publicHref||`/`;e.options.href=t,e.headers.set(`Location`,t)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&w(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=Hi,this.preloadRoute=e=>Ma(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=j(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!he(o.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?he(a.search,r.search,{partial:!0})?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??fi,parseSearch:e.parseSearch??di,protocolAllowlist:e.protocolAllowlist??pe}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=fe(e),this.routeBranchCache.set(e,t)),t}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:oe(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?Li(this.options.notFoundMode,a):void 0,c=Array(a.length),l=this._committed,u=(e,t)=>{let n=l[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?l.find(t=>t.routeId===e.id):void 0},d;for(let n=0;n{let r=n(t.preSearchFilters?t.preSearchFilters.reduce((e,t)=>t(e),e):e);return t.postSearchFilters?t.postSearchFilters.reduce((e,t)=>t(e),r):r});let n=t.validateSearch;n&&i.push(({search:e,next:t,meta:i})=>{let a=t(e);if(r)try{let e=Fi(n,a);if(i&&e)for(let t in e)t in a||(i.defaulted||=new Map).set(t,e[t]);return{...a,...e}}catch{}return a})}let a=(e,n,r)=>{if(e>=i.length){if(!t.search)return{};if(t.search===!0)return n;let e=me(t.search,n);return r&&(r.explicit=e),e}return i[e]({search:n,next:(t,n)=>{if(n){let n=r||{};return{search:a(e+1,t,n),meta:n}}return a(e+1,t,r)},meta:r})};return a(0,e)}function Li(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return we}function Ri(e,t){return e===!1||e===null?Object.create(null):(e??!0)===!0?t:Object.assign(t,me(e,t))}function zi(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function Bi(e,t){return e.options[t]?.preload?.()}function Vi(e,t){let n=Bi(e,`component`),r=Bi(e,`pendingComponent`),i=t&&r?r.then(t):r;return t&&!r&&t(),n&&i?Promise.all([n,i]).then(()=>{}):n??i}function Hi(e,t,n){let r=()=>t===!1?void 0:t?Bi(e,t):Vi(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function Ui(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Qi(e,t){return e.routesById[t.routeId]}function $i(e,t,n){return Ee(e)?[Ji,e]:be(e)?(e.routeId||=n,[qi,e]):(t&&typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),t?[Ki,e]:[Gi,e])}function ea(e,t){let n=$i(t,!0,e.id);if(n[0]!==Ki)return n;try{e.options.onError?.(n[1])}catch(t){n=$i(t,!0,e.id)}return n}function ta(e,t,n){return n[0].signal.aborted||!n[2]()?(n[0].abort(),[Yi]):ea(e,t)}function na(e,t){return n=>e.navigate({...n,_fromLocation:t})}async function ra(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[4];for(let t=n[7]??0;t=a&&(r.status=`pending`),n[8]?.();try{ca(e,r,`beforeLoad`,n[0]);let a=await Zi(m(h),c);if(!n[2]())return n[0].abort(),[t,[Yi]];let o=$i(a,!1,i.id);if(o[0]!==Gi)return aa(e,r),[t,o];r.context={...f,...a}}catch(a){return aa(e,r),[t,ta(i,a,n)]}finally{g===`success`&&r.status===`pending`&&(r.status=`success`),ca(e,r,!1,n[0])}}i()}function ia(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function aa(e,t){let n=t._flight;t._flight=void 0,ia(e,t,n)?.abort()}function oa(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=ia(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function sa(e){for(let t of e){let e=t._flight;e&&e[2]++}}function ca(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function la(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:na(e,s),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function ua(e,t,n,r,i,a,o,s){let c=s.signal;if(c.aborted)return[Yi];if(!i)return[Gi,void 0];let l=n._flight;ca(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(la(e,t,n,r,s,a,o))).then(e=>$i(e,!1,r.id),e=>$i(e,!0,r.id)).then(t=>(t[0]!==Gi&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===Ki&&l[2]?ea(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],await Zi(l[0],c)}catch(t){if(t!==c)throw t;return aa(e,n),[Yi]}finally{ca(e,n,!1,s)}}function da(e,t,n){t[0]===Gi?(e.loaderData=t[1],e.error=void 0,e.status=`success`,e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):t[0]!==Ji&&(e.status=`success`,e.error=void 0,e.invalid=!0)}function fa(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&aa(e,r)}function pa(e,t){return t[0]===Ki||t[0]===qi?{...e,status:t[0]===Ki?`error`:`notFound`,error:t[1],_flight:void 0}:e}function ma(e,t,n,r,i,a,o){let s=t[1][n],c=Qi(e,s),l=!!a[4],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(la(e,t,s,c,a[0],i,l))),a[2]()||(a[0].abort(),p=[Yi])),!p){if(s.status!==`success`)f=!0;else{let t=a[4]||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[6]||s.cause===`enter`||a[3].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(t){s.invalid=!0,aa(e,s),p=ta(c,t,a)}let m=c.options.loader,h=typeof m==`function`?m:m?.handler,g=(!l||c.options.preload!==!1)&&m?e._flights?.get(s.id):void 0;g===s._flight||p?g=void 0:g&&!f&&!l&&d===void 0?f=!0:f||(g=void 0);let _=!!(m&&f&&s.status===`success`&&!l&&!a[5]&&((typeof m==`function`?void 0:m?.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),v=f&&(!l||c.options.preload!==!1),y=v&&!_&&(s.status!==`success`||!!m),b=c.lazyFn&&c._lazy!==!0?a[8]:void 0;if(v&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),g&&g[2]++,y){let t=s._flight;s._flight=g,ia(e,s,t)?.abort(),s.status===`success`&&n>=o&&(s.status=`pending`),a[8]?.()}v||(s.isFetching=!1);let x=(p?Promise.resolve(p):y?ua(e,t,s,c,h,i,l,a[0]):Promise.resolve([Gi,s.loaderData])).then(t=>(y&&(da(s,t,l),t[0]===Gi&&(m&&!a[0].signal.aborted&&fa(e,s,u),s.status=`pending`)),t)),S=Zi(Promise.resolve().then(()=>Hi(c,void 0,b)),a[0].signal).then(()=>void 0,e=>[n,ta(c,e,a)]).then(e=>x.then(t=>(y&&!e&&t[0]===Gi&&s.status===`pending`&&a[2]()&&(s.status=`success`,a[8]?.()),e)));if(r.push([n,x,S]),!_)return x.then(e=>pa(s,e));let C={...s,status:`pending`,preload:!1,_flight:g};s.invalid=!1,s.isFetching=`loader`;let w=ua(e,t,C,c,h,i,!1,a[0]).then(e=>(s.isFetching=!1,da(C,e,!1),e));return(t[2]??=[]).push([n,w,S,C]),w.then(e=>pa(C,e))}async function ha(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Qi(e,t[n]),a=Hi(i,!1);if(a)try{await Zi(a,r)}catch(e){if(e===r)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function ga(e,t){t[2]&&=(oa(e,t[2].map(e=>e[3])),void 0)}async function _a(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=Ji)throw[a,t];!i&&t[0]!==Gi&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===Ji)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}async function va(e,t,n,r,i,a,o){let s=t[1],c=await a,l=!1,u=s.findIndex(e=>e._notFound),d=t=>t[1][0]===qi?ha(e,s,t,r.signal):t[0],f=u<0?s.length:u;if((c?.[1][0]??0)>=Ji)f=0;else if(c){f=c[2]??=await d(c);for(let e of n){if(e[0]>=f)break;let t=await e[1];if(t[0]!==Gi&&t[0]=f)break;let t=await e[2];if(t){c=t;break}}if((c?.[1][0]??0)>=Ji){let n=c[1];if(n[0]!==Ji||n[1].options.reloadDocument||i<20)return ga(e,t),n;l=!0,c=[0,[Ki,Error(`Too many redirects`)]]}let p=c?c[2]??await d(c):u;if(p>=0){let i=c?.[1],a=i?.[0],u=s[p],d=i?.[1],f=()=>{i&&(u._notFound=void 0,a===Ki?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};f();let m=Qi(e,u);try{await Zi(i?Promise.resolve().then(()=>Hi(m,a===Ki?`errorComponent`:`notFoundComponent`)):Promise.all([Hi(m),Hi(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal)return ga(e,t),[Yi]}i?l&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),ga(e,t),oa(e,s),f()):(u.status=`success`,o?.())}return t}async function ya(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&o>=0){let t=await ha(e,i[1],void 0,r[0].signal,o);t!==o&&(n[o]._notFound=void 0,n[t]._notFound=!0),o=t}let s=o<0?n.length:o+1,c=0;for(;c{for(let t=u;t=Ji&&(s=0),f()),r[2]()&&!r[4]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let m;try{let t=va(e,i,l,r[0],r[1],_a(l,p,i[2]),r[8]);i[2]?.length&&(i[3]=_a(i[2],void 0,void 0,t.then(e=>Xi(e)?0:Ui(e[1]).length,()=>0))),m=await t}catch(t){throw ga(e,i),t}return Xi(m)?m:ya(e,m,r[0].signal,r[7]===m[1].length?r[7]:0)}function xa(e,t){if(e._tx!==t)return;let n=e._pending,r=!1,i=n?.[0][3][n[1]]?.id;n?.[0]!==t&&(n&&t[3][n[1]]?.id===i?(n[0]=t,r=!0):(clearTimeout(n?.[3]),e._pending=n=void 0));let a=t[3],o=e.stores.matches.get(),s=-1,c,l,u,d=!1;for(let t=0;t0){n[3]=setTimeout(()=>xa(e,t),r);return}n[2]=0}let p=a.map(e=>({...e,_flight:void 0}));p[s].status=`pending`;let m=e.startTransition(()=>e.stores.setMatches(p),p).then(t=>(t&&e._pending===n&&n[4]===m&&!n[2]&&(n[2]=Date.now()+l),t));n[4]=m}function Sa(e,t){let n=e._pending;n?.[0]===t&&(clearTimeout(n[3]),e._pending=void 0)}function Ca(e,t){e._committed=t,e.stores.setMatches(t)}function wa(e,t){oa(e,t[1]),ga(e,t)}function Ta(e,t,n,r){let i=e._committed,a=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let o=Ui(n).length,s=new Map,c=Date.now();for(let t of[...i,...a.values()]){if(t.status!==`success`||n.some((e,n)=>e.id===t.id&&(n=(t.preload?r.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:r.options.gcTime??e.options.defaultGcTime??3e5)||s.set(t.id,a.get(t.id)===t?t:{...t,_flight:void 0,isFetching:!1,context:{}})}t[3]=[],e._cache=s,Ca(e,n),oa(e,[...a.values(),...i],[...n,...s.values()]),Mi(e,i,n,()=>e._tx===t)}async function Ea(e,t){let n=e._tx;for(;n&&n!==t;){if(await n[5],e._tx===n)return;n=e._tx}}async function Da(e,t,n){await e.navigate({...n.options,replace:!0,ignoreBlocker:!0,_redirects:t[1]+1})}function Oa(e,t){Sa(e,t),t[0].abort(),oa(e,t[3]),t[3]=[],e._tx===t&&(e.batch(()=>{e.stores.status.set(`idle`),e.stores.setMatches(e._committed)}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0))}async function ka(e,t,n,r,i){let a=n.map(e=>({...e}));sa(a);for(let t of r)aa(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await va(e,o,r,t[0],t[1],i)}catch(t){throw oa(e,a),t}if(Xi(s)){oa(e,a),s[0]===Ji&&e._tx===t&&e._committed===n&&await Da(e,t,s[1]);return}let c=await ya(e,s,t[0].signal);if(e._tx!==t||e._committed!==n){oa(e,c[1]);return}for(let t of c[1]){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),aa(e,n))}Ca(e,c[1]),oa(e,n,c[1])}async function Aa(e,t,n,r,i,a){let o=[t[0],t[1],()=>e._tx===t&&!!t[3].length,e._committed,void 0,i,n,a,r],s=await ba(e,t[2],t[3],o);if(Xi(s)){s[0]===Ji&&e._tx===t?(Sa(e,t),oa(e,t[3]),t[3]=[],e._tx===t&&await Da(e,t,s[1])):Oa(e,t);return}let c=e._pending;if(c?.[0]===t&&(clearTimeout(c[3]),c[4])){let n=t[0].signal,r=!1;try{r=await Zi(c[4],n)}catch(e){if(e!==n)throw e}if(r&&e._pending===c&&c[0]===t){let e=c[2]-Date.now();if(e>0){try{await Zi(new Promise(t=>{c[3]=setTimeout(t,e)}),n)}catch{}clearTimeout(c[3])}}}if(e._tx!==t){Sa(e,t),wa(e,s);return}let l=t[2],u=Ai(l,e.stores.resolvedLocation.get()),d=s[2];await e.startViewTransition(async()=>{if(e._tx!==t){wa(e,s);return}let n=await e.startTransition(()=>{Sa(e,t),Ta(e,t,s[1],a),e._tx===t&&(e.emit({type:`onLoad`,...u}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...u}))},s[1]);if(e._tx!==t){ga(e,s);return}d?.length&&ka(e,t,s[1],d,s[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(l),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...u}),n&&e._tx===t&&e.emit({type:`onRendered`,...u})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ja(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),u.signal.aborted){await Ea(e,n);return}let f=Ai(a,r);if(e.emit({type:`onBeforeNavigate`,...f}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...f}),u.signal.aborted){await Ea(e,n);return}let p=i.href===a.href,m,h=u;try{m=e.matchRoutes(a,{_controller:u}),sa(m)}catch(t){if(u.abort(),!Ee(t)){await Ea(e),e._commitPromise?.resolve(),e._commitPromise=void 0;return}await e.navigate({...t.options,replace:!0,ignoreBlocker:!0}),await Ea(e,n);return}let g=l?c[1](m):void 0;if(g?h=l:l?.abort(),u.signal.aborted){oa(e,m),await Ea(e,n);return}e._preflight=void 0;let _=[h,s,a,m,Date.now(),Promise.resolve().then(()=>Aa(e,_,p,()=>xa(e,_),t?.sync,g)).catch(()=>{e._tx===_&&Oa(e,_)})];if(e._tx=_,n){for(let t of e.stores.matches.get()){if(e._tx!==_)break;t.isFetching&&ca(e,t,!1)}n[0].abort(),oa(e,n[3],_[3],!0)}if(e._tx!==_){oa(e,_[3]),_[3]=[],await Ea(e,_);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),!r&&!m.some(e=>e._notFound)&&xa(e,_);try{await _[5]}finally{await Ea(e,_)}}async function Ma(e,t,n=0){if(n>20)return;let r=t._builtLocation??e.buildLocation(t),i=e._committed,a=new AbortController,o;try{o=e.matchRoutes(r,{_controller:a}),sa(o)}catch(e){a.abort(),be(e)||console.error(e);return}(e._preloads??=new Map).set(a,o);let s;try{let t;try{t=await ba(e,r,o,[a,n,()=>!0,i,!0])}finally{s=e._preloads.delete(a),oa(e,o),a.abort()}if(!Xi(t))return t[1];if(s&&t[0]===Ji&&!t[1].options.reloadDocument)return Ma(e,{...t[1].options,_fromLocation:r},n+1)}catch(e){be(e)||console.error(e)}}function Na(e,t){if(e)return typeof e==`string`?e:e[t]}function Pa(e){return e?.scriptFormat??`module`}function Fa(e,t,n){let r=Ia(t),i=Na(n,`script`)??r.crossOrigin;return{...Pa(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function Ia(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function La(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function Ra(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}var za=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(za||{});function Ba({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Va(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Ha=[],Ua=0,{link:Wa,unlink:Ga,propagate:Ka,checkDirty:qa,shallowPropagate:Ja}=Ba({update(e){return e._update()},notify(e){Ha[Xa++]=e,e.flags&=~za.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=za.Mutable|za.Dirty,eo(e))}}),Ya=0,Xa=0,Za,Qa=0;function $a(e){try{++Qa,e()}finally{--Qa||to()}}function eo(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Ga(n,e)}function to(){if(!(Qa>0)){for(;Ya{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Za,o=t?.compare??Object.is;if(n)Za=i,++Ua,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=za.Mutable|za.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Za=a,n&&(i.flags&=~za.RecursedCheck),eo(i)}}};return n?(i.flags=za.Mutable|za.Dirty,i.get=function(){let e=i.flags;if(e&za.Dirty||e&za.Pending&&qa(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Ja(e)}}else e&za.Pending&&(i.flags=e&~za.Pending);return Za!==void 0&&Wa(i,Za,Ua),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Ka(e),Ja(e),to())}},i}function ro(e){let t=()=>{let t=Za;Za=n,++Ua,n.depsTail=void 0,n.flags=za.Watching|za.RecursedCheck;try{return e()}finally{Za=t,n.flags&=~za.RecursedCheck,eo(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:za.Watching|za.RecursedCheck,notify(){let e=this.flags;e&za.Dirty||e&za.Pending&&qa(this.deps,this)?t():this.flags=za.Watching},stop(){this.flags=za.None,this.depsTail=void 0,eo(this)}};return t(),n}var V=e(r(),1);function io(e,t){let n=e[1];e.length=0,n?.(t)}function ao({t:e}){let t=Ae(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise((a,o)=>{io(n,!1),n.push(i,a),e(t),V.startTransition(()=>{try{r()}catch(e){n[1]===a&&(n.length=0),o(e)}})}),T(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(oe(r.publicHref)!==oe(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Ai(a,a)})}):t._tx||t.load().catch(console.error),e},[t,t.history]),null}var H=n();function oo(){let e=Ae(),t=e.routesById[we],n=xe(e,t),r=e.ssr?ve:V.Suspense,i=(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(ao,{t:V.useState()[1]}),(0,H.jsx)(r,{fallback:n,children:(0,H.jsx)(so,{})})]});return e.options.InnerWrap?(0,H.jsx)(e.options.InnerWrap,{children:i}):i}function so(){let e=Ae(),t=e._rendered,n=Ne(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;T(()=>{t[0]===n&&io(t,!0)},[t,n]);let a=i?(0,H.jsx)(Se,{routeId:i}):null;return(0,H.jsx)(Ce.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,H.jsx)(_e,{getResetKey:()=>r,onCatch:void 0,children:a})})}var co=e=>({createMutableStore:no,createReadonlyStore:no,batch:$a}),U=e=>new lo(e),lo=class extends B{constructor(e){super(e,co)}};function uo({router:e,children:t,...n}){D(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,H.jsx)(ke.Provider,{value:e,children:t});return e.options.Wrap?(0,H.jsx)(e.options.Wrap,{children:r}):r}function fo({router:e,...t}){return(0,H.jsx)(uo,{router:e,...t,children:(0,H.jsx)(oo,{})})}function po(e){let t=Ae();return Ne(t.stores.location,De(e,t))}function mo(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function ho(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e;switch(e.tag){case`title`:return(0,H.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,H.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,H.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,H.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,H.jsx)(go,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function go({attrs:e,children:t,preventScriptHoist:n}){Ae();let r=Me(),i=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(V.useEffect(()=>{if(!i){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();for(let e of document.querySelectorAll(`script[src]`))if(e.src===t)return;let n=document.createElement(`script`);return mo(n,e),document.head.appendChild(n),()=>n.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.querySelectorAll(`script:not([src])`)){if(!(e instanceof HTMLScriptElement))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,mo(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,i]),i&&typeof t==`string`)return(0,H.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!r){if(e?.src)return(0,H.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,H.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}function _o(e,t,n,r){n=Wi(n);let i=n.map(e=>e.meta).filter(e=>e!==void 0),a=[],o={},s;for(let e=i.length-1;e>=0;e--){let n=i[e];for(let e=n.length-1;e>=0;e--){let r=n[e];if(r){if(r.title)s||={tag:`title`,children:r.title};else if(`script:ld+json`in r)try{let e=JSON.stringify(r[`script:ld+json`]);a.push({tag:`script`,attrs:{type:`application/ld+json`},children:C(e)})}catch{}else{let e=r.name??r.property;if(e){if(o[e])continue;o[e]=!0}a.push({tag:`meta`,attrs:{...r,nonce:t}})}}}}s&&a.push(s),t&&a.push({tag:`meta`,attrs:{property:`csp-nonce`,content:t}}),a.reverse();let c=n.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:t}})),l=e.ssr?.manifest,u=[];l&&(n.forEach(e=>{(l.routes[e.routeId]?.css)?.forEach(e=>{let n=Ra(e);u.push({tag:`link`,attrs:{rel:`stylesheet`,...n,crossOrigin:Na(r,`stylesheet`)??n.crossOrigin,suppressHydrationWarning:!0,nonce:t}})})}),l.inlineStyle&&u.push({tag:`style`,attrs:{...l.inlineStyle.attrs,nonce:t},children:l.inlineStyle.children,inlineCss:!0}));let d=[];l&&n.forEach(e=>{l.routes[e.routeId]?.preloads?.forEach(e=>{d.push({tag:`link`,attrs:{...Fa(l,e,r),nonce:t}})})});let f=n.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`style`,attrs:{...n,nonce:t},children:e})),p=n.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`script`,attrs:{...n,nonce:t},children:e})),m=[];return La(m,a),m.push(...d),La(m,c),m.push(...u),La(m,f),La(m,p),m}var vo=e=>{let t=Ae(),n=t.options.ssr?.nonce,r=V.useCallback(r=>_o(t,n,r,e),[e,n,t]);return Ne(t.stores.matches,r,he)};function yo(e){let t=vo(e.assetCrossOrigin),n=Ae().options.ssr?.nonce;return(0,H.jsx)(H.Fragment,{children:t.map(e=>(0,V.createElement)(ho,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var bo=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,D());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?D():S=!1}}}var D;if(typeof y==`function`)D=function(){y(ee)};else if(typeof MessageChannel<`u`){var te=new MessageChannel,O=te.port2;te.port1.onmessage=ee,D=function(){O.postMessage(null)}}else D=function(){_(ee,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,D()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),xo=t(((e,t)=>{t.exports=bo()})),So=t((e=>{var t=xo(),n=r(),i=Ie();function a(e){var t=`https://react.dev/errors/`+e;if(1se||(e.current=oe[se],oe[se]=null,se--)}function j(e,t){se++,oe[se]=e.current,e.current=t}var ue=ce(null),de=ce(null),M=ce(null),fe=ce(null);function pe(e,t){switch(j(M,t),j(de,e),j(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}le(ue),j(ue,e)}function me(){le(ue),le(de),le(M)}function he(e){e.memoizedState!==null&&j(fe,e);var t=ue.current,n=Hd(t,e.type);t!==n&&(j(de,e),j(ue,n))}function ge(e){de.current===e&&(le(ue),le(de)),fe.current===e&&(le(fe),Qf._currentValue=ae)}var _e,ve;function ye(e){if(_e===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);_e=t&&t[1]||``,ve=-1)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{be=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ye(n):``}function Se(e,t){switch(e.tag){case 26:case 27:case 5:return ye(e.type);case 16:return ye(`Lazy`);case 13:return e.child!==t&&t!==null?ye(`Suspense Fallback`):ye(`Suspense`);case 19:return ye(`SuspenseList`);case 0:case 15:return xe(e.type,!1);case 11:return xe(e.type.render,!1);case 1:return xe(e.type,!0);case 31:return ye(`Activity`);default:return``}}function Ce(e){try{var t=``,n=null;do t+=Se(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` -`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,z=t.unstable_ImmediatePriority,Te=t.unstable_UserBlockingPriority,B=t.unstable_NormalPriority,Ee=t.unstable_LowPriority,De=t.unstable_IdlePriority,Oe=t.log,ke=t.unstable_setDisableYieldValue,Ae=null,je=null;function Me(e){if(typeof Oe==`function`&&ke(e),je&&typeof je.setStrictMode==`function`)try{je.setStrictMode(Ae,e)}catch{}}var Pe=Math.clz32?Math.clz32:Le,Fe=Math.log,Ie=Math.LN2;function Le(e){return e>>>=0,e===0?32:31-(Fe(e)/Ie|0)|0}var Re=256,ze=262144,Be=4194304;function Ve(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function He(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ve(n))):i=Ve(o):i=Ve(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ve(n))):i=Ve(o)):i=Ve(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Ue(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function We(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ge(){var e=Be;return Be<<=1,!(Be&62914560)&&(Be=4194304),e}function Ke(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function qe(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Je(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),an=!1;if(rn)try{var on={};Object.defineProperty(on,"passive",{get:function(){an=!0}}),window.addEventListener(`test`,on,on),window.removeEventListener(`test`,on,on)}catch{an=!1}var sn=null,cn=null,ln=null;function un(){if(ln)return ln;var e,t=cn,n=t.length,r,i=`value`in sn?sn.value:sn.textContent,a=i.length;for(e=0;e=Hn),Gn=` `,Kn=!1;function qn(e,t){switch(e){case`keyup`:return Bn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Jn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Yn=!1;function Xn(e,t){switch(e){case`compositionend`:return Jn(t);case`keypress`:return t.which===32?(Kn=!0,Gn):null;case`textInput`:return e=t.data,e===Gn&&Kn?null:e;default:return null}}function Zn(e,t){if(Yn)return e===`compositionend`||!Vn&&qn(e,t)?(e=un(),ln=cn=sn=null,Yn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=yr(n)}}function xr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?xr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Sr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=jt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=jt(e.document)}return t}function Cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var wr=rn&&`documentMode`in document&&11>=document.documentMode,Tr=null,Er=null,Dr=null,Or=!1;function kr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Or||Tr==null||Tr!==jt(r)||(r=Tr,`selectionStart`in r&&Cr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Dr&&vr(Dr,r)||(Dr=r,r=Td(Er,`onSelect`),0>=o,i-=o,xi=1<<32-Pe(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),U&&Ci(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),U&&Ci(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return U&&Ci(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),U&&Ci(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&Ca(l)===r.type){n(e,r.sibling),c=i(r,o.props),Aa(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===_?(c=ci(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=si(o.type,o.key,o.props,null,e.mode,c),Aa(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=di(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ca(o),b(e,r,o,c)}if(ne(o))return v(e,r,o,c);if(A(o)){if(l=A(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,ka(o),c);if(o.$$typeof===x)return b(e,r,Zi(e,o),c);ja(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=li(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Oa=0;var i=b(e,t,n,r);return Da=null,i}catch(t){if(t===_a||t===ya)throw t;var a=ri(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Na=Ma(!0),Pa=Ma(!1),Fa=!1;function Ia(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function La(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ra(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Fl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ei(e),$r(e,null,n),t}return Xr(e,r,t,n),ei(e)}function Ba(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,V(e,n)}}function Va(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ha=!1;function Ua(){if(Ha){var e=ca;if(e!==null)throw e}}function Wa(e,t,n,r){Ha=!1;var i=e.updateQueue;Fa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Z&f)===f:(r&f)===f){f!==0&&f===sa&&(Ha=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Fa=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Wl|=o,e.lanes=o,e.memoizedState=d}}function Ga(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ka(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=j.T,s={};j.T=s,As(e,!1,t,n);try{var c=i(),l=j.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?ks(e,t,da(c,r),fu(e)):ks(e,t,r,fu(e))}catch(n){ks(e,t,{then:function(){},status:`rejected`,reason:n},fu())}finally{M.p=a,o!==null&&s.types!==null&&(o.types=s.types),j.T=o}}function ys(){}function bs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=xs(e).queue;vs(e,i,t,N,n===null?ys:function(){return Ss(e),n(r)})}function xs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:N,baseState:N,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:N},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ss(e){var t=xs(e);t.next===null&&(t=e.alternate.memoizedState),ks(e,t.next.queue,{},fu())}function Cs(){return Xi(Qf)}function ws(){return G().memoizedState}function Ts(){return G().memoizedState}function Es(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=fu();e=Ra(n);var r=za(t,e,n);r!==null&&(mu(r,t,n),Ba(r,t,n)),t={cache:ra()},e.payload=t;return}t=t.return}}function Ds(e,t,n){var r=fu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},js(e)?Ms(t,n):(n=Zr(e,t,n,r),n!==null&&(mu(n,e,r),Ns(n,t,r)))}function Os(e,t,n){ks(e,t,n,fu())}function ks(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(js(e))Ms(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,_r(s,o))return Xr(e,t,i,0),Il===null&&Yr(),!1}catch{}if(n=Zr(e,t,i,r),n!==null)return mu(n,e,r),Ns(n,t,r),!0}return!1}function As(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},js(e)){if(t)throw Error(a(479))}else t=Zr(e,n,r,2),t!==null&&mu(t,e,2)}function js(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ms(e,t){fo=uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ns(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,V(e,n)}}var Ps={readContext:Xi,use:Ao,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useLayoutEffect:vo,useInsertionEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useSyncExternalStore:vo,useId:vo,useHostTransitionStatus:vo,useFormState:vo,useActionState:vo,useOptimistic:vo,useMemoCache:vo,useCacheRefresh:vo};Ps.useEffectEvent=vo;var Fs={readContext:Xi,use:Ao,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:Xi,useEffect:is,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ns(4194308,4,ds.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ns(4194308,4,e,t)},useInsertionEffect:function(e,t){ns(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Me(!0);try{e()}finally{Me(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Do();if(n!==void 0){var i=n(t);if(po){Me(!0);try{n(t)}finally{Me(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ds.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Ho(e);var t=e.queue,n=Os.bind(null,W,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ps,useDeferredValue:function(e,t){return gs(Do(),e,t)},useTransition:function(){var e=Ho(!1);return e=vs.bind(null,W,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=W,i=Do();if(U){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Il===null)throw Error(a(349));Z&127||Lo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,is(zo.bind(null,r,o,e),[e]),r.flags|=2048,es(9,{destroy:void 0},Ro.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Il.identifierPrefix;if(U){var n=Si,r=xi;n=(r&~(1<<32-Pe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=mo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[tt]=t,o[nt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&kc(t)}}return Pc(t),Ac(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=oe.current,Ii(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Oi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[tt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Ni(t,!0)}else e=Bd(e).createTextNode(r),e[tt]=t,t.stateNode=e}return Pc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ii(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),e=!1}else n=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(io(t),t):(io(t),null);if(t.flags&128)throw Error(a(558))}return Pc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ii(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),i=!1}else i=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(io(t),t):(io(t),null)}return io(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Mc(t,t.updateQueue),Pc(t),null);case 4:return ce(),e===null&&xd(t.stateNode.containerInfo),Pc(t),null;case 10:return Wi(t.type),Pc(t),null;case 19:if(ie(ao),r=t.memoizedState,r===null)return Pc(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)Nc(r,!1);else{if(Ul!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=oo(e),o!==null){for(t.flags|=128,Nc(r,!1),e=o.updateQueue,t.updateQueue=e,Mc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)oi(n,e),n=n.sibling;return I(ao,ao.current&1|2),U&&Ci(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>eu&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304)}}else{if(!i){if(e=oo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Mc(t,e),Nc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!U)return Pc(t),null}else 2*Ce()-r.renderingStartTime>eu&&n!==536870912&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Pc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=ao.current,I(ao,i?n&1|2:n&1),U&&Ci(t,r.treeForkCount),e);case 22:case 23:return io(t),Za(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Pc(t),t.subtreeFlags&6&&(t.flags|=8192)):Pc(t),n=t.updateQueue,n!==null&&Mc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&ie(pa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Wi(na),Pc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Ic(e,t){switch(Ei(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wi(na),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(io(t),t.alternate===null)throw Error(a(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(io(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ie(ao),null;case 4:return ce(),null;case 10:return Wi(t.type),null;case 22:case 23:return io(t),Za(),e!==null&&ie(pa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wi(na),null;case 25:return null;default:return null}}function Lc(e,t){switch(Ei(t),t.tag){case 3:Wi(na),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&io(t);break;case 13:io(t);break;case 19:ie(ao);break;case 10:Wi(t.type);break;case 22:case 23:io(t),Za(),e!==null&&ie(pa);break;case 24:Wi(na)}}function Rc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Wu(t,t.return,e)}}function zc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Wu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Wu(t,t.return,e)}}function Bc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ka(t,n)}catch(t){Wu(e,e.return,t)}}}function Vc(e,t,n){n.props=Hs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Wu(e,t,n)}}function Hc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Wu(e,t,n)}}function Uc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Wu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Wu(e,t,n)}else n.current=null}}function Wc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Wu(e,e.return,t)}}function Gc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[nt]=t}catch(t){Wu(e,e.return,t)}}function Kc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Kc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Jc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Jt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Jc(e,t,n),e=e.sibling;e!==null;)Jc(e,t,n),e=e.sibling}function Yc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[tt]=e,t[nt]=n}catch(t){Wu(e,e.return,t)}}var Zc=!1,Qc=!1,$c=!1,el=typeof WeakSet==`function`?WeakSet:Set,tl=null;function nl(e,t){if(e=e.containerInfo,Rd=sp,e=Sr(e),Cr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,tl=t;tl!==null;)if(t=tl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,tl=e;else for(;tl!==null;){switch(t=tl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[tt]=e,mt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=br(s,h),v=br(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,j.T=null,n=cu,cu=null;var o=iu,s=ou;if(ru=0,au=iu=null,ou=0,Fl&6)throw Error(a(331));var c=Fl;if(Fl|=4,Al(o.current),wl(o,o.current,s,n),Fl=c,id(0,!1),je&&typeof je.onPostCommitFiberRoot==`function`)try{je.onPostCommitFiberRoot(Ae,o)}catch{}return!0}finally{M.p=i,j.T=r,Bu(e,t)}}function Uu(e,t,n){t=pi(n,t),t=Js(e.stateNode,t,2),e=za(e,t,2),e!==null&&(qe(e,2),rd(e))}function Wu(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(nu===null||!nu.has(r))){e=pi(n,e),n=Ys(2),r=za(t,n,2),r!==null&&(Xs(n,r,t,e),qe(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Pl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Vl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Il===e&&(Z&n)===n&&(Ul===4||Ul===3&&(Z&62914560)===Z&&300>Ce()-Ql?!(Fl&2)&&xu(e,0):Kl|=n,Jl===Z&&(Jl=0)),rd(e)}function qu(e,t){t===0&&(t=Ge()),e=Qr(e,t),e!==null&&(qe(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return ye(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Pe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=Z,a=He(r,r===Il?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ue(r,a)||(n=!0,ld(r,a))}r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Ce(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}ru!==0&&ru!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Nt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),mt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Nt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Nt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Nt(n.imageSizes)+`"]`)):i+=`[href="`+Nt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),mt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Nt(r)+`"][href="`+Nt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),mt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=pt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);mt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=pt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),mt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=pt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),mt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=oe.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=pt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=pt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=pt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+Nt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),mt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Nt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Nt(n.href)+`"]`);if(r)return t.instance=r,mt(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),mt(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,mt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),mt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,mt(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),mt(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,mt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),mt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=us()}))(),1),fs=i(),ps=(0,K.createContext)(void 0);function ms(e,t){try{let t=localStorage.getItem(e);if(t===`light`||t===`dark`||t===`system`)return t}catch{}return t}function hs(e){let t=(0,fs.c)(14),{children:n,defaultTheme:r,storageKey:i}=e,a=r===void 0?`dark`:r,o=i===void 0?`ui-theme`:i,s;t[0]!==a||t[1]!==o?(s=()=>ms(o,a),t[0]=a,t[1]=o,t[2]=s):s=t[2];let[c,l]=(0,K.useState)(s),u,d;t[3]===c?(u=t[4],d=t[5]):(u=()=>{let e=window.document.documentElement;if(e.classList.remove(`light`,`dark`),c===`system`){let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`;e.classList.add(t);return}e.classList.add(c)},d=[c],t[3]=c,t[4]=u,t[5]=d),(0,K.useEffect)(u,d);let f;t[6]===o?f=t[7]:(f=e=>{try{localStorage.setItem(o,e)}catch{}l(e)},t[6]=o,t[7]=f);let p;t[8]!==f||t[9]!==c?(p={theme:c,setTheme:f},t[8]=f,t[9]=c,t[10]=p):p=t[10];let m=p,h;return t[11]!==n||t[12]!==m?(h=(0,q.jsx)(ps.Provider,{value:m,children:n}),t[11]=n,t[12]=m,t[13]=h):h=t[13],h}function gs(){let e=(0,K.useContext)(ps);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var _s=H(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),vs=H(`book-open`,[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]),ys=H(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),bs=H(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),xs=H(`container`,[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]),Ss=H(`crosshair`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`,key:`l9bcsi`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`,key:`13hhkx`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`,key:`10w3f3`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`,key:`15g9kq`}]]),Cs=H(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),ws=H(`file-stack`,[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`,key:`likhh7`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`,key:`17ky3x`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`,key:`1hyeo0`}]]),Ts=H(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),Es=H(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),Ds=H(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),Os=H(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),ks=H(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),As=H(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),js=H(`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`}]]),Ms=H(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),Ns=H(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Ps=H(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),Fs=H(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Is=H(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Ls=H(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Rs=H(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),zs=H(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]);function Bs(e,t){return t!=null&&!hn(t)?0:typeof e==`function`?e():e}function Vs(e,t,n){let r=Bs(e,n);return typeof r==`number`?r:r?.[t]}function Hs(e){return typeof e==`function`?e():e}function Us(e,t){return t||e===`click`||e===`mousedown`}function Ws(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Gs=K.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Yt,currentIdRef:{current:null},currentContextRef:{current:null}});function Ks(e,t){e.current=t.current}function qs(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=K.useRef(n),a=K.useRef(n),o=K.useRef(null),s=K.useRef(null),c=rn();return Ot(()=>{if(a.current=n,!o.current){i.current=n;return}i.current={open:Vs(i.current,`open`),close:Vs(n,`close`)}},[n,o,i,a]),(0,q.jsx)(Gs.Provider,{value:K.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function Js(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,i=r.useState(`floatingId`),{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=K.useContext(Gs),[f,p]=K.useState(!1),m=K.useRef(n);return Ot(()=>{m.current=n},[n]),Ot(()=>{function e(){l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current,d.clear()}if(a.current&&!n&&a.current===i){if(p(!1),s){let t=i;return d.start(s,()=>{r.select(`open`)||a.current&&a.current!==t||e()}),()=>{(m.current||a.current!==t)&&d.clear()}}e()}},[n,i,a,o,s,c,l,d,r]),Ot(()=>{if(!n)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:r.setOpen,setIsInstantPhase:p},a.current=i,o.current={open:0,close:Vs(c.current,`close`)},t!==null&&t!==i?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,Bt(Pt))):(p(!1),e?.setIsInstantPhase(!1))},[n,i,r,a,o,c,l,d]),Ot(()=>()=>{if(a.current===i){if(l.current=null,!m.current)return;a.current=null,Ks(o,c),d.clear()}},[l,a,o,i,c,d]),K.useMemo(()=>({hasProvider:u,delayRef:o,isInstantPhase:f}),[u,o,f])}function Ys(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function Xs(e){return e!=null&&e.clientX!=null}function Zs(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,a=i.useState(`open`),o=i.useState(`floatingElement`),s=i.useState(`domReferenceElement`),c=i.context.dataRef,l=K.useRef(!1),u=K.useRef(null),[d,f]=K.useState(),[p,m]=K.useState([]),h=kt(e=>{i.set(`positionReference`,e)}),g=kt((e,t,n)=>{l.current||c.current.openEvent&&!Xs(c.current.openEvent)||i.set(`positionReference`,Ys(n??s,{x:e,y:t,axis:r,dataRef:c,pointerType:d}))}),_=kt(e=>{a?u.current||(g(e.clientX,e.clientY,e.currentTarget),m([])):g(e.clientX,e.clientY,e.currentTarget)}),v=hn(d)?o:a;K.useEffect(()=>{if(!n){h(s);return}if(!v)return;function e(){u.current?.(),u.current=null}let t=Tt(o);function r(t){let n=Nt(t);Ut(o,n)?e():g(t.clientX,t.clientY)}return!c.current.openEvent||Xs(c.current.openEvent)?u.current=Pe(t,`mousemove`,r):h(s),e},[v,n,o,c,s,i,g,h,p]),K.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),K.useEffect(()=>{n&&!o&&(l.current=!1)},[n,o]),K.useEffect(()=>{!n&&a&&(l.current=!0)},[n,a]);let y=K.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:_,onMouseEnter:_}},[_]);return K.useMemo(()=>n?{reference:y,trigger:y}:{},[n,y])}var Qs=Oe();function $s(e){let t=K.useCallback(t=>e===void 0?Ve:e.subscribeStore(t),[e]),n=K.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Qs.useSyncExternalStore)(t,n,()=>e?.serverStore)}var ec=on&&yn;function tc(e,t={}){let{enabled:n=!0,delay:r}=t,i=`rootStore`in e?e.rootStore:e,{events:a,dataRef:o}=i.context,s=K.useRef(!1),c=K.useRef(null),l=K.useRef(!0),u=rn();K.useEffect(()=>{let e=i.select(`domReferenceElement`);if(!n)return;let t=Tt(e);function r(){let e=i.select(`domReferenceElement`);!i.select(`open`)&&Et(e)&&e===Vt(Mt(e))&&(s.current=!0)}function a(){l.current=!0}function o(){l.current=!1}return tn(Pe(t,`blur`,r),ec&&Pe(t,`keydown`,a,!0),ec&&Pe(t,`pointerdown`,o,!0))},[i,n]),K.useEffect(()=>{if(!n)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);jt(e)&&(c.current=e,s.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,n,i]);let d=K.useMemo(()=>{function e(){s.current=!1,c.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(s.current){if(c.current===n)return;e()}let a=Nt(t.nativeEvent);if(jt(a)){if(ec&&!t.relatedTarget){if(!l.current&&!cn(a))return}else if(!ln(a))return}let o=pn(t.relatedTarget,i.context.triggerElements),{nativeEvent:d,currentTarget:f}=t,p=typeof r==`function`?r():r;if(i.select(`open`)&&o||p===0||p===void 0){i.setOpen(!0,Bt(Rt,d,f));return}u.start(p,()=>{s.current||i.setOpen(!0,Bt(Rt,d,f))})},onBlur(t){e();let n=t.relatedTarget,r=t.nativeEvent,a=jt(n)&&n.hasAttribute(Gt(`focus-guard`))&&n.getAttribute(`data-type`)===`outside`;u.start(0,()=>{let e=i.select(`domReferenceElement`),t=Vt(Mt(e));!n&&t===e||Ut(o.current.floatingContext?.refs.floating.current,t)||Ut(e,t)||a||pn(n??t,i.context.triggerElements)||i.setOpen(!1,Bt(Rt,r))})}}},[o,r,i,u]);return K.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var nc=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new Yt,this.restTimeout=new Yt,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},rc=new WeakMap;function ic(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&rc.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),rc.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function ac(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=rc.get(n);a&&a!==e&&ic(a),ic(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,rc.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function oc(e){let t=e.context.dataRef.current,n=ze(()=>t.hoverInteractionState??nc.create()).current;return t.hoverInteractionState||=n,Me(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function sc(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=Zt(),d=Xt(),f=oc(a),p=rn(),m=kt(()=>Us(l.current.openEvent?.type,f.interactedInside)),h=kt(()=>Ws(l.current.openEvent?.type)),g=kt(()=>{ic(f)});Ot(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),K.useEffect(()=>g,[g]),Ot(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&jt(c)&&s){let e=c,t=s,n=Mt(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return ac(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),K.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&gn(u.nodesRef.current,d).length>0)}function t(e){let t=Vs(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,Bt(It,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=Nt(e);if(!sn(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(pn(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&jt(o)&&gn(u.nodesRef.current,r,!1).some(e=>Ut(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){!u||!d||e()||p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,Bt(It,t)),u.events.emit(`floating.closed`,t)})}let y=s;return tn(y&&Pe(y,`mouseenter`,c),y&&Pe(y,`mouseleave`,_),y&&Pe(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var cc=e(Ne(),1),lc={current:null};function uc(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=lc,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=Zt(l),y=oc(h),b=K.useRef(!1),x=Ie(i),S=Ie(r),C=Ie(o),w=Ie(n),T=Ie(p),E=Ie(f),D=kt(()=>Us(g.current.openEvent?.type,y.interactedInside)),O=kt(()=>T.current?.()!==!1),k=kt((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!Ut(e,t);if(!jt(n))return!1;let i=n;return r.hasMatchingElement(e=>Ut(e,i))&&(!e||!Ut(e,i))}),A=kt(()=>{y.handler&&=(Mt(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),ee=kt(()=>{ic(y)});return u&&(y.handleCloseOptions=x.current?.__options),K.useEffect(()=>A,[A]),K.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===It,A(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,A]),K.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=Vs(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,Bt(It,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,Bt(It,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!jt(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!hn(y.pointerType))return;let t=Hs(C.current),n=Vs(S.current,`open`,y.pointerType),r=Nt(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(jt(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(Ut(e,r)){s=e;break}}jt(i)&&jt(o)&&!h.context.triggerElements.hasElement(i)&&Ut(i,o)&&(s=o);let c=s!=null&&k(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&jt(s)&&jt(o)&&Ut(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){O()&&h.setOpen(!0,Bt(It,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&O()&&h.setOpen(!0,Bt(It,e,s))}):g&&O()&&h.setOpen(!0,Bt(It,e,s)))}function i(t){if(D()){ee();return}A();let n=h.select(`domReferenceElement`),r=Mt(n);y.restTimeout.clear(),y.restTimeoutPending=!1;let i=g.current.floatingContext??d?.();if(!pn(t.relatedTarget,h.context.triggerElements)){if(x.current&&i){h.select(`open`)||y.openChangeTimeout.clear();let n=c.current;y.handler=x.current({...i,tree:v,x:t.clientX,y:t.clientY,onClose(){ee(),A(),w.current&&!D()&&n===h.select(`domReferenceElement`)&&e(t,!0)}}),r.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!Ut(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){Ut(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?Pe(t,`mouseout`,o):void 0;return s?tn(Pe(t,`mousemove`,r,{once:!0}),Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l):tn(Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l)},[A,ee,g,S,h,n,x,y,u,k,D,a,s,C,c,v,w,d,E,O,m]),K.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=k(r,n,e.target);if(a&&!hn(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;ac(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=Hs(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,D())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&O()&&h.setOpen(!0,Bt(It,t,n))}y.pointerType===`touch`?cc.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,D,k,a,h,C,O])}var dc=.1,fc=dc*dc,pc=.5;function mc(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function hc(e,t,n,r,i,a,o,s,c,l){let u=!1;return mc(e,t,n,r,i,a)&&(u=!u),mc(e,t,i,a,o,s)&&(u=!u),mc(e,t,o,s,c,l)&&(u=!u),mc(e,t,c,l,n,r)&&(u=!u),u}function gc(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function _c(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function vc(e={}){let{blockPointerEvents:t=!1}=e,n=new Yt,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*fc;return u=e,d=t,f=n,o0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,D=(T?x:S).left,O=(T?x:S).right,k=(E?x:S).top,A=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let ee=!1;switch(c){case`top`:ee=_c(d,f,D,x.top+1,O,S.bottom-1);break;case`bottom`:ee=_c(d,f,D,S.top+1,O,x.bottom-1);break;case`left`:ee=_c(d,f,S.right-1,A,x.left+1,k);break;case`right`:ee=_c(d,f,x.right-1,A,S.left+1,k)}if(ee)return;if(l&&!gc(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let te=!1;switch(c){case`top`:{let n=T?pc/2:pc*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+pc+1,o=C||T?S.bottom-pc:S.top,s=C?T?S.bottom-pc:S.top:S.bottom-pc;te=hc(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?pc/2:pc*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-pc,o=C||T?S.top+pc:S.bottom,s=C?T?S.top+pc:S.bottom:S.top+pc;te=hc(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?pc/2:pc*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+pc+1,o=w||E?S.right-pc:S.left,s=w?E?S.right-pc:S.left:S.right-pc;te=hc(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?pc/2:pc*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-pc,o=w||E?S.left+pc:S.right,s=w?E?S.left+pc:S.right:S.left+pc;te=hc(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}te?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}function yc(e){return Mn(`dialog`,e)}function bc(e){let t=(0,fs.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,q.jsx)(yc,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function xc(e){let t=(0,fs.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,q.jsx)(Nn,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function Sc(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 z-50 bg-black/80 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(Kn,{className:i,"data-slot":`sheet-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Cc(e){let t=(0,fs.c)(17),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,side:a,showCloseButton:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=a===void 0?`right`:a,c=o===void 0||o,l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(Sc,{}),t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=Ge(`data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-closed:animate-out data-open:animate-in fixed z-50 flex flex-col bg-background bg-clip-padding text-xs/relaxed shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm`,r),t[7]=r,t[8]=u);let d;t[9]===c?d=t[10]:(d=c&&(0,q.jsxs)(Gn,{"data-slot":`sheet-close`,render:(0,q.jsx)(At,{className:`absolute top-4 right-4`,size:`icon-sm`,variant:`ghost`}),children:[(0,q.jsx)(Ct,{}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[9]=c,t[10]=d);let f;return t[11]!==n||t[12]!==i||t[13]!==s||t[14]!==u||t[15]!==d?(f=(0,q.jsxs)(xc,{children:[l,(0,q.jsxs)(Bn,{className:u,"data-side":s,"data-slot":`sheet-content`,...i,children:[n,d]})]}),t[11]=n,t[12]=i,t[13]=s,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function wc(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`flex flex-col gap-1.5 p-6`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`div`,{className:i,"data-slot":`sheet-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Tc(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`text-sm font-medium text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(Wn,{className:i,"data-slot":`sheet-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ec(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`text-xs/relaxed text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(kn,{className:i,"data-slot":`sheet-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Dc=K.createContext(void 0);function Oc(e){let t=K.useContext(Dc);if(t===void 0&&!e)throw Error(Ue(72));return t}var kc={...Pn,disabled:e=>e.disabled,instantType:e=>e.instantType,isInstantPhase:e=>e.isInstantPhase,trackCursorAxis:e=>e.trackCursorAxis,disableHoverablePopup:e=>e.disableHoverablePopup,lastOpenChangeReason:e=>e.openChangeReason,closeOnClick:e=>e.closeOnClick,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},Ac=class extends Kt{constructor(e,t,n){let r=new _n;super(jc(e,r,t,n),Mc(r),kc)}setOpen=(e,t)=>{un(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,Bt(Ft,e))}};function jc(e,t,n,r=!1){let i={...Rn(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e};return i.floatingRootContext=Fn(t,n,r),i}function Mc(e){return{popupRef:K.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var Nc=Qt(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=en((e,t)=>new Ac({open:n,openProp:r,activeTriggerId:d,triggerIdProp:u},e,t));p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),_=p.useState(`mounted`),v=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i,disabled:t}),Sn(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:y,transitionStatus:b}=an(h,p),x=p.useState(`isInstantPhase`),S=p.useState(`instantType`),C=p.useState(`lastOpenChangeReason`),w=K.useRef(null);Ot(()=>{m&&t&&p.setOpen(!1,Bt(Lt))},[m,t,p]),Ot(()=>{b===`ending`&&C===`none`||b!==`ending`&&x?(S!==`delay`&&(w.current=S),p.set(`instantType`,`delay`)):w.current!==null&&(p.set(`instantType`,w.current),w.current=null)},[b,x,C,S,p]),Ot(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]),K.useImperativeHandle(o,()=>({unmount:y,close:()=>p.setOpen(!1,Bt(zt))}),[y,p]);let T=h||_||!t&&a!==`none`;return(0,q.jsxs)(Dc.Provider,{value:p,children:[l&&(0,q.jsx)(dn,{handle:l,store:p}),T&&(0,q.jsx)(Pc,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:v}):f]})});function Pc({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState(`floatingRootContext`),i=Wt(r,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),a=Zs(r,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),o=K.useMemo(()=>Re(a.reference,i.reference),[a.reference,i.reference]);return xn(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:i.floating??Le}),null}var Fc=K.createContext(void 0);function Ic(){return K.useContext(Fc)}var Lc=`data-base-ui-tooltip-trigger`;function Rc(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;em.select(`transitionStatus`)===`ending`,shouldOpen(){return!j.current}}),I=tc(v,{enabled:!A}).reference,ae=e=>{let t=j.current,n=Rc(e),r=F(n),i=y.current,a=i&&n&&Ut(i,n);if(r&&m.select(`open`)&&m.select(`lastOpenChangeReason`)===`trigger-hover`){m.setOpen(!1,Bt(It,e));return}if(t&&!r&&a&&!ee.current&&!m.select(`open`)&&i&&hn(N.current)){let t=()=>{!j.current&&!ee.current&&!m.select(`open`)&&m.setOpen(!0,Bt(It,e,i))},n=re();n===0?(M.clear(),t()):M.start(n,t)}},L=m.useState(`triggerProps`,C);return Be(`button`,e,{state:{open:_},ref:[t,S,y],props:[ie,I,C||te!==`none`?L:void 0,{onMouseOver(e){ae(e.nativeEvent)},onFocus(e){P(Rc(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){j.current=!1,M.clear(),N.current=void 0},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,m.set(`closeOnClick`,l),l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},onClick(e){l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},id:h,"data-trigger-disabled":A?``:void 0,[Lc]:A?void 0:``},f],stateAttributesMapping:vn})}),Vc=K.createContext(void 0);function Hc(){let e=K.useContext(Vc);if(e===void 0)throw Error(Ue(70));return e}var Uc=K.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{node:c,subtree:l}=qt({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,q.jsxs)(K.Fragment,{children:[l,c&&cc.createPortal(n,c)]})}),Wc=K.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return Oc().useState(`mounted`)||n?(0,q.jsx)(Vc.Provider,{value:n,children:(0,q.jsx)(Uc,{ref:t,...r})}):null}),Gc=K.createContext(void 0);function Kc(){let e=K.useContext(Gc);if(e===void 0)throw Error(Ue(71));return e}var qc=K.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=$t,style:g,..._}=e,v=Oc(),y=Hc(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),D=v.useState(`adaptiveOrigin`),O=tt({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:D}),k=K.useMemo(()=>({open:b,side:O.side,align:O.align,anchorHidden:O.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,O.side,O.align,O.anchorHidden,S,T]),A=rt(e,k,{styles:O.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,q.jsx)(Gc.Provider,{value:O,children:A})}),Jc=K.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=Oc(),{side:s,align:c}=Kc(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);Fe({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),sc(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return Be(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[mn,f,st(d),a],stateAttributesMapping:Jt})}),Yc=K.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=Oc(),{arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=Kc(),f={open:o.useState(`open`),side:c,align:l,uncentered:u,instant:o.useState(`instantType`)};return Be(`div`,e,{state:f,ref:[t,s],props:[{style:d,"aria-hidden":!0},a],stateAttributesMapping:nn})}),Xc=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=K.useMemo(()=>({open:t,close:n}),[t,n]);return(0,q.jsx)(Fc.Provider,{value:t,children:(0,q.jsx)(qs,{delay:i,timeoutMs:r,children:e.children})})};function Zc(e){let t=(0,fs.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({delay:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,a;return t[3]!==i||t[4]!==n?(a=(0,q.jsx)(Xc,{"data-slot":`tooltip-provider`,delay:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function Qc(e){let t=(0,fs.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,q.jsx)(Zc,{children:(0,q.jsx)(Nc,{"data-slot":`tooltip`,...n})}),t[2]=n,t[3]=r),r}function $c(e){let t=(0,fs.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,q.jsx)(Bc,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function el(e){let t=(0,fs.c)(21),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:r,side:a,sideOffset:o,align:s,alignOffset:c,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=a===void 0?`top`:a,u=o===void 0?4:o,d=s===void 0?`center`:s,f=c===void 0?0:c,p;t[8]===r?p=t[9]:(p=Ge(`data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 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=delayed-open]:animate-in data-closed:animate-out data-open:animate-in z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-xs text-background **:data-[slot=kbd]:rounded-md`,r),t[8]=r,t[9]=p);let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,q.jsx)(Yc,{className:`z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5`}),t[10]=m):m=t[10];let h;t[11]!==n||t[12]!==i||t[13]!==p?(h=(0,q.jsxs)(Jc,{className:p,"data-slot":`tooltip-content`,...i,children:[n,m]}),t[11]=n,t[12]=i,t[13]=p,t[14]=h):h=t[14];let g;return t[15]!==d||t[16]!==f||t[17]!==l||t[18]!==u||t[19]!==h?(g=(0,q.jsx)(Wc,{children:(0,q.jsx)(qc,{align:d,alignOffset:f,className:`isolate z-50`,side:l,sideOffset:u,children:h})}),t[15]=d,t[16]=f,t[17]=l,t[18]=u,t[19]=h,t[20]=g):g=t[20],g}var tl=window.matchMedia(`(max-width: 767px)`);function nl(e){return tl.addEventListener(`change`,e),()=>tl.removeEventListener(`change`,e)}function rl(){return tl.matches}function il(){return(0,K.useSyncExternalStore)(nl,rl)}var al=`sidebar_state`,ol=604800,sl=`12rem`,cl=`16rem`,ll=`3rem`,ul=`b`,dl=K.createContext(null);function fl(){let e=K.useContext(dl);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function pl(e){let t=(0,fs.c)(36),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({defaultOpen:c,open:i,onOpenChange:o,className:r,style:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=c===void 0||c,u=il(),[d,f]=K.useState(!1),[p,m]=K.useState(l),h=i??p,g;t[8]!==h||t[9]!==o?(g=e=>{let t=typeof e==`function`?e(h):e;o?o(t):m(t),document.cookie=`${al}=${t}; path=/; max-age=${ol}`},t[8]=h,t[9]=o,t[10]=g):g=t[10];let _=g,v;t[11]!==u||t[12]!==_?(v=()=>u?f(hl):_(ml),t[11]=u,t[12]=_,t[13]=v):v=t[13];let y=v,b,x;t[14]===y?(b=t[15],x=t[16]):(b=()=>{let e=e=>{e.key===ul&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},x=[y],t[14]=y,t[15]=b,t[16]=x),K.useEffect(b,x);let S=h?`expanded`:`collapsed`,C;t[17]!==u||t[18]!==h||t[19]!==d||t[20]!==_||t[21]!==S||t[22]!==y?(C={state:S,open:h,setOpen:_,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:y},t[17]=u,t[18]=h,t[19]=d,t[20]=_,t[21]=S,t[22]=y,t[23]=C):C=t[23];let w=C,T;t[24]===s?T=t[25]:(T={"--sidebar-width":sl,"--sidebar-width-icon":ll,...s},t[24]=s,t[25]=T);let E=T,D;t[26]===r?D=t[27]:(D=Ge(`group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar`,r),t[26]=r,t[27]=D);let O;t[28]!==n||t[29]!==a||t[30]!==D||t[31]!==E?(O=(0,q.jsx)(`div`,{className:D,"data-slot":`sidebar-wrapper`,style:E,...a,children:n}),t[28]=n,t[29]=a,t[30]=D,t[31]=E,t[32]=O):O=t[32];let k;return t[33]!==w||t[34]!==O?(k=(0,q.jsx)(dl.Provider,{value:w,children:O}),t[33]=w,t[34]=O,t[35]=k):k=t[35],k}function ml(e){return!e}function hl(e){return!e}function gl(e){let t=(0,fs.c)(46),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({side:a,variant:o,collapsible:s,className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=a===void 0?`left`:a,l=o===void 0?`sidebar`:o,u=s===void 0?`offExamples`:s,{isMobile:d,state:f,openMobile:p,setOpenMobile:m}=fl();if(u===`none`){let e;t[7]===r?e=t[8]:(e=Ge(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),t[7]=r,t[8]=e);let a;return t[9]!==n||t[10]!==i||t[11]!==e?(a=(0,q.jsx)(`div`,{className:e,"data-slot":`sidebar`,...i,children:n}),t[9]=n,t[10]=i,t[11]=e,t[12]=a):a=t[12],a}if(d){let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e={"--sidebar-width":cl},t[13]=e):e=t[13];let r=e,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsxs)(wc,{className:`sr-only`,children:[(0,q.jsx)(Tc,{children:`Sidebar`}),(0,q.jsx)(Ec,{children:`Displays the mobile sidebar.`})]}),t[14]=a):a=t[14];let o;t[15]===n?o=t[16]:(o=(0,q.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:n}),t[15]=n,t[16]=o);let s;t[17]!==c||t[18]!==o?(s=(0,q.jsxs)(Cc,{className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,"data-mobile":`true`,"data-sidebar":`sidebar`,"data-slot":`sidebar`,side:c,style:r,children:[a,o]}),t[17]=c,t[18]=o,t[19]=s):s=t[19];let l;return t[20]!==p||t[21]!==i||t[22]!==m||t[23]!==s?(l=(0,q.jsx)(bc,{onOpenChange:m,open:p,...i,children:s}),t[20]=p,t[21]=i,t[22]=m,t[23]=s,t[24]=l):l=t[24],l}let h=f===`collapsed`?u:``,g=l===`floating`||l===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,_;t[25]===g?_=t[26]:(_=Ge(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offExamples]:w-0`,`group-data-[side=right]:rotate-180`,g),t[25]=g,t[26]=_);let v;t[27]===_?v=t[28]:(v=(0,q.jsx)(`div`,{className:_,"data-slot":`sidebar-gap`}),t[27]=_,t[28]=v);let y=c===`left`?`left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]`,b=l===`floating`||l===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,x;t[29]!==r||t[30]!==y||t[31]!==b?(x=Ge(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,y,b,r),t[29]=r,t[30]=y,t[31]=b,t[32]=x):x=t[32];let S;t[33]===n?S=t[34]:(S=(0,q.jsx)(`div`,{className:`flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border`,"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,children:n}),t[33]=n,t[34]=S);let C;t[35]!==i||t[36]!==x||t[37]!==S?(C=(0,q.jsx)(`div`,{className:x,"data-slot":`sidebar-container`,...i,children:S}),t[35]=i,t[36]=x,t[37]=S,t[38]=C):C=t[38];let w;return t[39]!==c||t[40]!==f||t[41]!==C||t[42]!==h||t[43]!==v||t[44]!==l?(w=(0,q.jsxs)(`div`,{className:`group peer hidden text-sidebar-foreground md:block`,"data-collapsible":h,"data-side":c,"data-slot":`sidebar`,"data-state":f,"data-variant":l,children:[v,C]}),t[39]=c,t[40]=f,t[41]=C,t[42]=h,t[43]=v,t[44]=l,t[45]=w):w=t[45],w}function _l(e){let t=(0,fs.c)(15),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,onClick:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let{toggleSidebar:a}=fl(),o;t[4]===n?o=t[5]:(o=Ge(n),t[4]=n,t[5]=o);let s;t[6]!==r||t[7]!==a?(s=e=>{r?.(e),a()},t[6]=r,t[7]=a,t[8]=s):s=t[8];let c,l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(Ns,{}),l=(0,q.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`}),t[9]=c,t[10]=l):(c=t[9],l=t[10]);let u;return t[11]!==i||t[12]!==o||t[13]!==s?(u=(0,q.jsxs)(At,{className:o,"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,onClick:s,size:`icon-lg`,variant:`ghost`,...i,children:[c,l]}),t[11]=i,t[12]=o,t[13]=s,t[14]=u):u=t[14],u}function vl(e){let t=(0,fs.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let{toggleSidebar:i}=fl(),a;t[3]===n?a=t[4]:(a=Ge(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex`,`in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar`,`[[data-side=left][data-collapsible=offExamples]_&]:-right-2`,`[[data-side=right][data-collapsible=offExamples]_&]:-left-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a||t[7]!==i?(o=(0,q.jsx)(`button`,{"aria-label":`Toggle Sidebar`,className:a,"data-sidebar":`rail`,"data-slot":`sidebar-rail`,onClick:i,tabIndex:-1,title:`Toggle Sidebar`,type:`button`,...r}),t[5]=r,t[6]=a,t[7]=i,t[8]=o):o=t[8],o}function yl(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`div`,{className:i,"data-sidebar":`header`,"data-slot":`sidebar-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function bl(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`div`,{className:i,"data-sidebar":`footer`,"data-slot":`sidebar-footer`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function xl(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`mx-2 w-auto bg-sidebar-border`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(En,{className:i,"data-sidebar":`separator`,"data-slot":`sidebar-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Sl(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`div`,{className:i,"data-sidebar":`content`,"data-slot":`sidebar-content`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Cl(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`relative flex w-full min-w-0 flex-col px-2 py-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`div`,{className:i,"data-sidebar":`group`,"data-slot":`sidebar-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function wl(e){let t=(0,fs.c)(10),n,r,i,a;if(t[0]!==e){let{className:o,render:s,...c}=e;n=s,a=We,r=`div`,i=Re({className:Ge(`flex h-8 shrink-0 items-center rounded-md px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,o)},c),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a}else n=t[1],r=t[2],i=t[3],a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={slot:`sidebar-group-label`,sidebar:`group-label`},t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==r||t[8]!==i?(s={defaultTagName:r,props:i,render:n,state:o},t[6]=n,t[7]=r,t[8]=i,t[9]=s):s=t[9],a(s)}function Tl(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`flex w-full min-w-0 flex-col gap-px`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`ul`,{className:i,"data-sidebar":`menu`,"data-slot":`sidebar-menu`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function J(e){let t=(0,fs.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Ge(`group/menu-item relative`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(`li`,{className:i,"data-sidebar":`menu-item`,"data-slot":`sidebar-menu-item`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var El=He(`peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-[calc(var(--radius-sm)+2px)] p-2 text-left text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-xs`,sm:`h-7 text-xs`,lg:`h-12 text-xs group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function Y(e){let t=(0,fs.c)(15),{render:n,isActive:r,variant:i,size:a,tooltip:o,className:s,...c}=e,l=r!==void 0&&r,u=i===void 0?`default`:i,d=a===void 0?`default`:a,{isMobile:f,state:p}=fl(),m=Re({className:Ge(El({variant:u,size:d}),s)},c),h=o?$c:n,g;t[0]!==l||t[1]!==d?(g={slot:`sidebar-menu-button`,sidebar:`menu-button`,size:d,active:l},t[0]=l,t[1]=d,t[2]=g):g=t[2];let _;t[3]!==m||t[4]!==h||t[5]!==g?(_={defaultTagName:`button`,props:m,render:h,state:g},t[3]=m,t[4]=h,t[5]=g,t[6]=_):_=t[6];let v=We(_);if(!o)return v;let y;t[7]===o?y=t[8]:(y=typeof o==`string`?{children:o}:o,t[7]=o,t[8]=y);let b=y,x=p!==`collapsed`||f,S;t[9]!==x||t[10]!==b?(S=(0,q.jsx)(el,{align:`center`,hidden:x,side:`right`,...b}),t[9]=x,t[10]=b,t[11]=S):S=t[11];let C;return t[12]!==v||t[13]!==S?(C=(0,q.jsxs)(Qc,{children:[v,S]}),t[12]=v,t[13]=S,t[14]=C):C=t[14],C}var Dl=new Set([`InvalidClientTokenId`,`SignatureDoesNotMatch`,`AuthFailure`,`MissingAuthenticationToken`,`IncompleteSignature`,`UnrecognizedClientException`,`ExpiredToken`,`ExpiredTokenException`,`InvalidAccessKeyId`]);function Ol(e){if(typeof e!=`object`||!e||!(`name`in e))return!1;let{name:t}=e;return typeof t==`string`&&Dl.has(t)}var kl=!1;function Al(e,t){kl||!Ol(e)||(kl=!0,Je(),qn(),t.clear(),window.location.pathname!==`/login`&&(window.location.href=`/login?reason=expired`))}function jl(){let e=new Pi({queryCache:new Ni({onError:t=>Al(t,e)}),mutationCache:new ji({onError:t=>Al(t,e)}),defaultOptions:{queries:{staleTime:5e3,refetchIntervalInBackground:!1}}});return e}function Ml(){let e=(0,fs.c)(8),{theme:t,setTheme:n}=gs(),r;e[0]!==n||e[1]!==t?(r=()=>{n(t===`light`?`dark`:t===`dark`?`light`:`dark`)},e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a,o,s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(Is,{className:`size-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),o=(0,q.jsx)(js,{className:`absolute size-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),s=(0,q.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`}),e[3]=a,e[4]=o,e[5]=s):(a=e[3],o=e[4],s=e[5]);let c;return e[6]===i?c=e[7]:(c=(0,q.jsxs)(At,{className:`rounded-full`,onClick:i,size:`icon-sm`,variant:`ghost`,children:[a,o,s]}),e[6]=i,e[7]=c),c}function Nl(){let e=(0,fs.c)(7),{isAdmin:t,license:n}=Jn(),r=t&&n===`open-source`,i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=Ge(`z-50 flex h-10 shrink-0 items-center gap-2 border-b border-sidebar-border bg-sidebar px-4 text-sidebar-foreground`,`sticky top-0`),a=(0,q.jsx)(_l,{className:`-ml-1`}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===r?o=e[3]:(o=r&&(0,q.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:Ge(Dt({variant:`outline`,size:`sm`})),children:`Upgrade`}),e[2]=r,e[3]=o);let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,q.jsx)(Ml,{}),e[4]=s):s=e[4];let c;return e[5]===o?c=e[6]:(c=(0,q.jsxs)(`header`,{className:i,children:[a,(0,q.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-2`,children:[o,s]})]}),e[5]=o,e[6]=c),c}function Pl(){let e=(0,fs.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(`h1`,{className:`text-4xl font-bold`,children:`404`}),n=(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:`Page not found`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[t,n,(0,q.jsx)(R,{to:`/`,children:(0,q.jsx)(At,{variant:`outline`,children:`Go back home`})})]}),e[2]=r):r=e[2],r}function Fl(){let e=(0,fs.c)(255),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={select:Il},e[0]=t):t=e[0];let n=ts(t),r=je(),i=h(),{isAdmin:a}=Jn(),o;e[1]!==r||e[2]!==i?(o=function(){Je(),qn(),i.clear(),r({to:`/login`})},e[1]=r,e[2]=i,e[3]=o):o=e[3];let s=o,c;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsxs)(yl,{className:`flex flex-row items-center gap-2 px-4 py-3`,children:[(0,q.jsx)(`img`,{src:`/mulga-logo.svg`,alt:`Mulga`,className:`size-6 shrink-0 dark:invert`}),(0,q.jsx)(`span`,{className:`truncate text-sm font-semibold group-data-[collapsible=icon]:hidden`,children:`Spinifex`})]}),e[4]=c):c=e[4];let l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(wl,{children:`General`}),e[5]=l):l=e[5];let u=n===`/`,d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,q.jsx)(Ts,{className:`size-4`}),f=(0,q.jsx)(`span`,{children:`Dashboard`}),e[6]=d,e[7]=f):(d=e[6],f=e[7]);let p;e[8]===u?p=e[9]:(p=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/`,children:(0,q.jsxs)(Y,{isActive:u,tooltip:`Dashboard`,children:[d,f]})})}),e[8]=u,e[9]=p);let m;e[10]!==a||e[11]!==n?(m=a&&(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/nodes`,children:(0,q.jsxs)(Y,{isActive:n.startsWith(`/nodes`),tooltip:`Nodes`,children:[(0,q.jsx)(mt,{className:`size-4`}),(0,q.jsx)(`span`,{children:`Nodes`})]})})}),e[10]=a,e[11]=n,e[12]=m):m=e[12];let g;e[13]!==p||e[14]!==m?(g=(0,q.jsxs)(Cl,{children:[l,(0,q.jsxs)(Tl,{children:[p,m]})]}),e[13]=p,e[14]=m,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(wl,{children:`EC2`}),e[16]=_):_=e[16];let v;e[17]===n?v=e[18]:(v=n.startsWith(`/ec2/describe-instances`)||n.startsWith(`/ec2/run-instances`),e[17]=n,e[18]=v);let y,b;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,q.jsx)(mt,{className:`size-4`}),b=(0,q.jsx)(`span`,{children:`Instances`}),e[19]=y,e[20]=b):(y=e[19],b=e[20]);let x;e[21]===v?x=e[22]:(x=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-instances`,children:(0,q.jsxs)(Y,{isActive:v,tooltip:`Instances`,children:[y,b]})})}),e[21]=v,e[22]=x);let S;e[23]===n?S=e[24]:(S=n.startsWith(`/ec2/describe-launch-templates`)||n.startsWith(`/ec2/create-launch-template`),e[23]=n,e[24]=S);let C,w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(ws,{className:`size-4`}),w=(0,q.jsx)(`span`,{children:`Launch Templates`}),e[25]=C,e[26]=w):(C=e[25],w=e[26]);let T;e[27]===S?T=e[28]:(T=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-launch-templates`,children:(0,q.jsxs)(Y,{isActive:S,tooltip:`Launch Templates`,children:[C,w]})})}),e[27]=S,e[28]=T);let E;e[29]===n?E=e[30]:(E=n.startsWith(`/ec2/describe-images`),e[29]=n,e[30]=E);let D,O;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,q.jsx)(_t,{className:`size-4`}),O=(0,q.jsx)(`span`,{children:`Images`}),e[31]=D,e[32]=O):(D=e[31],O=e[32]);let k;e[33]===E?k=e[34]:(k=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-images`,children:(0,q.jsxs)(Y,{isActive:E,tooltip:`Images`,children:[D,O]})})}),e[33]=E,e[34]=k);let A;e[35]===n?A=e[36]:(A=n.startsWith(`/ec2/describe-key-pairs`),e[35]=n,e[36]=A);let ee,te;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,q.jsx)(pt,{className:`size-4`}),te=(0,q.jsx)(`span`,{children:`Key Pairs`}),e[37]=ee,e[38]=te):(ee=e[37],te=e[38]);let ne;e[39]===A?ne=e[40]:(ne=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-key-pairs`,children:(0,q.jsxs)(Y,{isActive:A,tooltip:`Key Pairs`,children:[ee,te]})})}),e[39]=A,e[40]=ne);let j;e[41]===n?j=e[42]:(j=n.startsWith(`/ec2/describe-addresses`)||n.startsWith(`/ec2/allocate-address`),e[41]=n,e[42]=j);let M,N;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,q.jsx)(As,{className:`size-4`}),N=(0,q.jsx)(`span`,{children:`Elastic IPs`}),e[43]=M,e[44]=N):(M=e[43],N=e[44]);let re;e[45]===j?re=e[46]:(re=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-addresses`,children:(0,q.jsxs)(Y,{isActive:j,tooltip:`Elastic IPs`,children:[M,N]})})}),e[45]=j,e[46]=re);let P;e[47]===n?P=e[48]:(P=n.startsWith(`/ec2/describe-volumes`)||n.startsWith(`/ec2/create-volume`)||n.startsWith(`/ec2/modify-volume`),e[47]=n,e[48]=P);let F,ie;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,q.jsx)(ht,{className:`size-4`}),ie=(0,q.jsx)(`span`,{children:`Volumes`}),e[49]=F,e[50]=ie):(F=e[49],ie=e[50]);let I;e[51]===P?I=e[52]:(I=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-volumes`,children:(0,q.jsxs)(Y,{isActive:P,tooltip:`Volumes`,children:[F,ie]})})}),e[51]=P,e[52]=I);let ae;e[53]===n?ae=e[54]:(ae=n.startsWith(`/ec2/describe-snapshots`)||n.startsWith(`/ec2/create-snapshot`),e[53]=n,e[54]=ae);let L,oe;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,q.jsx)(Ze,{className:`size-4`}),oe=(0,q.jsx)(`span`,{children:`Snapshots`}),e[55]=L,e[56]=oe):(L=e[55],oe=e[56]);let se;e[57]===ae?se=e[58]:(se=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-snapshots`,children:(0,q.jsxs)(Y,{isActive:ae,tooltip:`Snapshots`,children:[L,oe]})})}),e[57]=ae,e[58]=se);let ce;e[59]===n?ce=e[60]:(ce=n.startsWith(`/ec2/describe-placement-groups`)||n.startsWith(`/ec2/create-placement-group`),e[59]=n,e[60]=ce);let le,ue;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,q.jsx)(Ds,{className:`size-4`}),ue=(0,q.jsx)(`span`,{children:`Placement Groups`}),e[61]=le,e[62]=ue):(le=e[61],ue=e[62]);let de;e[63]===ce?de=e[64]:(de=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-placement-groups`,children:(0,q.jsxs)(Y,{isActive:ce,tooltip:`Placement Groups`,children:[le,ue]})})}),e[63]=ce,e[64]=de);let fe;e[65]===n?fe=e[66]:(fe=n.startsWith(`/ec2/describe-load-balancers`)||n.startsWith(`/ec2/create-load-balancer`),e[65]=n,e[66]=fe);let pe,me;e[67]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,q.jsx)(gt,{className:`size-4`}),me=(0,q.jsx)(`span`,{children:`Load Balancers`}),e[67]=pe,e[68]=me):(pe=e[67],me=e[68]);let he;e[69]===fe?he=e[70]:(he=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-load-balancers`,children:(0,q.jsxs)(Y,{isActive:fe,tooltip:`Load Balancers`,children:[pe,me]})})}),e[69]=fe,e[70]=he);let ge;e[71]===n?ge=e[72]:(ge=n.startsWith(`/ec2/describe-target-groups`)||n.startsWith(`/ec2/create-target-group`),e[71]=n,e[72]=ge);let _e,ve;e[73]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,q.jsx)(Ss,{className:`size-4`}),ve=(0,q.jsx)(`span`,{children:`Target Groups`}),e[73]=_e,e[74]=ve):(_e=e[73],ve=e[74]);let ye;e[75]===ge?ye=e[76]:(ye=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-target-groups`,children:(0,q.jsxs)(Y,{isActive:ge,tooltip:`Target Groups`,children:[_e,ve]})})}),e[75]=ge,e[76]=ye);let be;e[77]!==x||e[78]!==T||e[79]!==k||e[80]!==ne||e[81]!==re||e[82]!==I||e[83]!==se||e[84]!==de||e[85]!==he||e[86]!==ye?(be=(0,q.jsxs)(Cl,{children:[_,(0,q.jsxs)(Tl,{children:[x,T,k,ne,re,I,se,de,he,ye]})]}),e[77]=x,e[78]=T,e[79]=k,e[80]=ne,e[81]=re,e[82]=I,e[83]=se,e[84]=de,e[85]=he,e[86]=ye,e[87]=be):be=e[87];let xe;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,q.jsx)(wl,{children:`Networking`}),e[88]=xe):xe=e[88];let Se;e[89]===n?Se=e[90]:(Se=n.startsWith(`/ec2/describe-vpcs`)||n.startsWith(`/ec2/create-vpc`),e[89]=n,e[90]=Se);let Ce,we;e[91]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,q.jsx)(lt,{className:`size-4`}),we=(0,q.jsx)(`span`,{children:`VPCs`}),e[91]=Ce,e[92]=we):(Ce=e[91],we=e[92]);let z;e[93]===Se?z=e[94]:(z=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-vpcs`,children:(0,q.jsxs)(Y,{isActive:Se,tooltip:`VPCs`,children:[Ce,we]})})}),e[93]=Se,e[94]=z);let Te;e[95]===n?Te=e[96]:(Te=n.startsWith(`/ec2/describe-subnets`)||n.startsWith(`/ec2/create-subnet`),e[95]=n,e[96]=Te);let B,Ee;e[97]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,q.jsx)(Os,{className:`size-4`}),Ee=(0,q.jsx)(`span`,{children:`Subnets`}),e[97]=B,e[98]=Ee):(B=e[97],Ee=e[98]);let De;e[99]===Te?De=e[100]:(De=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-subnets`,children:(0,q.jsxs)(Y,{isActive:Te,tooltip:`Subnets`,children:[B,Ee]})})}),e[99]=Te,e[100]=De);let Oe;e[101]===n?Oe=e[102]:(Oe=n.startsWith(`/ec2/describe-security-groups`)||n.startsWith(`/ec2/create-security-group`),e[101]=n,e[102]=Oe);let ke,Ae;e[103]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,q.jsx)(Fs,{className:`size-4`}),Ae=(0,q.jsx)(`span`,{children:`Security Groups`}),e[103]=ke,e[104]=Ae):(ke=e[103],Ae=e[104]);let Me;e[105]===Oe?Me=e[106]:(Me=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-security-groups`,children:(0,q.jsxs)(Y,{isActive:Oe,tooltip:`Security Groups`,children:[ke,Ae]})})}),e[105]=Oe,e[106]=Me);let Ne;e[107]===n?Ne=e[108]:(Ne=n.startsWith(`/ec2/describe-route-tables`)||n.startsWith(`/ec2/create-route-table`),e[107]=n,e[108]=Ne);let Pe,Fe;e[109]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=(0,q.jsx)(Ps,{className:`size-4`}),Fe=(0,q.jsx)(`span`,{children:`Route Tables`}),e[109]=Pe,e[110]=Fe):(Pe=e[109],Fe=e[110]);let Ie;e[111]===Ne?Ie=e[112]:(Ie=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-route-tables`,children:(0,q.jsxs)(Y,{isActive:Ne,tooltip:`Route Tables`,children:[Pe,Fe]})})}),e[111]=Ne,e[112]=Ie);let Le;e[113]===n?Le=e[114]:(Le=n.startsWith(`/ec2/describe-internet-gateways`),e[113]=n,e[114]=Le);let Re,ze;e[115]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,q.jsx)(ut,{className:`size-4`}),ze=(0,q.jsx)(`span`,{children:`Internet Gateways`}),e[115]=Re,e[116]=ze):(Re=e[115],ze=e[116]);let Be;e[117]===Le?Be=e[118]:(Be=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-internet-gateways`,children:(0,q.jsxs)(Y,{isActive:Le,tooltip:`Internet Gateways`,children:[Re,ze]})})}),e[117]=Le,e[118]=Be);let Ve;e[119]===n?Ve=e[120]:(Ve=n.startsWith(`/ec2/describe-nat-gateways`)||n.startsWith(`/ec2/create-nat-gateway`),e[119]=n,e[120]=Ve);let He,Ue;e[121]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,q.jsx)(dt,{className:`size-4`}),Ue=(0,q.jsx)(`span`,{children:`NAT Gateways`}),e[121]=He,e[122]=Ue):(He=e[121],Ue=e[122]);let We;e[123]===Ve?We=e[124]:(We=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-nat-gateways`,children:(0,q.jsxs)(Y,{isActive:Ve,tooltip:`NAT Gateways`,children:[He,Ue]})})}),e[123]=Ve,e[124]=We);let Ge;e[125]!==z||e[126]!==De||e[127]!==Me||e[128]!==Ie||e[129]!==Be||e[130]!==We?(Ge=(0,q.jsxs)(Cl,{children:[xe,(0,q.jsxs)(Tl,{children:[z,De,Me,Ie,Be,We]})]}),e[125]=z,e[126]=De,e[127]=Me,e[128]=Ie,e[129]=Be,e[130]=We,e[131]=Ge):Ge=e[131];let Ke;e[132]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=(0,q.jsx)(wl,{children:`Containers`}),e[132]=Ke):Ke=e[132];let qe;e[133]===n?qe=e[134]:(qe=n.startsWith(`/eks/list-clusters`)||n.startsWith(`/eks/create-cluster`),e[133]=n,e[134]=qe);let Ye,V;e[135]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,q.jsx)(ys,{className:`size-4`}),V=(0,q.jsx)(`span`,{children:`EKS`}),e[135]=Ye,e[136]=V):(Ye=e[135],V=e[136]);let H;e[137]===qe?H=e[138]:(H=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/eks/list-clusters`,children:(0,q.jsxs)(Y,{isActive:qe,tooltip:`EKS clusters`,children:[Ye,V]})})}),e[137]=qe,e[138]=H);let Xe;e[139]===n?Xe=e[140]:(Xe=n.startsWith(`/ecr/list-repositories`),e[139]=n,e[140]=Xe);let Qe,$e;e[141]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,q.jsx)(Ms,{className:`size-4`}),$e=(0,q.jsx)(`span`,{children:`ECR`}),e[141]=Qe,e[142]=$e):(Qe=e[141],$e=e[142]);let et;e[143]===Xe?et=e[144]:(et=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ecr/list-repositories`,children:(0,q.jsxs)(Y,{isActive:Xe,tooltip:`ECR repositories`,children:[Qe,$e]})})}),e[143]=Xe,e[144]=et);let tt;e[145]===n?tt=e[146]:(tt=n.startsWith(`/ecs/`),e[145]=n,e[146]=tt);let nt,rt;e[147]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,q.jsx)(xs,{className:`size-4`}),rt=(0,q.jsx)(`span`,{children:`ECS`}),e[147]=nt,e[148]=rt):(nt=e[147],rt=e[148]);let it;e[149]===tt?it=e[150]:(it=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ecs/list-clusters`,children:(0,q.jsxs)(Y,{isActive:tt,tooltip:`ECS clusters`,children:[nt,rt]})})}),e[149]=tt,e[150]=it);let at;e[151]!==H||e[152]!==et||e[153]!==it?(at=(0,q.jsxs)(Cl,{children:[Ke,(0,q.jsxs)(Tl,{children:[H,et,it]})]}),e[151]=H,e[152]=et,e[153]=it,e[154]=at):at=e[154];let ot;e[155]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,q.jsx)(wl,{children:`RDS`}),e[155]=ot):ot=e[155];let st;e[156]===n?st=e[157]:(st=n.startsWith(`/rds/describe-db-instances`)||n.startsWith(`/rds/create-db-instance`),e[156]=n,e[157]=st);let ct,vt;e[158]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,q.jsx)(Cs,{className:`size-4`}),vt=(0,q.jsx)(`span`,{children:`Databases`}),e[158]=ct,e[159]=vt):(ct=e[158],vt=e[159]);let bt;e[160]===st?bt=e[161]:(bt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-instances`,children:(0,q.jsxs)(Y,{isActive:st,tooltip:`Databases`,children:[ct,vt]})})}),e[160]=st,e[161]=bt);let xt;e[162]===n?xt=e[163]:(xt=n.startsWith(`/rds/describe-db-snapshots`)||n.startsWith(`/rds/restore-db-instance-from-db-snapshot`),e[162]=n,e[163]=xt);let St,Ct;e[164]===Symbol.for(`react.memo_cache_sentinel`)?(St=(0,q.jsx)(Ze,{className:`size-4`}),Ct=(0,q.jsx)(`span`,{children:`Snapshots`}),e[164]=St,e[165]=Ct):(St=e[164],Ct=e[165]);let wt;e[166]===xt?wt=e[167]:(wt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-snapshots`,children:(0,q.jsxs)(Y,{isActive:xt,tooltip:`DB Snapshots`,children:[St,Ct]})})}),e[166]=xt,e[167]=wt);let Tt;e[168]===n?Tt=e[169]:(Tt=n.startsWith(`/rds/describe-db-subnet-groups`)||n.startsWith(`/rds/create-db-subnet-group`),e[168]=n,e[169]=Tt);let Et,Dt;e[170]===Symbol.for(`react.memo_cache_sentinel`)?(Et=(0,q.jsx)(Os,{className:`size-4`}),Dt=(0,q.jsx)(`span`,{children:`Subnet Groups`}),e[170]=Et,e[171]=Dt):(Et=e[170],Dt=e[171]);let Ot;e[172]===Tt?Ot=e[173]:(Ot=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-subnet-groups`,children:(0,q.jsxs)(Y,{isActive:Tt,tooltip:`DB Subnet Groups`,children:[Et,Dt]})})}),e[172]=Tt,e[173]=Ot);let kt;e[174]===n?kt=e[175]:(kt=n.startsWith(`/rds/describe-db-parameter-groups`)||n.startsWith(`/rds/create-db-parameter-group`),e[174]=n,e[175]=kt);let At,jt;e[176]===Symbol.for(`react.memo_cache_sentinel`)?(At=(0,q.jsx)(yt,{className:`size-4`}),jt=(0,q.jsx)(`span`,{children:`Parameter Groups`}),e[176]=At,e[177]=jt):(At=e[176],jt=e[177]);let Mt;e[178]===kt?Mt=e[179]:(Mt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-parameter-groups`,children:(0,q.jsxs)(Y,{isActive:kt,tooltip:`DB Parameter Groups`,children:[At,jt]})})}),e[178]=kt,e[179]=Mt);let Nt;e[180]!==wt||e[181]!==Ot||e[182]!==Mt||e[183]!==bt?(Nt=(0,q.jsxs)(Cl,{children:[ot,(0,q.jsxs)(Tl,{children:[bt,wt,Ot,Mt]})]}),e[180]=wt,e[181]=Ot,e[182]=Mt,e[183]=bt,e[184]=Nt):Nt=e[184];let Pt;e[185]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=(0,q.jsx)(wl,{children:`IAM`}),e[185]=Pt):Pt=e[185];let Ft;e[186]===n?Ft=e[187]:(Ft=n.startsWith(`/iam/list-users`)||n.startsWith(`/iam/create-user`),e[186]=n,e[187]=Ft);let It,Lt;e[188]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,q.jsx)(zs,{className:`size-4`}),Lt=(0,q.jsx)(`span`,{children:`Users`}),e[188]=It,e[189]=Lt):(It=e[188],Lt=e[189]);let Rt;e[190]===Ft?Rt=e[191]:(Rt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-users`,children:(0,q.jsxs)(Y,{isActive:Ft,tooltip:`Users`,children:[It,Lt]})})}),e[190]=Ft,e[191]=Rt);let zt;e[192]===n?zt=e[193]:(zt=n.startsWith(`/iam/list-groups`)||n.startsWith(`/iam/create-group`),e[192]=n,e[193]=zt);let Bt,Vt;e[194]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=(0,q.jsx)(Rs,{className:`size-4`}),Vt=(0,q.jsx)(`span`,{children:`Groups`}),e[194]=Bt,e[195]=Vt):(Bt=e[194],Vt=e[195]);let Ht;e[196]===zt?Ht=e[197]:(Ht=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-groups`,children:(0,q.jsxs)(Y,{isActive:zt,tooltip:`Groups`,children:[Bt,Vt]})})}),e[196]=zt,e[197]=Ht);let Ut;e[198]===n?Ut=e[199]:(Ut=n.startsWith(`/iam/list-policies`)||n.startsWith(`/iam/create-policy`),e[198]=n,e[199]=Ut);let Wt,Gt;e[200]===Symbol.for(`react.memo_cache_sentinel`)?(Wt=(0,q.jsx)(ft,{className:`size-4`}),Gt=(0,q.jsx)(`span`,{children:`Policies`}),e[200]=Wt,e[201]=Gt):(Wt=e[200],Gt=e[201]);let Kt;e[202]===Ut?Kt=e[203]:(Kt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-policies`,children:(0,q.jsxs)(Y,{isActive:Ut,tooltip:`Policies`,children:[Wt,Gt]})})}),e[202]=Ut,e[203]=Kt);let qt;e[204]===n?qt=e[205]:(qt=n.startsWith(`/iam/list-roles`)||n.startsWith(`/iam/create-role`),e[204]=n,e[205]=qt);let Jt,Yt;e[206]===Symbol.for(`react.memo_cache_sentinel`)?(Jt=(0,q.jsx)(Ls,{className:`size-4`}),Yt=(0,q.jsx)(`span`,{children:`Roles`}),e[206]=Jt,e[207]=Yt):(Jt=e[206],Yt=e[207]);let Xt;e[208]===qt?Xt=e[209]:(Xt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-roles`,children:(0,q.jsxs)(Y,{isActive:qt,tooltip:`Roles`,children:[Jt,Yt]})})}),e[208]=qt,e[209]=Xt);let Zt;e[210]===n?Zt=e[211]:(Zt=n.startsWith(`/iam/list-instance-profiles`)||n.startsWith(`/iam/create-instance-profile`),e[210]=n,e[211]=Zt);let Qt,$t;e[212]===Symbol.for(`react.memo_cache_sentinel`)?(Qt=(0,q.jsx)(Es,{className:`size-4`}),$t=(0,q.jsx)(`span`,{children:`Instance Profiles`}),e[212]=Qt,e[213]=$t):(Qt=e[212],$t=e[213]);let en;e[214]===Zt?en=e[215]:(en=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-instance-profiles`,children:(0,q.jsxs)(Y,{isActive:Zt,tooltip:`Instance Profiles`,children:[Qt,$t]})})}),e[214]=Zt,e[215]=en);let tn;e[216]!==Rt||e[217]!==Ht||e[218]!==Kt||e[219]!==Xt||e[220]!==en?(tn=(0,q.jsxs)(Cl,{children:[Pt,(0,q.jsxs)(Tl,{children:[Rt,Ht,Kt,Xt,en]})]}),e[216]=Rt,e[217]=Ht,e[218]=Kt,e[219]=Xt,e[220]=en,e[221]=tn):tn=e[221];let nn;e[222]===Symbol.for(`react.memo_cache_sentinel`)?(nn=(0,q.jsx)(wl,{children:`S3`}),e[222]=nn):nn=e[222];let rn;e[223]===n?rn=e[224]:(rn=n.startsWith(`/s3/ls`),e[223]=n,e[224]=rn);let an,on;e[225]===Symbol.for(`react.memo_cache_sentinel`)?(an=(0,q.jsx)(mt,{className:`size-4`}),on=(0,q.jsx)(`span`,{children:`Buckets`}),e[225]=an,e[226]=on):(an=e[225],on=e[226]);let sn;e[227]===rn?sn=e[228]:(sn=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/s3/ls`,children:(0,q.jsxs)(Y,{isActive:rn,tooltip:`Buckets`,children:[an,on]})})}),e[227]=rn,e[228]=sn);let cn;e[229]!==a||e[230]!==n?(cn=a&&(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/s3/service-metrics`,children:(0,q.jsxs)(Y,{isActive:n.startsWith(`/s3/service-metrics`),tooltip:`Service Metrics`,children:[(0,q.jsx)(_s,{className:`size-4`}),(0,q.jsx)(`span`,{children:`Service Metrics`})]})})}),e[229]=a,e[230]=n,e[231]=cn):cn=e[231];let ln;e[232]!==sn||e[233]!==cn?(ln=(0,q.jsxs)(Cl,{children:[nn,(0,q.jsxs)(Tl,{children:[sn,cn]})]}),e[232]=sn,e[233]=cn,e[234]=ln):ln=e[234];let un;e[235]===a?un=e[236]:(un=a&&(0,q.jsxs)(Cl,{children:[(0,q.jsx)(wl,{children:`Documentation`}),(0,q.jsx)(Tl,{children:(0,q.jsx)(J,{children:(0,q.jsx)(`a`,{href:`https://docs.mulgadc.com`,target:`_blank`,rel:`noopener noreferrer`,children:(0,q.jsxs)(Y,{tooltip:`Documentation`,children:[(0,q.jsx)(vs,{className:`size-4`}),(0,q.jsx)(`span`,{children:`Docs`})]})})})})]}),e[235]=a,e[236]=un);let dn;e[237]!==Nt||e[238]!==tn||e[239]!==ln||e[240]!==un||e[241]!==be||e[242]!==Ge||e[243]!==g||e[244]!==at?(dn=(0,q.jsxs)(Sl,{children:[g,be,Ge,at,Nt,tn,ln,un]}),e[237]=Nt,e[238]=tn,e[239]=ln,e[240]=un,e[241]=be,e[242]=Ge,e[243]=g,e[244]=at,e[245]=dn):dn=e[245];let fn;e[246]===Symbol.for(`react.memo_cache_sentinel`)?(fn=(0,q.jsx)(xl,{className:`mx-0 w-full`}),e[246]=fn):fn=e[246];let pn,mn;e[247]===Symbol.for(`react.memo_cache_sentinel`)?(pn=(0,q.jsx)(ks,{className:`size-4`}),mn=(0,q.jsx)(`span`,{children:`Sign out`}),e[247]=pn,e[248]=mn):(pn=e[247],mn=e[248]);let hn;e[249]===s?hn=e[250]:(hn=(0,q.jsxs)(bl,{children:[fn,(0,q.jsx)(Tl,{children:(0,q.jsx)(J,{children:(0,q.jsxs)(Y,{onClick:s,tooltip:`Sign out`,children:[pn,mn]})})})]}),e[249]=s,e[250]=hn);let gn;e[251]===Symbol.for(`react.memo_cache_sentinel`)?(gn=(0,q.jsx)(vl,{}),e[251]=gn):gn=e[251];let _n;return e[252]!==dn||e[253]!==hn?(_n=(0,q.jsxs)(gl,{collapsible:`icon`,children:[c,dn,hn,gn]}),e[252]=dn,e[253]=hn,e[254]=_n):_n=e[254],_n}function Il(e){return e.pathname}function X(e){let t=(0,fs.c)(18),{error:n,reset:r}=e,i=De(),a=h(),o;t[0]!==a||t[1]!==r||t[2]!==i?(o=function(){a.invalidateQueries(),r(),i.invalidate()},t[0]=a,t[1]=r,t[2]=i,t[3]=o):o=t[3];let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(Fl,{}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(Nl,{}),t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(`div`,{className:`flex justify-center`,children:(0,q.jsx)(bs,{className:`size-12 text-destructive`})}),d=(0,q.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Something went wrong`}),t[6]=u,t[7]=d):(u=t[6],d=t[7]);let f=n.message||`An unexpected error occurred`,p;t[8]===f?p=t[9]:(p=(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:f}),t[8]=f,t[9]=p);let m;t[10]===s?m=t[11]:(m=(0,q.jsx)(At,{onClick:s,variant:`default`,children:`Try Again`}),t[10]=s,t[11]=m);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,q.jsx)(R,{to:`/`,children:(0,q.jsx)(At,{variant:`outline`,children:`Go Home`})}),t[12]=g):g=t[12];let _;t[13]===m?_=t[14]:(_=(0,q.jsxs)(`div`,{className:`flex justify-center gap-2`,children:[m,g]}),t[13]=m,t[14]=_);let v;return t[15]!==_||t[16]!==p?(v=(0,q.jsxs)(q.Fragment,{children:[c,(0,q.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[l,(0,q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 pt-0`,children:(0,q.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[u,d,p,_]})})]})]}),t[15]=_,t[16]=p,t[17]=v):v=t[17],v}var Z=Te()({head:()=>({meta:[{title:`Mulga`}]}),component:()=>(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ss,{}),(0,q.jsx)(Fl,{}),(0,q.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[(0,q.jsx)(Nl,{}),(0,q.jsx)(`div`,{className:`flex flex-1 flex-col p-8`,children:(0,q.jsx)(he,{})})]})]}),errorComponent:X,notFoundComponent:Pl}),Ll=z(`/_auth`)({beforeLoad:()=>{if(!Ke())throw xe({to:`/login`})},component:B(()=>V(()=>import(`./route.js`),__vite__mapDeps([0,1,2,3,4])),`component`)}),Rl=z(`/_auth/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(or),e.queryClient.ensureQueryData(Zn),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(ur),e.queryClient.ensureQueryData(Nr),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(nr),e.queryClient.ensureQueryData(cr),e.queryClient.ensureQueryData(ir)])},head:()=>({meta:[{title:`Dashboard | Mulga`}]}),component:B(()=>V(()=>import(`./_auth.js`),__vite__mapDeps([5,1,6,7,8,9,4,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)}),zl=z(`/_auth/nodes`)({head:()=>({meta:[{title:`Nodes | Mulga`}]}),component:B(()=>V(()=>import(`./nodes.js`),__vite__mapDeps([31,1,6,7,8,9,4,32,10,11,13,12,14,16,17,18,24,26,20,27,28,29,30])),`component`)}),Bl=z(`/_auth/s3/service-metrics`)({head:()=>({meta:[{title:`Service Metrics | S3 | Mulga`}]}),component:B(()=>V(()=>import(`./service-metrics.js`),__vite__mapDeps([33,1,6,7,8,32,16,10,11,17,18,24,26,20,27,28,29,30])),`component`)}),Vl=z(`/_auth/ec2/(elastic-ips)/allocate-address`)({head:()=>({meta:[{title:`Allocate Elastic IP | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./allocate-address.js`),__vite__mapDeps([34,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),Hl=`/dev/sda1`,Ul=`gp3`,Wl=1,Gl=16384,Kl=z(`/_auth/ec2/(instances)/run-instances`)({validateSearch:e=>({launchTemplateId:typeof e.launchTemplateId==`string`?e.launchTemplateId:void 0,launchTemplateVersion:typeof e.launchTemplateVersion==`string`?e.launchTemplateVersion:void 0}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData(ur),e.queryClient.ensureQueryData(rr),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(pr),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(ar)])},head:()=>({meta:[{title:`Run Instances | EC2 | Mulga`}]}),component:ql});function ql(){let e=(0,fs.c)(138),t=je(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={from:Kl.id},e[0]=n):n=e[0];let r=we(n),{data:i}=C(lr),{data:a}=C(ur),{data:o}=C(rr),{data:s}=C(er),{data:c}=C(pr),{data:l}=C($n),{data:u}=C(fr),{data:d}=C(ar),f=mr(),p=i.Images??[],m=a.KeyPairs??[],h;e[1]===s.Subnets?h=e[2]:(h=s.Subnets??[],e[1]=s.Subnets,e[2]=h);let g=h,_;e[3]===c.PlacementGroups?_=e[4]:(_=c.PlacementGroups??[],e[3]=c.PlacementGroups,e[4]=_);let v=_,y;e[5]===l.Vpcs?y=e[6]:(y=l.Vpcs??[],e[5]=l.Vpcs,e[6]=y);let b=y,x=u.SecurityGroups??[],w;e[7]===d.LaunchTemplates?w=e[8]:(w=d.LaunchTemplates??[],e[7]=d.LaunchTemplates,e[8]=w);let T=w,E;e[9]===b?E=e[10]:(E=(b.find(uu)??b[0])?.VpcId,e[9]=b,e[10]=E);let D=E,O=Kr(x.map(lu)),k;if(e[11]!==o.InstanceTypes){k={};for(let e of o.InstanceTypes??[]){let t=e.InstanceType;t&&(k[t]=(k[t]??0)+1)}e[11]=o.InstanceTypes,e[12]=k}else k=e[12];let A=Object.keys(k).toSorted(),ee=p[0]?.ImageId,te=m[0]?.KeyName,ne=A.find(cu)??A[0],j=du(p.find(e=>e.ImageId===ee)),M;e[13]===k?M=e[14]:(M=e=>!e.instanceType||e.count<=(k[e.instanceType]??1),e[13]=k,e[14]=M);let{control:N,handleSubmit:re,register:P,setValue:F,getValues:ie,watch:I,formState:ae}=Ir({resolver:Rr(qr.refine(M,{message:`Cannot exceed available capacity`,path:[`count`]}).superRefine((e,t)=>{let n=du(p.find(t=>t.ImageId===e.imageId)).snapshotSize;e.rootVolumeSize!==void 0&&n!==void 0&&e.rootVolumeSizee.InstanceType===R))?.GpuInfo?.Gpus?.[0],ue=le?.Name?.startsWith(`MIG `)?le.Name.slice(4):void 0,de;e[17]===N?de=e[18]:(de={control:N,name:`imageId`},e[17]=N,e[18]=de);let fe=Fr(de),pe;e[19]===fe?pe=e[20]:(pe=e=>e.ImageId===fe,e[19]=fe,e[20]=pe);let me=du(p.find(pe)),he;e[21]===N?he=e[22]:(he={control:N,name:`subnetId`},e[21]=N,e[22]=he);let ge=Fr(he),_e;e[23]===N?_e=e[24]:(_e={control:N,name:`securityGroupMode`},e[23]=N,e[24]=_e);let ve=Fr(_e),ye;e[25]===N?ye=e[26]:(ye={control:N,name:`ruleSource`},e[25]=N,e[26]=ye);let be=Fr(ye),xe=Fr({control:N,name:`securityGroupIds`})??[],Se;e[27]===xe?Se=e[28]:(Se=new Set(xe),e[27]=xe,e[28]=Se);let Ce=Se,z;e[29]===N?z=e[30]:(z={control:N,name:`launchTemplateId`},e[29]=N,e[30]=z);let Te=Fr(z),B;e[31]===N?B=e[32]:(B={control:N,name:`launchTemplateVersion`},e[31]=N,e[32]=B);let Ee=Fr(B),De=Te??``,Oe;e[33]===De?Oe=e[34]:(Oe=sr(De),e[33]=De,e[34]=Oe);let ke=!!Te,Ae;e[35]!==Oe||e[36]!==ke?(Ae={...Oe,enabled:ke},e[35]=Oe,e[36]=ke,e[37]=Ae):Ae=e[37];let Me=S(Ae),Ne;e[38]===Me.data?.LaunchTemplateVersions?Ne=e[39]:(Ne=Me.data?.LaunchTemplateVersions??[],e[38]=Me.data?.LaunchTemplateVersions,e[39]=Ne);let Pe=Ne,Fe;e[40]!==Ee||e[41]!==Pe?(Fe=fu(Pe,Ee)?.LaunchTemplateData,e[40]=Ee,e[41]=Pe,e[42]=Fe):Fe=e[42];let Ie=Fe,Le;e[43]!==D||e[44]!==ge||e[45]!==g?(Le=g.find(e=>e.SubnetId===ge)?.VpcId??D,e[43]=D,e[44]=ge,e[45]=g,e[46]=Le):Le=e[46];let Re=Le,ze;e[47]!==Re||e[48]!==x?(ze=Re?x.filter(e=>e.VpcId===Re):x,e[47]=Re,e[48]=x,e[49]=ze):ze=e[49];let Be=ze,Ve;e[50]!==ie||e[51]!==F?(Ve=e=>{let t=ie(`securityGroupIds`)??[],n=t.includes(e)?t.filter(t=>t!==e):[...t,e];F(`securityGroupIds`,n,{shouldValidate:!0})},e[50]=ie,e[51]=F,e[52]=Ve):Ve=e[52];let He=Ve,Ue;e[53]!==me.deviceName||e[54]!==F?(Ue=()=>{F(`rootDeviceName`,me.deviceName)},e[53]=me.deviceName,e[54]=F,e[55]=Ue):Ue=e[55];let We;e[56]!==fe||e[57]!==me.deviceName||e[58]!==F?(We=[fe,me.deviceName,F],e[56]=fe,e[57]=me.deviceName,e[58]=F,e[59]=We):We=e[59],(0,K.useEffect)(Ue,We);let Ge;e[60]!==f||e[61]!==Re||e[62]!==t?(Ge=async e=>{let n=e.launchTemplateId?{count:e.count,launchTemplateId:e.launchTemplateId,launchTemplateVersion:e.launchTemplateVersion,resolvedVpcId:Re}:{...e,resolvedVpcId:Re};await f.mutateAsync(n),t({to:`/ec2/describe-instances`})},e[60]=f,e[61]=Re,e[62]=t,e[63]=Ge):Ge=e[63];let Ke=Ge,Je,Ye;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,q.jsx)(Xe,{to:`/ec2/describe-instances`,children:`Back to instances`}),Ye=(0,q.jsx)(Hr,{title:`Run Instances`}),e[64]=Je,e[65]=Ye):(Je=e[64],Ye=e[65]);let V;e[66]!==Te||e[67]!==A?(V=A.length===0&&!Te&&(0,q.jsx)(Br,{msg:`No compute available. No new instances can be created until compute is available.`}),e[66]=Te,e[67]=A,e[68]=V):V=e[68];let H;e[69]===f.error?H=e[70]:(H=f.error&&(0,q.jsx)(Br,{error:f.error,msg:`Failed to create instance`}),e[69]=f.error,e[70]=H);let Ze;e[71]!==re||e[72]!==Ke?(Ze=re(Ke),e[71]=re,e[72]=Ke,e[73]=Ze):Ze=e[73];let Qe;e[74]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`launchTemplateId`,children:`Launch Template`})}),e[74]=Qe):Qe=e[74];let tt;e[75]===T?tt=e[76]:(tt=e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,q.jsx)(at,{className:`w-full`,id:`launchTemplateId`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`none`,children:`none`}),T.map(su)]})]})},e[75]=T,e[76]=tt);let rt;e[77]!==N||e[78]!==tt?(rt=(0,q.jsxs)(On,{children:[Qe,(0,q.jsx)(Lr,{control:N,name:`launchTemplateId`,render:tt})]}),e[77]=N,e[78]=tt,e[79]=rt):rt=e[79];let st;e[80]!==N||e[81]!==Ie||e[82]!==Te||e[83]!==Pe?(st=Te&&(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`launchTemplateVersion`,children:`Version`})}),(0,q.jsx)(Lr,{control:N,name:`launchTemplateVersion`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??`$Default`,children:[(0,q.jsx)(at,{className:`w-full`,id:`launchTemplateVersion`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`$Default`,children:`$Default`}),(0,q.jsx)(nt,{value:`$Latest`,children:`$Latest`}),Pe.map(ou)]})]})}}),Ie&&(0,q.jsxs)(`div`,{className:`mt-3 space-y-1 rounded-md border border-border p-3 text-xs`,children:[(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:`Configuration from this version:`}),(0,q.jsxs)(`p`,{children:[`Image:`,` `,(0,q.jsx)(`span`,{className:`font-mono`,children:Ie.ImageId??`—`})]}),(0,q.jsxs)(`p`,{children:[`Instance type:`,` `,(0,q.jsx)(`span`,{className:`font-mono`,children:Ie.InstanceType??`—`})]}),(0,q.jsxs)(`p`,{children:[`Key pair:`,` `,(0,q.jsx)(`span`,{className:`font-mono`,children:Ie.KeyName??`—`})]})]})]}),e[80]=N,e[81]=Ie,e[82]=Te,e[83]=Pe,e[84]=st):st=e[84];let ct=!Te&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`imageId`,children:`Image`})}),(0,q.jsx)(Lr,{control:N,name:`imageId`,render:e=>{let{field:t}=e,n=p.find(e=>e.ImageId===t.value);return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,q.jsx)(at,{"aria-invalid":!!L.imageId,className:`w-full`,id:`imageId`,children:(0,q.jsx)(et,{children:n?`${n.Name??`Unnamed`} (${n.Architecture})`:``})}),(0,q.jsx)(it,{children:p.map(au)})]})}}),(0,q.jsx)(Dn,{errors:[L.imageId]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,q.jsx)(Lr,{control:N,name:`instanceType`,render:e=>{let{field:t}=e;return(0,q.jsx)(Vr,{"aria-invalid":!!L.instanceType,availabilityByType:k,className:`w-full`,id:`instanceType`,instanceTypes:o.InstanceTypes??[],onValueChange:t.onChange,value:t.value??``})}}),le&&(0,q.jsxs)(Tn,{children:[`GPU: `,le.Name,le.MemoryInfo?.SizeInMiB!==void 0&&` · ${qe(le.MemoryInfo.SizeInMiB)} VRAM`,ue&&` · MIG ${ue} slice`]}),(0,q.jsx)(Dn,{errors:[L.instanceType]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair`})}),(0,q.jsx)(Lr,{control:N,name:`keyName`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,q.jsx)(at,{"aria-invalid":!!L.keyName,className:`w-full`,id:`keyName`,children:(0,q.jsx)(et,{})}),(0,q.jsx)(it,{children:m.map(iu)})]})}}),(0,q.jsx)(Dn,{errors:[L.keyName]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`subnetId`,children:`Subnet`})}),(0,q.jsx)(Lr,{control:N,name:`subnetId`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,q.jsx)(at,{className:`w-full`,id:`subnetId`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`none`,children:`none`}),g.map(ru)]})]})}})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:`Security Group`}),(0,q.jsx)(Tn,{children:Re?`Applies to VPC ${Re}`:`No VPC resolved — select a subnet`}),(0,q.jsx)(Lr,{control:N,name:`securityGroupMode`,render:nu}),ve===`create`?(0,q.jsxs)(`div`,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`newSgName`,children:`Name`})}),(0,q.jsx)(Cn,{"aria-invalid":!!L.newSgName,id:`newSgName`,type:`text`,...P(`newSgName`)}),(0,q.jsx)(Dn,{errors:[L.newSgName]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`newSgDescription`,children:`Description`})}),(0,q.jsx)(Cn,{id:`newSgDescription`,type:`text`,...P(`newSgDescription`)})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:`Inbound rules`}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(Lr,{control:N,name:`allowSsh`,render:tu}),(0,q.jsx)(Lr,{control:N,name:`allowHttp`,render:eu}),(0,q.jsx)(Lr,{control:N,name:`allowHttps`,render:$l})]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:`Source`}),(0,q.jsx)(Lr,{control:N,name:`ruleSource`,render:Ql}),be===`custom`&&(0,q.jsxs)(`div`,{className:`mt-2`,children:[(0,q.jsx)(Cn,{"aria-invalid":!!L.customCidr,placeholder:`203.0.113.0/24`,type:`text`,...P(`customCidr`)}),(0,q.jsx)(Dn,{errors:[L.customCidr]})]})]})]}):(0,q.jsxs)(`div`,{className:`mt-3`,children:[Be.length===0?(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the resolved VPC.`}):(0,q.jsx)(`div`,{className:`space-y-1`,children:Be.map(e=>(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,q.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:Ce.has(e.GroupId??``),onChange:()=>He(e.GroupId??``),type:`checkbox`}),(0,q.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))}),(0,q.jsx)(Dn,{errors:[L.securityGroupIds]})]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`placementGroupName`,children:`Placement Group`})}),(0,q.jsx)(Lr,{control:N,name:`placementGroupName`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,q.jsx)(at,{className:`w-full`,id:`placementGroupName`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`none`,children:`none`}),v.map(Zl)]})]})}})]})]}),lt;e[85]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`count`,children:`Number of Instances`})}),e[85]=lt):lt=e[85];let ut=!!L.count,dt;e[86]===P?dt=e[87]:(dt=P(`count`,{valueAsNumber:!0}),e[86]=P,e[87]=dt);let ft;e[88]!==ut||e[89]!==dt?(ft=(0,q.jsx)(Cn,{"aria-describedby":`count-description`,"aria-invalid":ut,id:`count`,type:`number`,...dt}),e[88]=ut,e[89]=dt,e[90]=ft):ft=e[90];let pt=R&&`Available capacity for ${R}: ${ce}`,mt;e[91]===pt?mt=e[92]:(mt=(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,id:`count-description`,children:pt}),e[91]=pt,e[92]=mt);let ht;e[93]===L.count?ht=e[94]:(ht=(0,q.jsx)(Dn,{errors:[L.count]}),e[93]=L.count,e[94]=ht);let gt;e[95]!==ft||e[96]!==mt||e[97]!==ht?(gt=(0,q.jsxs)(On,{children:[lt,ft,mt,ht]}),e[95]=ft,e[96]=mt,e[97]=ht,e[98]=gt):gt=e[98];let _t;e[99]!==N||e[100]!==L.rootDeviceName||e[101]!==L.rootVolumeSize||e[102]!==L.rootVolumeType||e[103]!==P||e[104]!==me.snapshotSize||e[105]!==Te?(_t=!Te&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(Gr,{children:[(0,q.jsxs)(Wr,{className:`group flex h-7 w-full items-center justify-between rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none hover:bg-input/40 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 md:text-xs/relaxed dark:bg-input/30 dark:hover:bg-input/50`,render:(0,q.jsx)(`button`,{"aria-label":`Block Device Mappings (root volume)`,type:`button`}),children:[(0,q.jsx)(`span`,{children:`Block Device Mappings (root volume)`}),(0,q.jsx)($e,{className:`size-3.5 text-muted-foreground transition-transform group-data-[panel-open]:rotate-180`})]}),(0,q.jsxs)(Ur,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`rootDeviceName`,children:`Device Name`})}),(0,q.jsx)(Cn,{"aria-invalid":!!L.rootDeviceName,id:`rootDeviceName`,type:`text`,...P(`rootDeviceName`)}),(0,q.jsx)(Dn,{errors:[L.rootDeviceName]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`rootVolumeSize`,children:`Volume Size (GiB)`})}),(0,q.jsx)(Cn,{"aria-invalid":!!L.rootVolumeSize,id:`rootVolumeSize`,max:Gl,min:me.snapshotSize??Wl,placeholder:me.snapshotSize?`${me.snapshotSize} (AMI default)`:`use AMI / backend default`,type:`number`,...P(`rootVolumeSize`,{setValueAs:Xl})}),me.snapshotSize!==void 0&&(0,q.jsxs)(Tn,{children:[`AMI snapshot size: `,me.snapshotSize,` GiB`]}),(0,q.jsx)(Dn,{errors:[L.rootVolumeSize]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`rootVolumeType`,children:`Volume Type`})}),(0,q.jsx)(Lr,{control:N,name:`rootVolumeType`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??Ul,children:[(0,q.jsx)(at,{"aria-invalid":!!L.rootVolumeType,className:`w-full`,id:`rootVolumeType`,children:(0,q.jsx)(et,{})}),(0,q.jsx)(it,{children:Yr.map(Yl)})]})}}),(0,q.jsx)(Dn,{errors:[L.rootVolumeType]})]}),(0,q.jsx)(On,{children:(0,q.jsx)(Lr,{control:N,name:`rootDeleteOnTermination`,render:Jl})})]})]})}),e[99]=N,e[100]=L.rootDeviceName,e[101]=L.rootVolumeSize,e[102]=L.rootVolumeType,e[103]=P,e[104]=me.snapshotSize,e[105]=Te,e[106]=_t):_t=e[106];let vt;e[107]!==Re||e[108]!==I?(vt=pu(I,Re),e[107]=Re,e[108]=I,e[109]=vt):vt=e[109];let yt;e[110]===vt?yt=e[111]:(yt=(0,q.jsx)(xt,{commands:vt}),e[110]=vt,e[111]=yt);let bt=oe||f.isPending,St;e[112]===t?St=e[113]:(St=async()=>await t({to:`/ec2/describe-instances`}),e[112]=t,e[113]=St);let Ct;e[114]!==bt||e[115]!==St?(Ct=(0,q.jsx)(At,{disabled:bt,onClick:St,type:`button`,variant:`outline`,children:`Cancel`}),e[114]=bt,e[115]=St,e[116]=Ct):Ct=e[116];let wt=oe||f.isPending||!Te&&A.length===0,Tt=oe||f.isPending?`Creating…`:`Create Instance`,Et;e[117]!==wt||e[118]!==Tt?(Et=(0,q.jsx)(At,{disabled:wt,type:`submit`,children:Tt}),e[117]=wt,e[118]=Tt,e[119]=Et):Et=e[119];let Dt;e[120]!==Ct||e[121]!==Et?(Dt=(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[Ct,Et]}),e[120]=Ct,e[121]=Et,e[122]=Dt):Dt=e[122];let Ot;e[123]!==Ze||e[124]!==rt||e[125]!==st||e[126]!==ct||e[127]!==gt||e[128]!==_t||e[129]!==yt||e[130]!==Dt?(Ot=(0,q.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:Ze,children:[rt,st,ct,gt,_t,yt,Dt]}),e[123]=Ze,e[124]=rt,e[125]=st,e[126]=ct,e[127]=gt,e[128]=_t,e[129]=yt,e[130]=Dt,e[131]=Ot):Ot=e[131];let kt;return e[132]!==Je||e[133]!==Ye||e[134]!==V||e[135]!==H||e[136]!==Ot?(kt=(0,q.jsxs)(q.Fragment,{children:[Je,Ye,V,H,Ot]}),e[132]=Je,e[133]=Ye,e[134]=V,e[135]=H,e[136]=Ot,e[137]=kt):kt=e[137],kt}function Jl(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Delete on termination`,checked:t.value??!0,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Delete on termination`]})}function Yl(e){return(0,q.jsx)(nt,{value:e,children:e},e)}function Xl(e){return e===``||e==null?void 0:Number(e)}function Zl(e){return(0,q.jsxs)(nt,{value:e.GroupName??``,children:[e.GroupName,` (`,e.Strategy,`)`]},e.GroupId)}function Ql(e){let{field:t}=e;return(0,q.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Source anywhere`,checked:t.value===`anywhere`,onChange:()=>t.onChange(`anywhere`),type:`radio`}),`Anywhere (0.0.0.0/0)`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Source custom CIDR`,checked:t.value===`custom`,onChange:()=>t.onChange(`custom`),type:`radio`}),`Custom CIDR`]})]})}function $l(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Allow HTTPS`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTPS (tcp/443)`]})}function eu(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Allow HTTP`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTP (tcp/80)`]})}function tu(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Allow SSH`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow SSH (tcp/22)`]})}function nu(e){let{field:t}=e;return(0,q.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Create new security group`,checked:t.value===`create`,onChange:()=>t.onChange(`create`),type:`radio`}),`Create new`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Select existing security group`,checked:t.value===`existing`,onChange:()=>t.onChange(`existing`),type:`radio`}),`Select existing`]})]})}function ru(e){return(0,q.jsx)(nt,{value:e.SubnetId??``,children:e.SubnetId},e.SubnetId)}function iu(e){return(0,q.jsx)(nt,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId)}function au(e){return(0,q.jsxs)(nt,{value:e.ImageId??``,children:[e.Name??`Unnamed`,` (`,e.Architecture,`)`]},e.ImageId)}function ou(e){return(0,q.jsxs)(nt,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber]},e.VersionNumber)}function su(e){return(0,q.jsx)(nt,{value:e.LaunchTemplateId??``,children:e.LaunchTemplateName??e.LaunchTemplateId},e.LaunchTemplateId)}function cu(e){return e.endsWith(`.nano`)}function lu(e){return e.GroupName??``}function uu(e){return e.IsDefault}function du(e){let t=e?.RootDeviceName??Hl,n=e?.BlockDeviceMappings??[];return{deviceName:t,snapshotSize:(n.find(e=>e.DeviceName===t)??n[0])?.Ebs?.VolumeSize}}function fu(e,t){if(e.length===0)return;if(!t||t===`$Default`)return e.find(e=>e.DefaultVersion)??e[0];if(t===`$Latest`)return e.toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0))[0];let n=Number(t);return e.find(e=>e.VersionNumber===n)}function pu(e,t){let n=e(`launchTemplateId`),r=typeof n==`string`?n:``;if(r){let t=e(`launchTemplateVersion`),n=typeof t==`string`&&t?t:`$Default`,i=e(`count`),a=typeof i==`number`?i:0;return[{label:`Run Instances`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ - --launch-template`},{type:`value`,value:` LaunchTemplateId=${r},Version=${n}`},{type:`flag`,value:` \\ - --count`},{type:`value`,value:` ${a||1}`}]}]}let i=e(`imageId`),a=typeof i==`string`?i:``,o=e(`instanceType`),s=typeof o==`string`?o:``,c=e(`keyName`),l=typeof c==`string`?c:``,u=e(`subnetId`),d=typeof u==`string`?u:``,f=e(`placementGroupName`),p=typeof f==`string`?f:``,m=e(`count`),h=typeof m==`number`?m:0,g=e(`rootDeviceName`),_=typeof g==`string`?g:``,v=e(`rootVolumeSize`),y=typeof v==`number`?v:void 0,b=e(`rootVolumeType`),x=typeof b==`string`?b:``,S=e(`rootDeleteOnTermination`),C=typeof S!=`boolean`||S,w=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ - --image-id`},{type:`value`,value:` ${a||``}`},{type:`flag`,value:` \\ - --instance-type`},{type:`value`,value:` ${s||``}`},{type:`flag`,value:` \\ - --key-name`},{type:`value`,value:` ${l||``}`}];d&&w.push({type:`flag`,value:` \\ - --subnet-id`},{type:`value`,value:` ${d}`}),p&&w.push({type:`flag`,value:` \\ - --placement`},{type:`value`,value:` GroupName=${p}`}),w.push({type:`flag`,value:` \\ - --count`},{type:`value`,value:` ${h||1}`});let T=e(`securityGroupMode`),E=typeof T==`string`?T:`create`,D=e(`newSgName`),O=typeof D==`string`?D:``,k=e(`newSgDescription`),A=typeof k==`string`?k:``,ee=e(`ruleSource`),te=typeof ee==`string`?ee:`anywhere`,ne=e(`customCidr`),j=typeof ne==`string`?ne:``,M=[];if(E===`create`){M.push({label:`Create security group`,parts:[{type:`bin`,value:`SG_ID=$(AWS_PROFILE=spinifex aws ec2 create-security-group`},{type:`flag`,value:` \\ - --group-name`},{type:`value`,value:` ${O||``}`},{type:`flag`,value:` \\ - --description`},{type:`value`,value:` '${A||`Created by launch wizard`}'`},{type:`flag`,value:` \\ - --vpc-id`},{type:`value`,value:` ${t??``}`},{type:`flag`,value:` \\ - --query`},{type:`value`,value:` 'GroupId' --output text)`}]});let n=te===`custom`&&j?j:`0.0.0.0/0`,r=[...e(`allowSsh`)===!0?[22]:[],...e(`allowHttp`)===!0?[80]:[],...e(`allowHttps`)===!0?[443]:[]];if(r.length>0){let e=JSON.stringify(r.map(e=>({IpProtocol:`tcp`,FromPort:e,ToPort:e,IpRanges:[{CidrIp:n}]})));M.push({label:`Authorize inbound rules`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 authorize-security-group-ingress`},{type:`flag`,value:` \\ - --group-id`},{type:`value`,value:` $SG_ID`},{type:`flag`,value:` \\ - --ip-permissions`},{type:`value`,value:` '${e}'`}]})}w.push({type:`flag`,value:` \\ - --security-group-ids`},{type:`value`,value:` $SG_ID`})}else{let t=e(`securityGroupIds`),n=Array.isArray(t)?t.filter(e=>typeof e==`string`):[];n.length>0&&w.push({type:`flag`,value:` \\ - --security-group-ids`},{type:`value`,value:` ${n.join(` `)}`})}if(y!==void 0||b!==void 0||S!==void 0){let e={};y!==void 0&&(e.VolumeSize=y),x&&(e.VolumeType=x),S!==void 0&&(e.DeleteOnTermination=C);let t=JSON.stringify([{DeviceName:_||Hl,Ebs:e}]);w.push({type:`flag`,value:` \\ - --block-device-mappings`},{type:`value`,value:` '${t}'`})}return[...M,{label:`Run Instances`,parts:w}]}var mu=z(`/_auth/ec2/(internet-gateways)/create-internet-gateway`)({head:()=>({meta:[{title:`Create Internet Gateway | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-internet-gateway.js`),__vite__mapDeps([54,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)});function hu(e){let t=(0,fs.c)(38),{open:n,keyName:r,keyMaterial:i}=e,a=je(),{copied:o,copy:s}=zr(),c;t[0]!==i||t[1]!==r?(c=()=>{let e=new Blob([i],{type:`text/plain`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`${r}.pem`,n.click(),URL.revokeObjectURL(t)},t[0]=i,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]===a?u=t[4]:(u=()=>{a({to:`/ec2/describe-key-pairs`})},t[3]=a,t[4]=u);let d=u,f,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,q.jsx)(jn,{children:(0,q.jsx)(St,{className:`text-destructive`})}),p=(0,q.jsx)(Ln,{children:`Save Your Private Key`}),t[5]=f,t[6]=p):(f=t[5],p=t[6]);let m;t[7]===r?m=t[8]:(m=(0,q.jsxs)(Hn,{children:[f,p,(0,q.jsxs)(An,{children:[`This is your only chance to save the private key file for`,` `,(0,q.jsx)(`strong`,{children:r}),`. Please download or copy it now. You won't be able to retrieve it again.`]})]}),t[7]=r,t[8]=m);let h=`Private key material for ${r}`,g;t[9]!==i||t[10]!==h?(g=(0,q.jsx)(`textarea`,{"aria-label":h,className:`w-full resize-none overflow-y-auto rounded-md border border-input bg-input/20 px-2 py-2 font-mono text-xs`,readOnly:!0,rows:4,value:i}),t[9]=i,t[10]=h,t[11]=g):g=t[11];let _;t[12]!==s||t[13]!==i?(_=async()=>await s(i),t[12]=s,t[13]=i,t[14]=_):_=t[14];let v;t[15]===o?v=t[16]:(v=o?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qe,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[15]=o,t[16]=v);let y;t[17]!==_||t[18]!==v?(y=(0,q.jsx)(At,{className:`flex-1`,onClick:_,type:`button`,variant:`outline`,children:v}),t[17]=_,t[18]=v,t[19]=y):y=t[19];let b;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,q.jsx)(ct,{className:`mr-2 size-4`}),t[20]=b):b=t[20];let x;t[21]===l?x=t[22]:(x=(0,q.jsxs)(At,{className:`flex-1`,onClick:l,type:`button`,variant:`outline`,children:[b,`Download .pem File`]}),t[21]=l,t[22]=x);let S;t[23]!==y||t[24]!==x?(S=(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[y,x]}),t[23]=y,t[24]=x,t[25]=S):S=t[25];let C;t[26]!==S||t[27]!==g?(C=(0,q.jsxs)(`div`,{className:`space-y-3`,children:[g,S]}),t[26]=S,t[27]=g,t[28]=C):C=t[28];let w;t[29]===d?w=t[30]:(w=(0,q.jsx)(zn,{children:(0,q.jsx)(Vn,{onClick:d,children:`Close and Continue`})}),t[29]=d,t[30]=w);let T;t[31]!==C||t[32]!==w||t[33]!==m?(T=(0,q.jsxs)(In,{className:`max-w-2xl`,children:[m,C,w]}),t[31]=C,t[32]=w,t[33]=m,t[34]=T):T=t[34];let E;return t[35]!==n||t[36]!==T?(E=(0,q.jsx)(Un,{open:n,children:T}),t[35]=n,t[36]=T,t[37]=E):E=t[37],E}var gu=z(`/_auth/ec2/(key)/create-key-pair`)({head:()=>({meta:[{title:`Create Key Pair | EC2 | Mulga`}]}),component:_u});function _u(){let e=(0,fs.c)(60),t=je(),n=hr(),[r,i]=(0,K.useState)(null),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Rr(Jr),e[0]=a):a=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:a,defaultValues:{keyType:`rsa`}},e[1]=o):o=e[1];let{handleSubmit:s,register:c,control:l,formState:u}=Ir(o),{errors:d,isSubmitting:f}=u,p;e[2]===l?p=e[3]:(p={control:l},e[2]=l,e[3]=p);let m=Fr(p),h;e[4]===m?h=e[5]:(h=e=>e?m[e]:void 0,e[4]=m,e[5]=h);let g=h,_;e[6]===n?_=e[7]:(_=async e=>{let t=await n.mutateAsync(e);t.KeyMaterial&&i({keyName:e.keyName,material:t.KeyMaterial})},e[6]=n,e[7]=_);let v=_,y,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,q.jsx)(Xe,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b=(0,q.jsx)(Hr,{title:`Create Key Pair`}),e[8]=y,e[9]=b):(y=e[8],b=e[9]);let x;e[10]===n.error?x=e[11]:(x=n.error&&(0,q.jsx)(Br,{error:n.error,msg:`Failed to create key pair`}),e[10]=n.error,e[11]=x);let S;e[12]!==s||e[13]!==v?(S=s(v),e[12]=s,e[13]=v,e[14]=S):S=e[14];let C;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair Name`})}),e[15]=C):C=e[15];let w=!!d.keyName,T;e[16]===c?T=e[17]:(T=c(`keyName`),e[16]=c,e[17]=T);let E;e[18]!==w||e[19]!==T?(E=(0,q.jsx)(Cn,{"aria-invalid":w,id:`keyName`,placeholder:`my-key-pair…`,...T}),e[18]=w,e[19]=T,e[20]=E):E=e[20];let D;e[21]===d.keyName?D=e[22]:(D=(0,q.jsx)(Dn,{errors:[d.keyName]}),e[21]=d.keyName,e[22]=D);let O;e[23]!==E||e[24]!==D?(O=(0,q.jsxs)(On,{children:[C,E,D]}),e[23]=E,e[24]=D,e[25]=O):O=e[25];let k;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`keyType`,children:`Key Type`})}),e[26]=k):k=e[26];let A;e[27]===d.keyType?A=e[28]:(A=e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,q.jsx)(at,{"aria-invalid":!!d.keyType,className:`w-full`,id:`keyType`,children:(0,q.jsx)(et,{placeholder:`Select a key type`})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`rsa`,children:`RSA (2048-bit)`}),(0,q.jsx)(nt,{value:`ed25519`,children:`ED25519`})]})]})},e[27]=d.keyType,e[28]=A);let ee;e[29]!==l||e[30]!==A?(ee=(0,q.jsx)(Lr,{control:l,name:`keyType`,render:A}),e[29]=l,e[30]=A,e[31]=ee):ee=e[31];let te;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,q.jsx)(Tn,{children:`RSA is required to retrieve a Windows administrator password. ED25519 works for SSH only.`}),e[32]=te):te=e[32];let ne;e[33]===d.keyType?ne=e[34]:(ne=(0,q.jsx)(Dn,{errors:[d.keyType]}),e[33]=d.keyType,e[34]=ne);let j;e[35]!==ee||e[36]!==ne?(j=(0,q.jsxs)(On,{children:[k,ee,te,ne]}),e[35]=ee,e[36]=ne,e[37]=j):j=e[37];let M;e[38]===g?M=e[39]:(M=vu(g),e[38]=g,e[39]=M);let N;e[40]===M?N=e[41]:(N=(0,q.jsx)(xt,{commands:M}),e[40]=M,e[41]=N);let re;e[42]===t?re=e[43]:(re=async()=>await t({to:`/ec2/describe-key-pairs`}),e[42]=t,e[43]=re);let P;e[44]!==n.isPending||e[45]!==f||e[46]!==re?(P=(0,q.jsx)(Xr,{isPending:n.isPending,isSubmitting:f,onCancel:re,pendingLabel:`Creating…`,submitLabel:`Create Key Pair`}),e[44]=n.isPending,e[45]=f,e[46]=re,e[47]=P):P=e[47];let F;e[48]!==O||e[49]!==j||e[50]!==N||e[51]!==P||e[52]!==S?(F=(0,q.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:S,children:[O,j,N,P]}),e[48]=O,e[49]=j,e[50]=N,e[51]=P,e[52]=S,e[53]=F):F=e[53];let ie;e[54]===r?ie=e[55]:(ie=r&&(0,q.jsx)(hu,{keyMaterial:r.material,keyName:r.keyName,open:!!r}),e[54]=r,e[55]=ie);let I;return e[56]!==F||e[57]!==ie||e[58]!==x?(I=(0,q.jsxs)(q.Fragment,{children:[y,b,x,F,ie]}),e[56]=F,e[57]=ie,e[58]=x,e[59]=I):I=e[59],I}function vu(e){let t=e(`keyName`),n=typeof t==`string`?t:``,r=e(`keyType`),i=typeof r==`string`?r:`rsa`;return[{label:`Create Key Pair`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-key-pair`},{type:`flag`,value:` --key-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` --key-type`},{type:`value`,value:` ${i}`}]}]}var yu=z(`/_auth/ec2/(key)/import-key-pair`)({head:()=>({meta:[{title:`Import Key Pair | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./import-key-pair.js`),__vite__mapDeps([55,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53,56])),`component`)}),bu=z(`/_auth/ec2/(launch-templates)/create-launch-template`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData(rr),e.queryClient.ensureQueryData(ur),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(fr)])},head:()=>({meta:[{title:`Create Launch Template | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-launch-template.js`),__vite__mapDeps([57,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53,58,59,7,60,61,62,63,64,56])),`component`)}),xu=z(`/_auth/ec2/(load-balancers)/create-load-balancer`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(Sr),e.queryClient.ensureQueryData(Xn),e.queryClient.ensureQueryData(xr)])},head:()=>({meta:[{title:`Create Load Balancer | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-load-balancer.js`),__vite__mapDeps([65,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,66,20,21,22,67,48,68,51,56,19,69,70,71,50,24,53,72,73,74,75,64,76])),`component`)}),Su=z(`/_auth/ec2/(nat-gateways)/create-nat-gateway`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(cr)])},head:()=>({meta:[{title:`Create NAT Gateway | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-nat-gateway.js`),__vite__mapDeps([77,1,59,7,8,9,4,35,10,11,36,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Cu=z(`/_auth/ec2/(placement-groups)/create-placement-group`)({head:()=>({meta:[{title:`Create Placement Group | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-placement-group.js`),__vite__mapDeps([78,1,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),wu=z(`/_auth/ec2/(route-tables)/create-route-table`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Create Route Table | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-route-table.js`),__vite__mapDeps([79,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Tu=z(`/_auth/ec2/(security-groups)/create-security-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Create Security Group | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-security-group.js`),__vite__mapDeps([80,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Eu=z(`/_auth/ec2/(subnet)/create-subnet`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(dr)])},head:()=>({meta:[{title:`Create Subnet | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-subnet.js`),__vite__mapDeps([81,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Du=z(`/_auth/ec2/(target-groups)/create-target-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Create Target Group | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-target-group.js`),__vite__mapDeps([82,1,59,7,8,35,4,36,9,12,37,10,11,38,13,39,40,28,41,19,20,21,22,69,48,70,50,51,24,53,75,60,61,43,44,62,45,63,42,46,64,72,73,74,76])),`component`)}),Ou=z(`/_auth/ec2/(volumes)/create-volume`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(dr)},head:()=>({meta:[{title:`Create Volume | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-volume.js`),__vite__mapDeps([83,1,59,7,8,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),ku=z(`/_auth/ec2/(vpc)/create-vpc`)({head:()=>({meta:[{title:`Create VPC | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./create-vpc.js`),__vite__mapDeps([84,1,35,4,36,9,12,13,14,60,61,28,10,11,40,38,43,44,62,45,63,37,39,41,42,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),Au=z(`/_auth/ecs/(clusters)/task-definitions`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(vr)},head:()=>({meta:[{title:`Task Definitions | ECS | Mulga`}]}),component:B(()=>V(()=>import(`./task-definitions.js`),__vite__mapDeps([85,1,59,7,8,9,4,40,28,10,11,86,20,21,22,87,48,18,51,24,88,68,61,43,62,89])),`component`)}),ju=z(`/_auth/eks/(clusters)/create-cluster`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(Dr),e.queryClient.ensureQueryData(lr)])},head:()=>({meta:[{title:`Create Cluster | EKS | Mulga`}]}),component:B(()=>V(()=>import(`./create-cluster.js`),__vite__mapDeps([90,1,8,59,7,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,42,46,68,19,20,21,22,91,48,92,49,93,94,95,96,50,51,24,53,97,98,39,99,100,41,101])),`component`)}),Mu=z(`/_auth/iam/(groups)/create-group`)({head:()=>({meta:[{title:`Create Group | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./create-group.js`),__vite__mapDeps([102,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,94,8,48,21,22,95,50,51,24,53,103,93])),`component`)}),Nu=z(`/_auth/iam/(instance-profiles)/create-instance-profile`)({head:()=>({meta:[{title:`Create Instance Profile | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./create-instance-profile.js`),__vite__mapDeps([104,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,94,8,48,21,22,95,50,51,24,53,103,93])),`component`)}),Pu=z(`/_auth/iam/(policies)/create-policy`)({head:()=>({meta:[{title:`Create Policy | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./create-policy.js`),__vite__mapDeps([105,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,94,8,48,21,22,95,50,51,24,53,106,93,56,103])),`component`)}),Fu=z(`/_auth/iam/(roles)/create-role`)({head:()=>({meta:[{title:`Create Role | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./create-role.js`),__vite__mapDeps([107,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,94,8,48,21,22,95,50,51,24,53,106,93,56,103])),`component`)}),Iu=z(`/_auth/iam/(users)/create-user`)({head:()=>({meta:[{title:`Create User | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./create-user.js`),__vite__mapDeps([108,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,94,8,48,21,22,95,50,51,24,53,103,93])),`component`)}),Lu=z(`/_auth/rds/(db-instances)/create-db-instance`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(jr),e.queryClient.ensureQueryData(Ar),e.queryClient.ensureQueryData(kr),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(lr)])},head:()=>({meta:[{title:`Create Database | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./create-db-instance.js`),__vite__mapDeps([109,1,8,6,7,59,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,110,111,48,112,50,51,24,53,97,72,73,74,98,99,100,113,114])),`component`)}),Ru=z(`/_auth/rds/(parameter-groups)/create-db-parameter-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(jr)},head:()=>({meta:[{title:`Create Parameter Group | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./create-db-parameter-group.js`),__vite__mapDeps([115,1,59,7,8,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,110,21,22,111,48,112,20,50,51,24,53,72,73,74])),`component`)}),zu=z(`/_auth/rds/(subnet-groups)/create-db-subnet-group`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData($n)])},head:()=>({meta:[{title:`Create Subnet Group | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./create-db-subnet-group.js`),__vite__mapDeps([116,1,59,7,8,35,4,10,11,36,9,12,37,38,13,39,40,28,41,42,43,44,45,46,19,20,21,22,110,111,48,50,51,24,53,72,73,74])),`component`)}),Bu=z(`/_auth/s3/(buckets)/create-bucket`)({head:()=>({meta:[{title:`Create Bucket | S3 | Mulga`}]}),component:B(()=>V(()=>import(`./create-bucket.js`),__vite__mapDeps([117,1,35,4,10,11,36,9,12,37,38,13,39,40,28,41,42,43,44,45,46,118,8,48,21,22,50,51,24,53])),`component`)}),Vu=z(`/_auth/s3/ls/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Nr)},head:()=>({meta:[{title:`Buckets | S3 | Mulga`}]}),component:B(()=>V(()=>import(`./ls.js`),__vite__mapDeps([119,1,59,7,8,9,4,10,11,40,28,23,20,21,22,24,120])),`component`)}),Hu=z(`/_auth/s3/ls/$bucket`)({component:B(()=>V(()=>import(`./route2.js`),__vite__mapDeps([121,1,2,3,4])),`component`)}),Uu=z(`/_auth/ec2/(elastic-ips)/describe-addresses/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(cr)},head:()=>({meta:[{title:`Elastic IPs | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-addresses.js`),__vite__mapDeps([122,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120])),`component`)}),Wu=z(`/_auth/ec2/(images)/describe-images/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(lr)},head:()=>({meta:[{title:`Images | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-images.js`),__vite__mapDeps([123,1,59,7,8,19,20,10,11,21,22,24,120,9,4,25,97])),`component`)}),Gu=z(`/_auth/ec2/(instances)/describe-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(or)},head:()=>({meta:[{title:`Instances | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-instances.js`),__vite__mapDeps([124,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),Ku=z(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ir)},head:()=>({meta:[{title:`Internet Gateways | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-internet-gateways.js`),__vite__mapDeps([125,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120])),`component`)}),qu=z(`/_auth/ec2/(key)/describe-key-pairs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ur)},head:()=>({meta:[{title:`Key Pairs | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-key-pairs.js`),__vite__mapDeps([126,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120])),`component`)}),Ju=z(`/_auth/ec2/(launch-templates)/describe-launch-templates/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ar)},head:()=>({meta:[{title:`Launch Templates | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-launch-templates.js`),__vite__mapDeps([127,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,27,29])),`component`)}),Yu=z(`/_auth/ec2/(load-balancers)/describe-load-balancers/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(br)},head:()=>({meta:[{title:`Load Balancers | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-load-balancers.js`),__vite__mapDeps([128,1,59,7,8,9,4,35,10,11,40,28,71,20,21,22,70,24,25])),`component`)}),Xu=z(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(nr)},head:()=>({meta:[{title:`NAT Gateways | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-nat-gateways.js`),__vite__mapDeps([129,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,25])),`component`)}),Zu=z(`/_auth/ec2/(placement-groups)/describe-placement-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(pr)},head:()=>({meta:[{title:`Placement Groups | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-placement-groups.js`),__vite__mapDeps([130,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),Qu=z(`/_auth/ec2/(route-tables)/describe-route-tables/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(tr)},head:()=>({meta:[{title:`Route Tables | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-route-tables.js`),__vite__mapDeps([131,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,27,29])),`component`)}),$u=z(`/_auth/ec2/(security-groups)/describe-security-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(fr)},head:()=>({meta:[{title:`Security Groups | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-security-groups.js`),__vite__mapDeps([132,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120])),`component`)}),ed=z(`/_auth/ec2/(snapshots)/describe-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`Snapshots | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-snapshots.js`),__vite__mapDeps([133,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),td=z(`/_auth/ec2/(subnet)/describe-subnets/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(er)},head:()=>({meta:[{title:`Subnets | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-subnets.js`),__vite__mapDeps([134,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,25])),`component`)}),nd=z(`/_auth/ec2/(target-groups)/describe-target-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Sr)},head:()=>({meta:[{title:`Target Groups | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-target-groups.js`),__vite__mapDeps([135,1,6,7,8,59,9,4,35,40,28,10,11,71,20,21,22,70,24])),`component`)}),rd=z(`/_auth/ec2/(volumes)/describe-volumes/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Zn)},head:()=>({meta:[{title:`Volumes | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-volumes.js`),__vite__mapDeps([136,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),id=z(`/_auth/ec2/(vpc)/describe-vpcs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`VPCs | EC2 | Mulga`}]}),component:B(()=>V(()=>import(`./describe-vpcs.js`),__vite__mapDeps([137,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,25])),`component`)}),ad=z(`/_auth/ecr/(repositories)/list-repositories/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(gr)},head:()=>({meta:[{title:`Repositories | ECR | Mulga`}]}),component:B(()=>V(()=>import(`./list-repositories.js`),__vite__mapDeps([138,1,59,7,8,9,4,35,10,11,40,28,42,43,44,45,46,68,61,62,139,20,21,22,140,48,24])),`component`)}),od=z(`/_auth/ecs/(clusters)/list-clusters/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(_r),e.queryClient.ensureQueryData(lr)])},head:()=>({meta:[{title:`Clusters | ECS | Mulga`}]}),component:B(()=>V(()=>import(`./list-clusters.js`),__vite__mapDeps([141,1,8,59,7,9,4,35,40,28,10,11,42,43,44,45,46,68,61,62,19,20,21,22,86,87,48,18,51,24,88,25,97,98,38,12,39,99,100,41,89])),`component`)}),sd=z(`/_auth/eks/(clusters)/list-clusters/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(yr)},head:()=>({meta:[{title:`Clusters | EKS | Mulga`}]}),component:B(()=>V(()=>import(`./list-clusters2.js`),__vite__mapDeps([142,1,59,7,8,9,4,40,28,10,11,143,20,21,22,92,24,120])),`component`)}),cd=z(`/_auth/iam/(groups)/list-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Tr)},head:()=>({meta:[{title:`Groups | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./list-groups.js`),__vite__mapDeps([144,1,59,7,8,9,4,40,28,10,11,96,20,21,22,95,93,24,120])),`component`)}),ld=z(`/_auth/iam/(instance-profiles)/list-instance-profiles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(wr)},head:()=>({meta:[{title:`Instance Profiles | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./list-instance-profiles.js`),__vite__mapDeps([145,1,59,7,8,9,4,40,28,10,11,96,20,21,22,95,93,24,120])),`component`)}),ud=z(`/_auth/iam/(policies)/list-policies/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Er)},head:()=>({meta:[{title:`Policies | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./list-policies.js`),__vite__mapDeps([146,1,59,7,8,9,4,40,28,10,11,96,20,21,22,95,93,24,120])),`component`)}),dd=z(`/_auth/iam/(roles)/list-roles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Dr)},head:()=>({meta:[{title:`Roles | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./list-roles.js`),__vite__mapDeps([147,1,59,7,8,9,4,40,28,10,11,96,20,21,22,95,93,24,120])),`component`)}),fd=z(`/_auth/iam/(users)/list-users/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Cr)},head:()=>({meta:[{title:`Users | IAM | Mulga`}]}),component:B(()=>V(()=>import(`./list-users.js`),__vite__mapDeps([148,1,59,7,8,9,4,40,28,10,11,96,20,21,22,95,93,24,120])),`component`)}),pd=z(`/_auth/rds/(db-instances)/describe-db-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Mr)},head:()=>({meta:[{title:`Databases | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./describe-db-instances.js`),__vite__mapDeps([149,1,59,7,8,9,4,35,40,28,10,11,110,21,22,111,48,112,20,51,24,25,150,42,43,44,45,46,68,61,62])),`component`)}),md=z(`/_auth/rds/(parameter-groups)/describe-db-parameter-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(kr)},head:()=>({meta:[{title:`Parameter Groups | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./describe-db-parameter-groups.js`),__vite__mapDeps([151,1,59,7,8,9,4,35,40,28,10,11,110,21,22,112,20,24,152,111,48,153,88,68,61,43,62])),`component`)}),hd=z(`/_auth/rds/(snapshots)/describe-db-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Or)},head:()=>({meta:[{title:`Snapshots | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./describe-db-snapshots.js`),__vite__mapDeps([154,1,59,7,8,9,4,35,10,11,40,28,110,21,22,112,20,24,25,155,6,60,61,12,38,13,43,44,62,45,63,42,46,68,111,48,50,72,73,74,113,156,153,88])),`component`)}),gd=z(`/_auth/rds/(subnet-groups)/describe-db-subnet-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Ar)},head:()=>({meta:[{title:`Subnet Groups | RDS | Mulga`}]}),component:B(()=>V(()=>import(`./describe-db-subnet-groups.js`),__vite__mapDeps([157,1,59,7,8,9,4,35,40,28,10,11,112,20,21,22,110,24,25,158,111,48,153,88,68,61,43,62])),`component`)}),Q=Ll.update({id:`/_auth`,getParentRoute:()=>Z}),_d=Pr.update({id:`/login`,path:`/login`,getParentRoute:()=>Z}),vd=Rl.update({id:`/`,path:`/`,getParentRoute:()=>Q}),$=zl.update({id:`/nodes`,path:`/nodes`,getParentRoute:()=>Q}),yd=Bl.update({id:`/s3/service-metrics`,path:`/s3/service-metrics`,getParentRoute:()=>Q}),bd=Vl.update({id:`/ec2/(elastic-ips)/allocate-address`,path:`/ec2/allocate-address`,getParentRoute:()=>Q}),xd=Kl.update({id:`/ec2/(instances)/run-instances`,path:`/ec2/run-instances`,getParentRoute:()=>Q}),Sd=mu.update({id:`/ec2/(internet-gateways)/create-internet-gateway`,path:`/ec2/create-internet-gateway`,getParentRoute:()=>Q}),Cd=gu.update({id:`/ec2/(key)/create-key-pair`,path:`/ec2/create-key-pair`,getParentRoute:()=>Q}),wd=yu.update({id:`/ec2/(key)/import-key-pair`,path:`/ec2/import-key-pair`,getParentRoute:()=>Q}),Td=bu.update({id:`/ec2/(launch-templates)/create-launch-template`,path:`/ec2/create-launch-template`,getParentRoute:()=>Q}),Ed=xu.update({id:`/ec2/(load-balancers)/create-load-balancer`,path:`/ec2/create-load-balancer`,getParentRoute:()=>Q}),Dd=Su.update({id:`/ec2/(nat-gateways)/create-nat-gateway`,path:`/ec2/create-nat-gateway`,getParentRoute:()=>Q}),Od=Cu.update({id:`/ec2/(placement-groups)/create-placement-group`,path:`/ec2/create-placement-group`,getParentRoute:()=>Q}),kd=wu.update({id:`/ec2/(route-tables)/create-route-table`,path:`/ec2/create-route-table`,getParentRoute:()=>Q}),Ad=Tu.update({id:`/ec2/(security-groups)/create-security-group`,path:`/ec2/create-security-group`,getParentRoute:()=>Q}),jd=Zr.update({id:`/ec2/(snapshots)/create-snapshot`,path:`/ec2/create-snapshot`,getParentRoute:()=>Q}),Md=Eu.update({id:`/ec2/(subnet)/create-subnet`,path:`/ec2/create-subnet`,getParentRoute:()=>Q}),Nd=Du.update({id:`/ec2/(target-groups)/create-target-group`,path:`/ec2/create-target-group`,getParentRoute:()=>Q}),Pd=Ou.update({id:`/ec2/(volumes)/create-volume`,path:`/ec2/create-volume`,getParentRoute:()=>Q}),Fd=ku.update({id:`/ec2/(vpc)/create-vpc`,path:`/ec2/create-vpc`,getParentRoute:()=>Q}),Id=Qr.update({id:`/ecs/(clusters)/create-service`,path:`/ecs/create-service`,getParentRoute:()=>Q}),Ld=$r.update({id:`/ecs/(clusters)/register-task-definition`,path:`/ecs/register-task-definition`,getParentRoute:()=>Q}),Rd=ei.update({id:`/ecs/(clusters)/run-task`,path:`/ecs/run-task`,getParentRoute:()=>Q}),zd=Au.update({id:`/ecs/(clusters)/task-definitions`,path:`/ecs/task-definitions`,getParentRoute:()=>Q}),Bd=ju.update({id:`/eks/(clusters)/create-cluster`,path:`/eks/create-cluster`,getParentRoute:()=>Q}),Vd=Mu.update({id:`/iam/(groups)/create-group`,path:`/iam/create-group`,getParentRoute:()=>Q}),Hd=Nu.update({id:`/iam/(instance-profiles)/create-instance-profile`,path:`/iam/create-instance-profile`,getParentRoute:()=>Q}),Ud=Pu.update({id:`/iam/(policies)/create-policy`,path:`/iam/create-policy`,getParentRoute:()=>Q}),Wd=Fu.update({id:`/iam/(roles)/create-role`,path:`/iam/create-role`,getParentRoute:()=>Q}),Gd=Iu.update({id:`/iam/(users)/create-user`,path:`/iam/create-user`,getParentRoute:()=>Q}),Kd=Lu.update({id:`/rds/(db-instances)/create-db-instance`,path:`/rds/create-db-instance`,getParentRoute:()=>Q}),qd=Ru.update({id:`/rds/(parameter-groups)/create-db-parameter-group`,path:`/rds/create-db-parameter-group`,getParentRoute:()=>Q}),Jd=zu.update({id:`/rds/(subnet-groups)/create-db-subnet-group`,path:`/rds/create-db-subnet-group`,getParentRoute:()=>Q}),Yd=Bu.update({id:`/s3/(buckets)/create-bucket`,path:`/s3/create-bucket`,getParentRoute:()=>Q}),Xd=Vu.update({id:`/s3/ls/`,path:`/s3/ls/`,getParentRoute:()=>Q}),Zd=Hu.update({id:`/s3/ls/$bucket`,path:`/s3/ls/$bucket`,getParentRoute:()=>Q}),Qd=Uu.update({id:`/ec2/(elastic-ips)/describe-addresses/`,path:`/ec2/describe-addresses/`,getParentRoute:()=>Q}),$d=ti.update({id:`/ec2/(elastic-ips)/describe-addresses/$id`,path:`/ec2/describe-addresses/$id`,getParentRoute:()=>Q}),ef=Wu.update({id:`/ec2/(images)/describe-images/`,path:`/ec2/describe-images/`,getParentRoute:()=>Q}),tf=ni.update({id:`/ec2/(images)/describe-images/$id`,path:`/ec2/describe-images/$id`,getParentRoute:()=>Q}),nf=Gu.update({id:`/ec2/(instances)/describe-instances/`,path:`/ec2/describe-instances/`,getParentRoute:()=>Q}),rf=ri.update({id:`/ec2/(instances)/describe-instances/$id`,path:`/ec2/describe-instances/$id`,getParentRoute:()=>Q}),af=Ku.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/`,path:`/ec2/describe-internet-gateways/`,getParentRoute:()=>Q}),of=ii.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/$id`,path:`/ec2/describe-internet-gateways/$id`,getParentRoute:()=>Q}),sf=qu.update({id:`/ec2/(key)/describe-key-pairs/`,path:`/ec2/describe-key-pairs/`,getParentRoute:()=>Q}),cf=ai.update({id:`/ec2/(key)/describe-key-pairs/$id`,path:`/ec2/describe-key-pairs/$id`,getParentRoute:()=>Q}),lf=Ju.update({id:`/ec2/(launch-templates)/describe-launch-templates/`,path:`/ec2/describe-launch-templates/`,getParentRoute:()=>Q}),uf=oi.update({id:`/ec2/(launch-templates)/describe-launch-templates/$id`,path:`/ec2/describe-launch-templates/$id`,getParentRoute:()=>Q}),df=Yu.update({id:`/ec2/(load-balancers)/describe-load-balancers/`,path:`/ec2/describe-load-balancers/`,getParentRoute:()=>Q}),ff=si.update({id:`/ec2/(load-balancers)/describe-load-balancers/$id`,path:`/ec2/describe-load-balancers/$id`,getParentRoute:()=>Q}),pf=Xu.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/`,path:`/ec2/describe-nat-gateways/`,getParentRoute:()=>Q}),mf=ci.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/$id`,path:`/ec2/describe-nat-gateways/$id`,getParentRoute:()=>Q}),hf=Zu.update({id:`/ec2/(placement-groups)/describe-placement-groups/`,path:`/ec2/describe-placement-groups/`,getParentRoute:()=>Q}),gf=li.update({id:`/ec2/(placement-groups)/describe-placement-groups/$id`,path:`/ec2/describe-placement-groups/$id`,getParentRoute:()=>Q}),_f=Qu.update({id:`/ec2/(route-tables)/describe-route-tables/`,path:`/ec2/describe-route-tables/`,getParentRoute:()=>Q}),vf=ui.update({id:`/ec2/(route-tables)/describe-route-tables/$id`,path:`/ec2/describe-route-tables/$id`,getParentRoute:()=>Q}),yf=$u.update({id:`/ec2/(security-groups)/describe-security-groups/`,path:`/ec2/describe-security-groups/`,getParentRoute:()=>Q}),bf=wt.update({id:`/ec2/(security-groups)/describe-security-groups/$id`,path:`/ec2/describe-security-groups/$id`,getParentRoute:()=>Q}),xf=ed.update({id:`/ec2/(snapshots)/describe-snapshots/`,path:`/ec2/describe-snapshots/`,getParentRoute:()=>Q}),Sf=vt.update({id:`/ec2/(snapshots)/describe-snapshots/$id`,path:`/ec2/describe-snapshots/$id`,getParentRoute:()=>Q}),Cf=td.update({id:`/ec2/(subnet)/describe-subnets/`,path:`/ec2/describe-subnets/`,getParentRoute:()=>Q}),wf=di.update({id:`/ec2/(subnet)/describe-subnets/$id`,path:`/ec2/describe-subnets/$id`,getParentRoute:()=>Q}),Tf=nd.update({id:`/ec2/(target-groups)/describe-target-groups/`,path:`/ec2/describe-target-groups/`,getParentRoute:()=>Q}),Ef=fi.update({id:`/ec2/(target-groups)/describe-target-groups/$id`,path:`/ec2/describe-target-groups/$id`,getParentRoute:()=>Q}),Df=rd.update({id:`/ec2/(volumes)/describe-volumes/`,path:`/ec2/describe-volumes/`,getParentRoute:()=>Q}),Of=pi.update({id:`/ec2/(volumes)/describe-volumes/$id`,path:`/ec2/describe-volumes/$id`,getParentRoute:()=>Q}),kf=mi.update({id:`/ec2/(volumes)/modify-volume/$id`,path:`/ec2/modify-volume/$id`,getParentRoute:()=>Q}),Af=id.update({id:`/ec2/(vpc)/describe-vpcs/`,path:`/ec2/describe-vpcs/`,getParentRoute:()=>Q}),jf=hi.update({id:`/ec2/(vpc)/describe-vpcs/$id`,path:`/ec2/describe-vpcs/$id`,getParentRoute:()=>Q}),Mf=ad.update({id:`/ecr/(repositories)/list-repositories/`,path:`/ecr/list-repositories/`,getParentRoute:()=>Q}),Nf=gi.update({id:`/ecr/(repositories)/list-repositories/$id`,path:`/ecr/list-repositories/$id`,getParentRoute:()=>Q}),Pf=od.update({id:`/ecs/(clusters)/list-clusters/`,path:`/ecs/list-clusters/`,getParentRoute:()=>Q}),Ff=_i.update({id:`/ecs/(clusters)/list-clusters/$clusterName`,path:`/ecs/list-clusters/$clusterName`,getParentRoute:()=>Q}),If=sd.update({id:`/eks/(clusters)/list-clusters/`,path:`/eks/list-clusters/`,getParentRoute:()=>Q}),Lf=bt.update({id:`/eks/(clusters)/list-clusters/$clusterName`,path:`/eks/list-clusters/$clusterName`,getParentRoute:()=>Q}),Rf=cd.update({id:`/iam/(groups)/list-groups/`,path:`/iam/list-groups/`,getParentRoute:()=>Q}),zf=vi.update({id:`/iam/(groups)/list-groups/$groupName`,path:`/iam/list-groups/$groupName`,getParentRoute:()=>Q}),Bf=ld.update({id:`/iam/(instance-profiles)/list-instance-profiles/`,path:`/iam/list-instance-profiles/`,getParentRoute:()=>Q}),Vf=yi.update({id:`/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName`,path:`/iam/list-instance-profiles/$instanceProfileName`,getParentRoute:()=>Q}),Hf=ud.update({id:`/iam/(policies)/list-policies/`,path:`/iam/list-policies/`,getParentRoute:()=>Q}),Uf=bi.update({id:`/iam/(policies)/list-policies/$policyArn`,path:`/iam/list-policies/$policyArn`,getParentRoute:()=>Q}),Wf=dd.update({id:`/iam/(roles)/list-roles/`,path:`/iam/list-roles/`,getParentRoute:()=>Q}),Gf=xi.update({id:`/iam/(roles)/list-roles/$roleName`,path:`/iam/list-roles/$roleName`,getParentRoute:()=>Q}),Kf=fd.update({id:`/iam/(users)/list-users/`,path:`/iam/list-users/`,getParentRoute:()=>Q}),qf=Si.update({id:`/iam/(users)/list-users/$userName`,path:`/iam/list-users/$userName`,getParentRoute:()=>Q}),Jf=pd.update({id:`/rds/(db-instances)/describe-db-instances/`,path:`/rds/describe-db-instances/`,getParentRoute:()=>Q}),Yf=Ci.update({id:`/rds/(db-instances)/describe-db-instances/$id`,path:`/rds/describe-db-instances/$id`,getParentRoute:()=>Q}),Xf=md.update({id:`/rds/(parameter-groups)/describe-db-parameter-groups/`,path:`/rds/describe-db-parameter-groups/`,getParentRoute:()=>Q}),Zf=wi.update({id:`/rds/(parameter-groups)/describe-db-parameter-groups/$name`,path:`/rds/describe-db-parameter-groups/$name`,getParentRoute:()=>Q}),Qf=hd.update({id:`/rds/(snapshots)/describe-db-snapshots/`,path:`/rds/describe-db-snapshots/`,getParentRoute:()=>Q}),$f=Ti.update({id:`/rds/(snapshots)/describe-db-snapshots/$id`,path:`/rds/describe-db-snapshots/$id`,getParentRoute:()=>Q}),ep=Ei.update({id:`/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id`,path:`/rds/restore-db-instance-from-db-snapshot/$id`,getParentRoute:()=>Q}),tp=gd.update({id:`/rds/(subnet-groups)/describe-db-subnet-groups/`,path:`/rds/describe-db-subnet-groups/`,getParentRoute:()=>Q}),np=Di.update({id:`/rds/(subnet-groups)/describe-db-subnet-groups/$name`,path:`/rds/describe-db-subnet-groups/$name`,getParentRoute:()=>Q}),rp=Oi.update({id:`/`,path:`/`,getParentRoute:()=>Zd}),ip=ki.update({id:`/$`,path:`/$`,getParentRoute:()=>Zd}),ap=U.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName`,path:`/ecs/list-clusters/$clusterName/services/$serviceName`,getParentRoute:()=>Q}),op=Ai.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId`,path:`/ecs/list-clusters/$clusterName/tasks/$taskId`,getParentRoute:()=>Q}),sp={AuthS3LsBucketSplatRoute:ip,AuthS3LsBucketIndexRoute:rp},cp={AuthNodesRoute:$,AuthIndexRoute:vd,AuthS3ServiceMetricsRoute:yd,AuthS3LsBucketRouteRoute:Zd._addFileChildren(sp),AuthEc2elasticIpsAllocateAddressRoute:bd,AuthEc2instancesRunInstancesRoute:xd,AuthEc2internetGatewaysCreateInternetGatewayRoute:Sd,AuthEc2keyCreateKeyPairRoute:Cd,AuthEc2keyImportKeyPairRoute:wd,AuthEc2launchTemplatesCreateLaunchTemplateRoute:Td,AuthEc2loadBalancersCreateLoadBalancerRoute:Ed,AuthEc2natGatewaysCreateNatGatewayRoute:Dd,AuthEc2placementGroupsCreatePlacementGroupRoute:Od,AuthEc2routeTablesCreateRouteTableRoute:kd,AuthEc2securityGroupsCreateSecurityGroupRoute:Ad,AuthEc2snapshotsCreateSnapshotRoute:jd,AuthEc2subnetCreateSubnetRoute:Md,AuthEc2targetGroupsCreateTargetGroupRoute:Nd,AuthEc2volumesCreateVolumeRoute:Pd,AuthEc2vpcCreateVpcRoute:Fd,AuthEcsclustersCreateServiceRoute:Id,AuthEcsclustersRegisterTaskDefinitionRoute:Ld,AuthEcsclustersRunTaskRoute:Rd,AuthEcsclustersTaskDefinitionsRoute:zd,AuthEksclustersCreateClusterRoute:Bd,AuthIamgroupsCreateGroupRoute:Vd,AuthIaminstanceProfilesCreateInstanceProfileRoute:Hd,AuthIampoliciesCreatePolicyRoute:Ud,AuthIamrolesCreateRoleRoute:Wd,AuthIamusersCreateUserRoute:Gd,AuthRdsdbInstancesCreateDbInstanceRoute:Kd,AuthRdsparameterGroupsCreateDbParameterGroupRoute:qd,AuthRdssubnetGroupsCreateDbSubnetGroupRoute:Jd,AuthS3bucketsCreateBucketRoute:Yd,AuthS3LsIndexRoute:Xd,AuthEc2elasticIpsDescribeAddressesIdRoute:$d,AuthEc2imagesDescribeImagesIdRoute:tf,AuthEc2instancesDescribeInstancesIdRoute:rf,AuthEc2internetGatewaysDescribeInternetGatewaysIdRoute:of,AuthEc2keyDescribeKeyPairsIdRoute:cf,AuthEc2launchTemplatesDescribeLaunchTemplatesIdRoute:uf,AuthEc2loadBalancersDescribeLoadBalancersIdRoute:ff,AuthEc2natGatewaysDescribeNatGatewaysIdRoute:mf,AuthEc2placementGroupsDescribePlacementGroupsIdRoute:gf,AuthEc2routeTablesDescribeRouteTablesIdRoute:vf,AuthEc2securityGroupsDescribeSecurityGroupsIdRoute:bf,AuthEc2snapshotsDescribeSnapshotsIdRoute:Sf,AuthEc2subnetDescribeSubnetsIdRoute:wf,AuthEc2targetGroupsDescribeTargetGroupsIdRoute:Ef,AuthEc2volumesDescribeVolumesIdRoute:Of,AuthEc2volumesModifyVolumeIdRoute:kf,AuthEc2vpcDescribeVpcsIdRoute:jf,AuthEcrrepositoriesListRepositoriesIdRoute:Nf,AuthEcsclustersListClustersClusterNameRoute:Ff,AuthEksclustersListClustersClusterNameRoute:Lf,AuthIamgroupsListGroupsGroupNameRoute:zf,AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRoute:Vf,AuthIampoliciesListPoliciesPolicyArnRoute:Uf,AuthIamrolesListRolesRoleNameRoute:Gf,AuthIamusersListUsersUserNameRoute:qf,AuthRdsdbInstancesDescribeDbInstancesIdRoute:Yf,AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute:Zf,AuthRdssnapshotsDescribeDbSnapshotsIdRoute:$f,AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute:ep,AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute:np,AuthEc2elasticIpsDescribeAddressesIndexRoute:Qd,AuthEc2imagesDescribeImagesIndexRoute:ef,AuthEc2instancesDescribeInstancesIndexRoute:nf,AuthEc2internetGatewaysDescribeInternetGatewaysIndexRoute:af,AuthEc2keyDescribeKeyPairsIndexRoute:sf,AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRoute:lf,AuthEc2loadBalancersDescribeLoadBalancersIndexRoute:df,AuthEc2natGatewaysDescribeNatGatewaysIndexRoute:pf,AuthEc2placementGroupsDescribePlacementGroupsIndexRoute:hf,AuthEc2routeTablesDescribeRouteTablesIndexRoute:_f,AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute:yf,AuthEc2snapshotsDescribeSnapshotsIndexRoute:xf,AuthEc2subnetDescribeSubnetsIndexRoute:Cf,AuthEc2targetGroupsDescribeTargetGroupsIndexRoute:Tf,AuthEc2volumesDescribeVolumesIndexRoute:Df,AuthEc2vpcDescribeVpcsIndexRoute:Af,AuthEcrrepositoriesListRepositoriesIndexRoute:Mf,AuthEcsclustersListClustersIndexRoute:Pf,AuthEksclustersListClustersIndexRoute:If,AuthIamgroupsListGroupsIndexRoute:Rf,AuthIaminstanceProfilesListInstanceProfilesIndexRoute:Bf,AuthIampoliciesListPoliciesIndexRoute:Hf,AuthIamrolesListRolesIndexRoute:Wf,AuthIamusersListUsersIndexRoute:Kf,AuthRdsdbInstancesDescribeDbInstancesIndexRoute:Jf,AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute:Xf,AuthRdssnapshotsDescribeDbSnapshotsIndexRoute:Qf,AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute:tp,AuthEcsclustersListClustersClusterNameServicesServiceNameRoute:ap,AuthEcsclustersListClustersClusterNameTasksTaskIdRoute:op},lp={AuthRouteRoute:Q._addFileChildren(cp),LoginRoute:_d},up=Z._addFileChildren(lp)._addFileTypes(),dp=jl(),fp=Zo({routeTree:up,context:{queryClient:dp},defaultPreload:`intent`,scrollRestoration:!0,defaultStructuralSharing:!0,defaultPreloadStaleTime:0});async function pp(e){try{await Ye()}catch(t){e.render((0,q.jsxs)(`div`,{style:{fontFamily:`sans-serif`,margin:`4rem auto`,maxWidth:`40rem`},children:[(0,q.jsx)(`h1`,{children:`Console unavailable`}),(0,q.jsx)(`p`,{children:`This cluster did not report its region, so the console cannot sign requests. Check that the serving node has a region set in its configuration.`}),(0,q.jsx)(`pre`,{children:t instanceof Error?t.message:String(t)})]}));return}e.render((0,q.jsx)(K.StrictMode,{children:(0,q.jsx)(hs,{defaultTheme:`dark`,storageKey:`spinifex-ui-theme`,children:(0,q.jsx)(_,{client:dp,children:(0,q.jsx)(Yn,{children:(0,q.jsx)(pl,{children:(0,q.jsx)(es,{router:fp})})})})})}))}var mp=document.querySelector(`#app`);mp&&!mp.innerHTML&&await pp(ds.createRoot(mp)); \ No newline at end of file +`+e.stack}}var we=Object.prototype.hasOwnProperty,Te=t.unstable_scheduleCallback,Ee=t.unstable_cancelCallback,De=t.unstable_shouldYield,N=t.unstable_requestPaint,Oe=t.unstable_now,P=t.unstable_getCurrentPriorityLevel,ke=t.unstable_ImmediatePriority,Ae=t.unstable_UserBlockingPriority,je=t.unstable_NormalPriority,Me=t.unstable_LowPriority,Ne=t.unstable_IdlePriority,Pe=t.log,Fe=t.unstable_setDisableYieldValue,Le=null,Re=null;function ze(e){if(typeof Pe==`function`&&Fe(e),Re&&typeof Re.setStrictMode==`function`)try{Re.setStrictMode(Le,e)}catch{}}var Be=Math.clz32?Math.clz32:Ue,Ve=Math.log,He=Math.LN2;function Ue(e){return e>>>=0,e===0?32:31-(Ve(e)/He|0)|0}var We=256,Ge=262144,Ke=4194304;function qe(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function F(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=qe(n))):i=qe(o):i=qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=qe(n))):i=qe(o)):i=qe(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Je(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ye(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Xe(){var e=Ke;return Ke<<=1,!(Ke&62914560)&&(Ke=4194304),e}function I(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function L(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ze(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),cn=!1;if(sn)try{var ln={};Object.defineProperty(ln,"passive",{get:function(){cn=!0}}),window.addEventListener(`test`,ln,ln),window.removeEventListener(`test`,ln,ln)}catch{cn=!1}var un=null,dn=null,fn=null;function pn(){if(fn)return fn;var e,t=dn,n=t.length,r,i=`value`in un?un.value:un.textContent,a=i.length;for(e=0;e=Gn),Jn=` `,Yn=!1;function Xn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=pn(),fn=dn=un=null,Qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Sr(n)}}function wr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Tr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pt(e.document)}return t}function Er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Dr=sn&&`documentMode`in document&&11>=document.documentMode,Or=null,kr=null,Ar=null,jr=!1;function Mr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jr||Or==null||Or!==Pt(r)||(r=Or,`selectionStart`in r&&Er(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ar&&xr(Ar,r)||(Ar=r,r=Td(kr,`onSelect`),0>=o,i-=o,wi=1<<32-Be(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),B&&Ei(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),B&&Ei(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return B&&Ei(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),B&&Ei(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&Ea(l)===r.type){n(e,r.sibling),c=i(r,o.props),Na(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===_?(c=di(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ui(o.type,o.key,o.props,null,e.mode,c),Na(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=mi(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ea(o),b(e,r,o,c)}if(ie(o))return v(e,r,o,c);if(O(o)){if(l=O(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ma(o),c);if(o.$$typeof===x)return b(e,r,ea(e,o),c);Pa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=fi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ja=0;var i=b(e,t,n,r);return Aa=null,i}catch(t){if(t===ba||t===Sa)throw t;var a=oi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ia=Fa(!0),La=Fa(!1),Ra=!1;function za(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ba(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Va(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,q&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ri(e),ni(e,null,n),t}return $r(e,r,t,n),ri(e)}function Ua(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,$e(e,n)}}function Wa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ga=!1;function Ka(){if(Ga){var e=da;if(e!==null)throw e}}function qa(e,t,n,r){Ga=!1;var i=e.updateQueue;Ra=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Y&f)===f:(r&f)===f){f!==0&&f===ua&&(Ga=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Ra=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function Ja(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ya(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=k.T,s={};k.T=s,Ns(e,!1,t,n);try{var c=i(),l=k.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ms(e,t,ma(c,r),fu(e)):Ms(e,t,r,fu(e))}catch(n){Ms(e,t,{then:function(){},status:`rejected`,reason:n},fu())}finally{A.p=a,o!==null&&s.types!==null&&(o.types=s.types),k.T=o}}function Ss(){}function Cs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=ws(e).queue;xs(e,i,t,ae,n===null?Ss:function(){return Ts(e),n(r)})}function ws(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:ae},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ts(e){var t=ws(e);t.next===null&&(t=e.alternate.memoizedState),Ms(e,t.next.queue,{},fu())}function Es(){return $i(Qf)}function Ds(){return ko().memoizedState}function Os(){return ko().memoizedState}function ks(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=fu();e=Va(n);var r=Ha(t,e,n);r!==null&&(mu(r,t,n),Ua(r,t,n)),t={cache:oa()},e.payload=t;return}t=t.return}}function As(e,t,n){var r=fu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ps(e)?Fs(t,n):(n=ei(e,t,n,r),n!==null&&(mu(n,e,r),Is(n,t,r)))}function js(e,t,n){Ms(e,t,n,fu())}function Ms(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ps(e))Fs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,br(s,o))return $r(e,t,i,0),Rl===null&&Qr(),!1}catch{}if(n=ei(e,t,i,r),n!==null)return mu(n,e,r),Is(n,t,r),!0}return!1}function Ns(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ps(e)){if(t)throw Error(a(479))}else t=ei(e,n,r,2),t!==null&&mu(t,e,2)}function Ps(e){var t=e.alternate;return e===U||t!==null&&t===U}function Fs(e,t){po=fo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Is(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,$e(e,n)}}var Ls={readContext:$i,use:Mo,useCallback:yo,useContext:yo,useEffect:yo,useImperativeHandle:yo,useLayoutEffect:yo,useInsertionEffect:yo,useMemo:yo,useReducer:yo,useRef:yo,useState:yo,useDebugValue:yo,useDeferredValue:yo,useTransition:yo,useSyncExternalStore:yo,useId:yo,useHostTransitionStatus:yo,useFormState:yo,useActionState:yo,useOptimistic:yo,useMemoCache:yo,useCacheRefresh:yo};Ls.useEffectEvent=yo;var Rs={readContext:$i,use:Mo,useCallback:function(e,t){return Oo().memoizedState=[e,t===void 0?null:t],e},useContext:$i,useEffect:cs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),os(4194308,4,ms.bind(null,t,e),n)},useLayoutEffect:function(e,t){return os(4194308,4,e,t)},useInsertionEffect:function(e,t){os(4,2,e,t)},useMemo:function(e,t){var n=Oo();t=t===void 0?null:t;var r=e();if(mo){ze(!0);try{e()}finally{ze(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Oo();if(n!==void 0){var i=n(t);if(mo){ze(!0);try{n(t)}finally{ze(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=As.bind(null,U,e),[r.memoizedState,e]},useRef:function(e){var t=Oo();return e={current:e},t.memoizedState=e},useState:function(e){e=Wo(e);var t=e.queue,n=js.bind(null,U,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:gs,useDeferredValue:function(e,t){return ys(Oo(),e,t)},useTransition:function(){var e=Wo(!1);return e=xs.bind(null,U,e.queue,!0,!1),Oo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=U,i=Oo();if(B){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Rl===null)throw Error(a(349));Y&127||zo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,cs(Vo.bind(null,r,o,e),[e]),r.flags|=2048,is(9,{destroy:void 0},Bo.bind(null,r,o,n,t),null),n},useId:function(){var e=Oo(),t=Rl.identifierPrefix;if(B){var n=Ti,r=wi;n=(r&~(1<<32-Be(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ho++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[ot]=t,o[st]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Mc(t)}}return G(t),Nc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Mc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=M.current,zi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=ji,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[ot]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Ii(t,!0)}else e=Bd(e).createTextNode(r),e[ot]=t,t.stateNode=e}return G(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=zi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[ot]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;G(t),e=!1}else n=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(H(t),t):(H(t),null);if(t.flags&128)throw Error(a(558))}return G(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=zi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[ot]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;G(t),i=!1}else i=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(H(t),t):(H(t),null)}return H(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Fc(t,t.updateQueue),G(t),null);case 4:return me(),e===null&&xd(t.stateNode.containerInfo),G(t),null;case 10:return qi(t.type),G(t),null;case 19:if(le(oo),r=t.memoizedState,r===null)return G(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)Ic(r,!1);else{if(Wl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=so(e),o!==null){for(t.flags|=128,Ic(r,!1),e=o.updateQueue,t.updateQueue=e,Fc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)li(n,e),n=n.sibling;return j(oo,oo.current&1|2),B&&Ei(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Oe()>eu&&(t.flags|=128,i=!0,Ic(r,!1),t.lanes=4194304)}}else{if(!i){if(e=so(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Fc(t,e),Ic(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!B)return G(t),null}else 2*Oe()-r.renderingStartTime>eu&&n!==536870912&&(t.flags|=128,i=!0,Ic(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(G(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Oe(),e.sibling=null,n=oo.current,j(oo,i?n&1|2:n&1),B&&Ei(t,r.treeForkCount),e);case 22:case 23:return H(t),eo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(G(t),t.subtreeFlags&6&&(t.flags|=8192)):G(t),n=t.updateQueue,n!==null&&Fc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&le(ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),qi(aa),G(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function K(e,t){switch(ki(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qi(aa),me(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ge(t),null;case 31:if(t.memoizedState!==null){if(H(t),t.alternate===null)throw Error(a(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(H(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return le(oo),null;case 4:return me(),null;case 10:return qi(t.type),null;case 22:case 23:return H(t),eo(),e!==null&&le(ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return qi(aa),null;case 25:return null;default:return null}}function Rc(e,t){switch(ki(t),t.tag){case 3:qi(aa),me();break;case 26:case 27:case 5:ge(t);break;case 4:me();break;case 31:t.memoizedState!==null&&H(t);break;case 13:H(t);break;case 19:le(oo);break;case 10:qi(t.type);break;case 22:case 23:H(t),eo(),e!==null&&le(ga);break;case 24:qi(aa)}}function zc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Q(t,t.return,e)}}function Bc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Q(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Q(t,t.return,e)}}function Vc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ya(t,n)}catch(t){Q(e,e.return,t)}}}function Hc(e,t,n){n.props=Gs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Q(e,t,n)}}function Uc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Q(e,t,n)}}function Wc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Q(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Q(e,t,n)}else n.current=null}}function Gc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Q(e,e.return,t)}}function Kc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[st]=t}catch(t){Q(e,e.return,t)}}function qc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Jc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||qc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Yc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[ot]=e,t[st]=n}catch(t){Q(e,e.return,t)}}var Qc=!1,$c=!1,el=!1,tl=typeof WeakSet==`function`?WeakSet:Set,nl=null;function rl(e,t){if(e=e.containerInfo,Rd=sp,e=Tr(e),Er(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,nl=t;nl!==null;)if(t=nl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,nl=e;else for(;nl!==null;){switch(t=nl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[ot]=e,R(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Cr(s,h),v=Cr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,k.T=null,n=cu,cu=null;var o=iu,s=ou;if(ru=0,au=iu=null,ou=0,q&6)throw Error(a(331));var c=q;if(q|=4,Nl(o.current),Tl(o,o.current,s,n),q=c,rd(0,!1),Re&&typeof Re.onPostCommitFiberRoot==`function`)try{Re.onPostCommitFiberRoot(Le,o)}catch{}return!0}finally{A.p=i,k.T=r,Bu(e,t)}}function Uu(e,t,n){t=gi(n,t),t=Zs(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(L(e,2),nd(e))}function Q(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(nu===null||!nu.has(r))){e=gi(n,e),n=Qs(2),r=Ha(t,n,2),r!==null&&($s(n,r,t,e),L(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ll;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Hl=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Rl===e&&(Y&n)===n&&(Wl===4||Wl===3&&(Y&62914560)===Y&&300>Oe()-Ql?!(q&2)&&xu(e,0):ql|=n,Yl===Y&&(Yl=0)),nd(e)}function Ku(e,t){t===0&&(t=Xe()),e=ti(e,t),e!==null&&(L(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),Ku(e,n)}function Yu(e,t){return Te(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Be(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=Y,a=F(r,r===Rl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Je(r,a)||(n=!0,cd(r,a))}r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=Oe(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}ru!==0&&ru!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=It(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),R(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+It(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+It(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+It(n.imageSizes)+`"]`)):i+=`[href="`+It(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),R(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+It(r)+`"][href="`+It(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),R(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=vt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);R(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=vt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),R(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=vt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),R(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=M.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=vt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=vt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=vt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+It(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),R(t),e.head.appendChild(t))}function Pf(e){return`[src="`+It(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+It(n.href)+`"]`);if(r)return t.instance=r,R(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),R(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,R(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),R(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,R(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),R(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,R(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),R(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=So()}))(),1),W=i(),wo=(0,V.createContext)(void 0);function To(e,t){try{let t=localStorage.getItem(e);if(t===`light`||t===`dark`||t===`system`)return t}catch{}return t}function Eo(e){let t=(0,W.c)(14),{children:n,defaultTheme:r,storageKey:i}=e,a=r===void 0?`dark`:r,o=i===void 0?`ui-theme`:i,s;t[0]!==a||t[1]!==o?(s=()=>To(o,a),t[0]=a,t[1]=o,t[2]=s):s=t[2];let[c,l]=(0,V.useState)(s),u,d;t[3]===c?(u=t[4],d=t[5]):(u=()=>{let e=window.document.documentElement;if(e.classList.remove(`light`,`dark`),c===`system`){let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`;e.classList.add(t);return}e.classList.add(c)},d=[c],t[3]=c,t[4]=u,t[5]=d),(0,V.useEffect)(u,d);let f;t[6]===o?f=t[7]:(f=e=>{try{localStorage.setItem(o,e)}catch{}l(e)},t[6]=o,t[7]=f);let p;t[8]!==f||t[9]!==c?(p={theme:c,setTheme:f},t[8]=f,t[9]=c,t[10]=p):p=t[10];let m=p,h;return t[11]!==n||t[12]!==m?(h=(0,H.jsx)(wo.Provider,{value:m,children:n}),t[11]=n,t[12]=m,t[13]=h):h=t[13],h}function Do(){let e=(0,V.useContext)(wo);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var Oo=L(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),ko=L(`book-open`,[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]),Ao=L(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),jo=L(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Mo=L(`container`,[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]),No=L(`crosshair`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`,key:`l9bcsi`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`,key:`13hhkx`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`,key:`10w3f3`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`,key:`15g9kq`}]]),Po=L(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),Fo=L(`file-stack`,[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`,key:`likhh7`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`,key:`17ky3x`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`,key:`1hyeo0`}]]),Io=L(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),Lo=L(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),Ro=L(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),zo=L(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Bo=L(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Vo=L(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),Ho=L(`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`}]]),Uo=L(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),Wo=L(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Go=L(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),Ko=L(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),qo=L(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Jo=L(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Yo=L(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),Xo=L(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]);function Zo(e,t){return t!=null&&!$t(t)?0:typeof e==`function`?e():e}function Qo(e,t,n){let r=Zo(e,n);return typeof r==`number`?r:r?.[t]}function $o(e){return typeof e==`function`?e():e}function es(e,t){return t||e===`click`||e===`mousedown`}function ts(e){return e?.includes(`mouse`)&&e!==`mousedown`}var ns=V.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Pt,currentIdRef:{current:null},currentContextRef:{current:null}});function rs(e,t){e.current=t.current}function is(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=V.useRef(n),a=V.useRef(n),o=V.useRef(null),s=V.useRef(null),c=Ht();return ht(()=>{if(a.current=n,!o.current){i.current=n;return}i.current={open:Qo(i.current,`open`),close:Qo(n,`close`)}},[n,o,i,a]),(0,H.jsx)(ns.Provider,{value:V.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function as(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,i=r.useState(`floatingId`),{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=V.useContext(ns),[f,p]=V.useState(!1),m=V.useRef(n);return ht(()=>{m.current=n},[n]),ht(()=>{function e(){l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current,d.clear()}if(a.current&&!n&&a.current===i){if(p(!1),s){let t=i;return d.start(s,()=>{r.select(`open`)||a.current&&a.current!==t||e()}),()=>{(m.current||a.current!==t)&&d.clear()}}e()}},[n,i,a,o,s,c,l,d,r]),ht(()=>{if(!n)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:r.setOpen,setIsInstantPhase:p},a.current=i,o.current={open:0,close:Qo(c.current,`close`)},t!==null&&t!==i?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,Et(bt))):(p(!1),e?.setIsInstantPhase(!1))},[n,i,r,a,o,c,l,d]),ht(()=>()=>{if(a.current===i){if(l.current=null,!m.current)return;a.current=null,rs(o,c),d.clear()}},[l,a,o,i,c,d]),V.useMemo(()=>({hasProvider:u,delayRef:o,isInstantPhase:f}),[u,o,f])}function os(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function ss(e){return e!=null&&e.clientX!=null}function cs(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,a=i.useState(`open`),o=i.useState(`floatingElement`),s=i.useState(`domReferenceElement`),c=i.context.dataRef,l=V.useRef(!1),u=V.useRef(null),[d,f]=V.useState(),[p,m]=V.useState([]),h=gt(e=>{i.set(`positionReference`,e)}),g=gt((e,t,n)=>{l.current||c.current.openEvent&&!ss(c.current.openEvent)||i.set(`positionReference`,os(n??s,{x:e,y:t,axis:r,dataRef:c,pointerType:d}))}),_=gt(e=>{a?u.current||(g(e.clientX,e.clientY,e.currentTarget),m([])):g(e.clientX,e.clientY,e.currentTarget)}),v=$t(d)?o:a;V.useEffect(()=>{if(!n){h(s);return}if(!v)return;function e(){u.current?.(),u.current=null}let t=ft(o);function r(t){let n=yt(t);z(o,n)?e():g(t.clientX,t.clientY)}return!c.current.openEvent||ss(c.current.openEvent)?u.current=Le(t,`mousemove`,r):h(s),e},[v,n,o,c,s,i,g,h,p]),V.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),V.useEffect(()=>{n&&!o&&(l.current=!1)},[n,o]),V.useEffect(()=>{!n&&a&&(l.current=!0)},[n,a]);let y=V.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:_,onMouseEnter:_}},[_]);return V.useMemo(()=>n?{reference:y,trigger:y}:{},[n,y])}var ls=je();function us(e){let t=V.useCallback(t=>e===void 0?We:e.subscribeStore(t),[e]),n=V.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,ls.useSyncExternalStore)(t,n,()=>e?.serverStore)}var ds=Wt&&rn;function fs(e,t={}){let{enabled:n=!0,delay:r}=t,i=`rootStore`in e?e.rootStore:e,{events:a,dataRef:o}=i.context,s=V.useRef(!1),c=V.useRef(null),l=V.useRef(!0),u=Ht();V.useEffect(()=>{let e=i.select(`domReferenceElement`);if(!n)return;let t=ft(e);function r(){let e=i.select(`domReferenceElement`);!i.select(`open`)&&pt(e)&&e===Dt(R(e))&&(s.current=!0)}function a(){l.current=!0}function o(){l.current=!1}return Bt(Le(t,`blur`,r),ds&&Le(t,`keydown`,a,!0),ds&&Le(t,`pointerdown`,o,!0))},[i,n]),V.useEffect(()=>{if(!n)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);vt(e)&&(c.current=e,s.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,n,i]);let d=V.useMemo(()=>{function e(){s.current=!1,c.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(s.current){if(c.current===n)return;e()}let a=yt(t.nativeEvent);if(vt(a)){if(ds&&!t.relatedTarget){if(!l.current&&!Kt(a))return}else if(!qt(a))return}let o=Zt(t.relatedTarget,i.context.triggerElements),{nativeEvent:d,currentTarget:f}=t,p=typeof r==`function`?r():r;if(i.select(`open`)&&o||p===0||p===void 0){i.setOpen(!0,Et(wt,d,f));return}u.start(p,()=>{s.current||i.setOpen(!0,Et(wt,d,f))})},onBlur(t){e();let n=t.relatedTarget,r=t.nativeEvent,a=vt(n)&&n.hasAttribute(At(`focus-guard`))&&n.getAttribute(`data-type`)===`outside`;u.start(0,()=>{let e=i.select(`domReferenceElement`),t=Dt(R(e));!n&&t===e||z(o.current.floatingContext?.refs.floating.current,t)||z(e,t)||a||Zt(n??t,i.context.triggerElements)||i.setOpen(!1,Et(wt,r))})}}},[o,r,i,u]);return V.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var ps=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new Pt,this.restTimeout=new Pt,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},ms=new WeakMap;function hs(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&ms.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),ms.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function gs(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=ms.get(n);a&&a!==e&&hs(a),hs(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,ms.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function _s(e){let t=e.context.dataRef.current,n=He(()=>t.hoverInteractionState??ps.create()).current;return t.hoverInteractionState||=n,Fe(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function vs(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=It(),d=Ft(),f=_s(a),p=Ht(),m=gt(()=>es(l.current.openEvent?.type,f.interactedInside)),h=gt(()=>ts(l.current.openEvent?.type)),g=gt(()=>{hs(f)});ht(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),V.useEffect(()=>g,[g]),ht(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&vt(c)&&s){let e=c,t=s,n=R(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return gs(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),V.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&en(u.nodesRef.current,d).length>0)}function t(e){let t=Qo(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,Et(St,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=yt(e);if(!Gt(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(Zt(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&vt(o)&&en(u.nodesRef.current,r,!1).some(e=>z(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){!u||!d||e()||p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,Et(St,t)),u.events.emit(`floating.closed`,t)})}let y=s;return Bt(y&&Le(y,`mouseenter`,c),y&&Le(y,`mouseleave`,_),y&&Le(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var ys=e(Ie(),1),bs={current:null};function xs(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=bs,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=It(l),y=_s(h),b=V.useRef(!1),x=ze(i),S=ze(r),C=ze(o),w=ze(n),T=ze(p),E=ze(f),ee=gt(()=>es(g.current.openEvent?.type,y.interactedInside)),D=gt(()=>T.current?.()!==!1),te=gt((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!z(e,t);if(!vt(n))return!1;let i=n;return r.hasMatchingElement(e=>z(e,i))&&(!e||!z(e,i))}),O=gt(()=>{y.handler&&=(R(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),ne=gt(()=>{hs(y)});return u&&(y.handleCloseOptions=x.current?.__options),V.useEffect(()=>O,[O]),V.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===St,O(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,O]),V.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=Qo(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,Et(St,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,Et(St,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!vt(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!$t(y.pointerType))return;let t=$o(C.current),n=Qo(S.current,`open`,y.pointerType),r=yt(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(vt(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(z(e,r)){s=e;break}}vt(i)&&vt(o)&&!h.context.triggerElements.hasElement(i)&&z(i,o)&&(s=o);let c=s!=null&&te(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&vt(s)&&vt(o)&&z(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){D()&&h.setOpen(!0,Et(St,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&D()&&h.setOpen(!0,Et(St,e,s))}):g&&D()&&h.setOpen(!0,Et(St,e,s)))}function i(t){if(ee()){ne();return}O();let n=h.select(`domReferenceElement`),r=R(n);y.restTimeout.clear(),y.restTimeoutPending=!1;let i=g.current.floatingContext??d?.();if(!Zt(t.relatedTarget,h.context.triggerElements)){if(x.current&&i){h.select(`open`)||y.openChangeTimeout.clear();let n=c.current;y.handler=x.current({...i,tree:v,x:t.clientX,y:t.clientY,onClose(){ne(),O(),w.current&&!ee()&&n===h.select(`domReferenceElement`)&&e(t,!0)}}),r.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!z(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){z(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?Le(t,`mouseout`,o):void 0;return s?Bt(Le(t,`mousemove`,r,{once:!0}),Le(t,`mouseenter`,r),Le(t,`mouseleave`,i),l):Bt(Le(t,`mouseenter`,r),Le(t,`mouseleave`,i),l)},[O,ne,g,S,h,n,x,y,u,te,ee,a,s,C,c,v,w,d,E,D,m]),V.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=te(r,n,e.target);if(a&&!$t(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;gs(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=$o(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,ee())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&D()&&h.setOpen(!0,Et(St,t,n))}y.pointerType===`touch`?ys.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,ee,te,a,h,C,D])}var Ss=.1,Cs=Ss*Ss,ws=.5;function Ts(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function Es(e,t,n,r,i,a,o,s,c,l){let u=!1;return Ts(e,t,n,r,i,a)&&(u=!u),Ts(e,t,i,a,o,s)&&(u=!u),Ts(e,t,o,s,c,l)&&(u=!u),Ts(e,t,c,l,n,r)&&(u=!u),u}function Ds(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function Os(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function ks(e={}){let{blockPointerEvents:t=!1}=e,n=new Pt,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*Cs;return u=e,d=t,f=n,o0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,ee=(T?x:S).left,D=(T?x:S).right,te=(E?x:S).top,O=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let ne=!1;switch(c){case`top`:ne=Os(d,f,ee,x.top+1,D,S.bottom-1);break;case`bottom`:ne=Os(d,f,ee,S.top+1,D,x.bottom-1);break;case`left`:ne=Os(d,f,S.right-1,O,x.left+1,te);break;case`right`:ne=Os(d,f,x.right-1,O,S.left+1,te)}if(ne)return;if(l&&!Ds(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let re=!1;switch(c){case`top`:{let n=T?ws/2:ws*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+ws+1,o=C||T?S.bottom-ws:S.top,s=C?T?S.bottom-ws:S.top:S.bottom-ws;re=Es(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?ws/2:ws*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-ws,o=C||T?S.top+ws:S.bottom,s=C?T?S.top+ws:S.bottom:S.top+ws;re=Es(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?ws/2:ws*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+ws+1,o=w||E?S.right-ws:S.left,s=w?E?S.right-ws:S.left:S.right-ws;re=Es(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?ws/2:ws*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-ws,o=w||E?S.left+ws:S.right,s=w?E?S.left+ws:S.right:S.left+ws;re=Es(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}re?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}function As(e){return gn(`dialog`,e)}function js(e){let t=(0,W.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,H.jsx)(As,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function Ms(e){let t=(0,W.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,H.jsx)(vn,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function Ns(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 z-50 bg-black/80 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(xn,{className:i,"data-slot":`sheet-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ps(e){let t=(0,W.c)(17),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,side:a,showCloseButton:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=a===void 0?`right`:a,c=o===void 0||o,l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,H.jsx)(Ns,{}),t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=F(`data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-closed:animate-out data-open:animate-in fixed z-50 flex flex-col bg-background bg-clip-padding text-xs/relaxed shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm`,r),t[7]=r,t[8]=u);let d;t[9]===c?d=t[10]:(d=c&&(0,H.jsxs)(hn,{"data-slot":`sheet-close`,render:(0,H.jsx)(_t,{className:`absolute top-4 right-4`,size:`icon-sm`,variant:`ghost`}),children:[(0,H.jsx)(ut,{}),(0,H.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[9]=c,t[10]=d);let f;return t[11]!==n||t[12]!==i||t[13]!==s||t[14]!==u||t[15]!==d?(f=(0,H.jsxs)(Ms,{children:[l,(0,H.jsxs)(mn,{className:u,"data-side":s,"data-slot":`sheet-content`,...i,children:[n,d]})]}),t[11]=n,t[12]=i,t[13]=s,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function Fs(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col gap-1.5 p-6`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`div`,{className:i,"data-slot":`sheet-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Is(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`text-sm font-medium text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(bn,{className:i,"data-slot":`sheet-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ls(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`text-xs/relaxed text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(pn,{className:i,"data-slot":`sheet-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Rs=V.createContext(void 0);function zs(e){let t=V.useContext(Rs);if(t===void 0&&!e)throw Error(Ke(72));return t}var Bs={...yn,disabled:e=>e.disabled,instantType:e=>e.instantType,isInstantPhase:e=>e.isInstantPhase,trackCursorAxis:e=>e.trackCursorAxis,disableHoverablePopup:e=>e.disableHoverablePopup,lastOpenChangeReason:e=>e.openChangeReason,closeOnClick:e=>e.closeOnClick,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},Vs=class extends jt{constructor(e,t,n){let r=new tn;super(Hs(e,r,t,n),Us(r),Bs)}setOpen=(e,t)=>{Jt(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,Et(xt,e))}};function Hs(e,t,n,r=!1){let i={...fn(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e};return i.floatingRootContext=_n(t,n,r),i}function Us(e){return{popupRef:V.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var Ws=Lt(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=zt((e,t)=>new Vs({open:n,openProp:r,activeTriggerId:d,triggerIdProp:u},e,t));p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),_=p.useState(`mounted`),v=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i,disabled:t}),sn(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:y,transitionStatus:b}=Ut(h,p),x=p.useState(`isInstantPhase`),S=p.useState(`instantType`),C=p.useState(`lastOpenChangeReason`),w=V.useRef(null);ht(()=>{m&&t&&p.setOpen(!1,Et(Ct))},[m,t,p]),ht(()=>{b===`ending`&&C===`none`||b!==`ending`&&x?(S!==`delay`&&(w.current=S),p.set(`instantType`,`delay`)):w.current!==null&&(p.set(`instantType`,w.current),w.current=null)},[b,x,C,S,p]),ht(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]),V.useImperativeHandle(o,()=>({unmount:y,close:()=>p.setOpen(!1,Et(Tt))}),[y,p]);let T=h||_||!t&&a!==`none`;return(0,H.jsxs)(Rs.Provider,{value:p,children:[l&&(0,H.jsx)(Yt,{handle:l,store:p}),T&&(0,H.jsx)(Gs,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:v}):f]})});function Gs({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState(`floatingRootContext`),i=kt(r,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),a=cs(r,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),o=V.useMemo(()=>Ve(a.reference,i.reference),[a.reference,i.reference]);return on(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:i.floating??Be}),null}var Ks=V.createContext(void 0);function qs(){return V.useContext(Ks)}var Js=`data-base-ui-tooltip-trigger`;function Ys(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;em.select(`transitionStatus`)===`ending`,shouldOpen(){return!k.current}}),j=fs(v,{enabled:!O}).reference,ue=e=>{let t=k.current,n=Ys(e),r=ce(n),i=y.current,a=i&&n&&z(i,n);if(r&&m.select(`open`)&&m.select(`lastOpenChangeReason`)===`trigger-hover`){m.setOpen(!1,Et(St,e));return}if(t&&!r&&a&&!ne.current&&!m.select(`open`)&&i&&$t(ae.current)){let t=()=>{!k.current&&!ne.current&&!m.select(`open`)&&m.setOpen(!0,Et(St,e,i))},n=oe();n===0?(A.clear(),t()):A.start(n,t)}},de=m.useState(`triggerProps`,C);return Ue(`button`,e,{state:{open:_},ref:[t,S,y],props:[le,j,C||re!==`none`?de:void 0,{onMouseOver(e){ue(e.nativeEvent)},onFocus(e){se(Ys(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){k.current=!1,A.clear(),ae.current=void 0},onPointerEnter(e){ae.current=e.pointerType},onPointerDown(e){ae.current=e.pointerType,m.set(`closeOnClick`,l),l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},onClick(e){l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},id:h,"data-trigger-disabled":O?``:void 0,[Js]:O?void 0:``},f],stateAttributesMapping:nn})}),Qs=V.createContext(void 0);function $s(){let e=V.useContext(Qs);if(e===void 0)throw Error(Ke(70));return e}var ec=V.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{node:c,subtree:l}=Mt({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,H.jsxs)(V.Fragment,{children:[l,c&&ys.createPortal(n,c)]})}),tc=V.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return zs().useState(`mounted`)||n?(0,H.jsx)(Qs.Provider,{value:n,children:(0,H.jsx)(ec,{ref:t,...r})}):null}),nc=V.createContext(void 0);function rc(){let e=V.useContext(nc);if(e===void 0)throw Error(Ke(71));return e}var ic=V.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=Rt,style:g,..._}=e,v=zs(),y=$s(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),ee=v.useState(`adaptiveOrigin`),D=ln({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:ee}),te=V.useMemo(()=>({open:b,side:D.side,align:D.align,anchorHidden:D.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,D.side,D.align,D.anchorHidden,S,T]),O=un(e,te,{styles:D.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,H.jsx)(nc.Provider,{value:D,children:O})}),ac=V.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=zs(),{side:s,align:c}=rc(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);Re({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),vs(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return Ue(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[Qt,f,cn(d),a],stateAttributesMapping:Nt})}),oc=V.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=zs(),{arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=rc(),f={open:o.useState(`open`),side:c,align:l,uncentered:u,instant:o.useState(`instantType`)};return Ue(`div`,e,{state:f,ref:[t,s],props:[{style:d,"aria-hidden":!0},a],stateAttributesMapping:Vt})}),sc=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=V.useMemo(()=>({open:t,close:n}),[t,n]);return(0,H.jsx)(Ks.Provider,{value:t,children:(0,H.jsx)(is,{delay:i,timeoutMs:r,children:e.children})})};function cc(e){let t=(0,W.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({delay:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,a;return t[3]!==i||t[4]!==n?(a=(0,H.jsx)(sc,{"data-slot":`tooltip-provider`,delay:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function lc(e){let t=(0,W.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,H.jsx)(cc,{children:(0,H.jsx)(Ws,{"data-slot":`tooltip`,...n})}),t[2]=n,t[3]=r),r}function uc(e){let t=(0,W.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,H.jsx)(Zs,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function dc(e){let t=(0,W.c)(21),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:r,side:a,sideOffset:o,align:s,alignOffset:c,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=a===void 0?`top`:a,u=o===void 0?4:o,d=s===void 0?`center`:s,f=c===void 0?0:c,p;t[8]===r?p=t[9]:(p=F(`data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 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=delayed-open]:animate-in data-closed:animate-out data-open:animate-in z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-xs text-background **:data-[slot=kbd]:rounded-md`,r),t[8]=r,t[9]=p);let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,H.jsx)(oc,{className:`z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5`}),t[10]=m):m=t[10];let h;t[11]!==n||t[12]!==i||t[13]!==p?(h=(0,H.jsxs)(ac,{className:p,"data-slot":`tooltip-content`,...i,children:[n,m]}),t[11]=n,t[12]=i,t[13]=p,t[14]=h):h=t[14];let g;return t[15]!==d||t[16]!==f||t[17]!==l||t[18]!==u||t[19]!==h?(g=(0,H.jsx)(tc,{children:(0,H.jsx)(ic,{align:d,alignOffset:f,className:`isolate z-50`,side:l,sideOffset:u,children:h})}),t[15]=d,t[16]=f,t[17]=l,t[18]=u,t[19]=h,t[20]=g):g=t[20],g}var fc=window.matchMedia(`(max-width: 767px)`);function pc(e){return fc.addEventListener(`change`,e),()=>fc.removeEventListener(`change`,e)}function mc(){return fc.matches}function hc(){return(0,V.useSyncExternalStore)(pc,mc)}var gc=`sidebar_state`,_c=604800,vc=`12rem`,yc=`16rem`,bc=`3rem`,xc=`b`,Sc=V.createContext(null);function Cc(){let e=V.useContext(Sc);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function wc(e){let t=(0,W.c)(36),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({defaultOpen:c,open:i,onOpenChange:o,className:r,style:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=c===void 0||c,u=hc(),[d,f]=V.useState(!1),[p,m]=V.useState(l),h=i??p,g;t[8]!==h||t[9]!==o?(g=e=>{let t=typeof e==`function`?e(h):e;o?o(t):m(t),document.cookie=`${gc}=${t}; path=/; max-age=${_c}`},t[8]=h,t[9]=o,t[10]=g):g=t[10];let _=g,v;t[11]!==u||t[12]!==_?(v=()=>u?f(Ec):_(Tc),t[11]=u,t[12]=_,t[13]=v):v=t[13];let y=v,b,x;t[14]===y?(b=t[15],x=t[16]):(b=()=>{let e=e=>{e.key===xc&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},x=[y],t[14]=y,t[15]=b,t[16]=x),V.useEffect(b,x);let S=h?`expanded`:`collapsed`,C;t[17]!==u||t[18]!==h||t[19]!==d||t[20]!==_||t[21]!==S||t[22]!==y?(C={state:S,open:h,setOpen:_,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:y},t[17]=u,t[18]=h,t[19]=d,t[20]=_,t[21]=S,t[22]=y,t[23]=C):C=t[23];let w=C,T;t[24]===s?T=t[25]:(T={"--sidebar-width":vc,"--sidebar-width-icon":bc,...s},t[24]=s,t[25]=T);let E=T,ee;t[26]===r?ee=t[27]:(ee=F(`group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar`,r),t[26]=r,t[27]=ee);let D;t[28]!==n||t[29]!==a||t[30]!==ee||t[31]!==E?(D=(0,H.jsx)(`div`,{className:ee,"data-slot":`sidebar-wrapper`,style:E,...a,children:n}),t[28]=n,t[29]=a,t[30]=ee,t[31]=E,t[32]=D):D=t[32];let te;return t[33]!==w||t[34]!==D?(te=(0,H.jsx)(Sc.Provider,{value:w,children:D}),t[33]=w,t[34]=D,t[35]=te):te=t[35],te}function Tc(e){return!e}function Ec(e){return!e}function Dc(e){let t=(0,W.c)(46),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({side:a,variant:o,collapsible:s,className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=a===void 0?`left`:a,l=o===void 0?`sidebar`:o,u=s===void 0?`offExamples`:s,{isMobile:d,state:f,openMobile:p,setOpenMobile:m}=Cc();if(u===`none`){let e;t[7]===r?e=t[8]:(e=F(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),t[7]=r,t[8]=e);let a;return t[9]!==n||t[10]!==i||t[11]!==e?(a=(0,H.jsx)(`div`,{className:e,"data-slot":`sidebar`,...i,children:n}),t[9]=n,t[10]=i,t[11]=e,t[12]=a):a=t[12],a}if(d){let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e={"--sidebar-width":yc},t[13]=e):e=t[13];let r=e,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,H.jsxs)(Fs,{className:`sr-only`,children:[(0,H.jsx)(Is,{children:`Sidebar`}),(0,H.jsx)(Ls,{children:`Displays the mobile sidebar.`})]}),t[14]=a):a=t[14];let o;t[15]===n?o=t[16]:(o=(0,H.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:n}),t[15]=n,t[16]=o);let s;t[17]!==c||t[18]!==o?(s=(0,H.jsxs)(Ps,{className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,"data-mobile":`true`,"data-sidebar":`sidebar`,"data-slot":`sidebar`,side:c,style:r,children:[a,o]}),t[17]=c,t[18]=o,t[19]=s):s=t[19];let l;return t[20]!==p||t[21]!==i||t[22]!==m||t[23]!==s?(l=(0,H.jsx)(js,{onOpenChange:m,open:p,...i,children:s}),t[20]=p,t[21]=i,t[22]=m,t[23]=s,t[24]=l):l=t[24],l}let h=f===`collapsed`?u:``,g=l===`floating`||l===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,_;t[25]===g?_=t[26]:(_=F(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offExamples]:w-0`,`group-data-[side=right]:rotate-180`,g),t[25]=g,t[26]=_);let v;t[27]===_?v=t[28]:(v=(0,H.jsx)(`div`,{className:_,"data-slot":`sidebar-gap`}),t[27]=_,t[28]=v);let y=c===`left`?`left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]`,b=l===`floating`||l===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,x;t[29]!==r||t[30]!==y||t[31]!==b?(x=F(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,y,b,r),t[29]=r,t[30]=y,t[31]=b,t[32]=x):x=t[32];let S;t[33]===n?S=t[34]:(S=(0,H.jsx)(`div`,{className:`flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border`,"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,children:n}),t[33]=n,t[34]=S);let C;t[35]!==i||t[36]!==x||t[37]!==S?(C=(0,H.jsx)(`div`,{className:x,"data-slot":`sidebar-container`,...i,children:S}),t[35]=i,t[36]=x,t[37]=S,t[38]=C):C=t[38];let w;return t[39]!==c||t[40]!==f||t[41]!==C||t[42]!==h||t[43]!==v||t[44]!==l?(w=(0,H.jsxs)(`div`,{className:`group peer hidden text-sidebar-foreground md:block`,"data-collapsible":h,"data-side":c,"data-slot":`sidebar`,"data-state":f,"data-variant":l,children:[v,C]}),t[39]=c,t[40]=f,t[41]=C,t[42]=h,t[43]=v,t[44]=l,t[45]=w):w=t[45],w}function Oc(e){let t=(0,W.c)(15),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,onClick:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let{toggleSidebar:a}=Cc(),o;t[4]===n?o=t[5]:(o=F(n),t[4]=n,t[5]=o);let s;t[6]!==r||t[7]!==a?(s=e=>{r?.(e),a()},t[6]=r,t[7]=a,t[8]=s):s=t[8];let c,l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,H.jsx)(Wo,{}),l=(0,H.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`}),t[9]=c,t[10]=l):(c=t[9],l=t[10]);let u;return t[11]!==i||t[12]!==o||t[13]!==s?(u=(0,H.jsxs)(_t,{className:o,"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,onClick:s,size:`icon-lg`,variant:`ghost`,...i,children:[c,l]}),t[11]=i,t[12]=o,t[13]=s,t[14]=u):u=t[14],u}function kc(e){let t=(0,W.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let{toggleSidebar:i}=Cc(),a;t[3]===n?a=t[4]:(a=F(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex`,`in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar`,`[[data-side=left][data-collapsible=offExamples]_&]:-right-2`,`[[data-side=right][data-collapsible=offExamples]_&]:-left-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a||t[7]!==i?(o=(0,H.jsx)(`button`,{"aria-label":`Toggle Sidebar`,className:a,"data-sidebar":`rail`,"data-slot":`sidebar-rail`,onClick:i,tabIndex:-1,title:`Toggle Sidebar`,type:`button`,...r}),t[5]=r,t[6]=a,t[7]=i,t[8]=o):o=t[8],o}function Ac(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`div`,{className:i,"data-sidebar":`header`,"data-slot":`sidebar-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function jc(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`div`,{className:i,"data-sidebar":`footer`,"data-slot":`sidebar-footer`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Mc(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`mx-2 w-auto bg-sidebar-border`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(dn,{className:i,"data-sidebar":`separator`,"data-slot":`sidebar-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Nc(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`div`,{className:i,"data-sidebar":`content`,"data-slot":`sidebar-content`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Pc(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`relative flex w-full min-w-0 flex-col px-2 py-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`div`,{className:i,"data-sidebar":`group`,"data-slot":`sidebar-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Fc(e){let t=(0,W.c)(10),n,r,i,a;if(t[0]!==e){let{className:o,render:s,...c}=e;n=s,a=qe,r=`div`,i=Ve({className:F(`flex h-8 shrink-0 items-center rounded-md px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,o)},c),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a}else n=t[1],r=t[2],i=t[3],a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={slot:`sidebar-group-label`,sidebar:`group-label`},t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==r||t[8]!==i?(s={defaultTagName:r,props:i,render:n,state:o},t[6]=n,t[7]=r,t[8]=i,t[9]=s):s=t[9],a(s)}function Ic(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex w-full min-w-0 flex-col gap-px`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`ul`,{className:i,"data-sidebar":`menu`,"data-slot":`sidebar-menu`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function G(e){let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`group/menu-item relative`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,H.jsx)(`li`,{className:i,"data-sidebar":`menu-item`,"data-slot":`sidebar-menu-item`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Lc=Ge(`peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-[calc(var(--radius-sm)+2px)] p-2 text-left text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-xs`,sm:`h-7 text-xs`,lg:`h-12 text-xs group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function K(e){let t=(0,W.c)(15),{render:n,isActive:r,variant:i,size:a,tooltip:o,className:s,...c}=e,l=r!==void 0&&r,u=i===void 0?`default`:i,d=a===void 0?`default`:a,{isMobile:f,state:p}=Cc(),m=Ve({className:F(Lc({variant:u,size:d}),s)},c),h=o?uc:n,g;t[0]!==l||t[1]!==d?(g={slot:`sidebar-menu-button`,sidebar:`menu-button`,size:d,active:l},t[0]=l,t[1]=d,t[2]=g):g=t[2];let _;t[3]!==m||t[4]!==h||t[5]!==g?(_={defaultTagName:`button`,props:m,render:h,state:g},t[3]=m,t[4]=h,t[5]=g,t[6]=_):_=t[6];let v=qe(_);if(!o)return v;let y;t[7]===o?y=t[8]:(y=typeof o==`string`?{children:o}:o,t[7]=o,t[8]=y);let b=y,x=p!==`collapsed`||f,S;t[9]!==x||t[10]!==b?(S=(0,H.jsx)(dc,{align:`center`,hidden:x,side:`right`,...b}),t[9]=x,t[10]=b,t[11]=S):S=t[11];let C;return t[12]!==v||t[13]!==S?(C=(0,H.jsxs)(lc,{children:[v,S]}),t[12]=v,t[13]=S,t[14]=C):C=t[14],C}var Rc=new Set([`InvalidClientTokenId`,`SignatureDoesNotMatch`,`AuthFailure`,`MissingAuthenticationToken`,`IncompleteSignature`,`UnrecognizedClientException`,`ExpiredToken`,`ExpiredTokenException`,`InvalidAccessKeyId`]);function zc(e){if(typeof e!=`object`||!e||!(`name`in e))return!1;let{name:t}=e;return typeof t==`string`&&Rc.has(t)}var Bc=!1;function Vc(e,t){Bc||!zc(e)||(Bc=!0,Ye(),Sn(),t.clear(),window.location.pathname!==`/login`&&(window.location.href=`/login?reason=expired`))}function Hc(){let e=new Kr({queryCache:new Gr({onError:t=>Vc(t,e)}),mutationCache:new Ur({onError:t=>Vc(t,e)}),defaultOptions:{queries:{staleTime:5e3,refetchIntervalInBackground:!1}}});return e}function Uc(){let e=(0,W.c)(8),{theme:t,setTheme:n}=Do(),r;e[0]!==n||e[1]!==t?(r=()=>{n(t===`light`?`dark`:t===`dark`?`light`:`dark`)},e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a,o,s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,H.jsx)(qo,{className:`size-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),o=(0,H.jsx)(Ho,{className:`absolute size-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),s=(0,H.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`}),e[3]=a,e[4]=o,e[5]=s):(a=e[3],o=e[4],s=e[5]);let c;return e[6]===i?c=e[7]:(c=(0,H.jsxs)(_t,{className:`rounded-full`,onClick:i,size:`icon-sm`,variant:`ghost`,children:[a,o,s]}),e[6]=i,e[7]=c),c}function Wc(){let e=(0,W.c)(7),{isAdmin:t,license:n}=Cn(),r=t&&n===`open-source`,i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=F(`z-50 flex h-10 shrink-0 items-center gap-2 border-b border-sidebar-border bg-sidebar px-4 text-sidebar-foreground`,`sticky top-0`),a=(0,H.jsx)(Oc,{className:`-ml-1`}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===r?o=e[3]:(o=r&&(0,H.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:F(mt({variant:`outline`,size:`sm`})),children:`Upgrade`}),e[2]=r,e[3]=o);let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,H.jsx)(Uc,{}),e[4]=s):s=e[4];let c;return e[5]===o?c=e[6]:(c=(0,H.jsxs)(`header`,{className:i,children:[a,(0,H.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-2`,children:[o,s]})]}),e[5]=o,e[6]=c),c}function Gc(){let e=(0,W.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(`h1`,{className:`text-4xl font-bold`,children:`404`}),n=(0,H.jsx)(`p`,{className:`text-muted-foreground`,children:`Page not found`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,H.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[t,n,(0,H.jsx)(M,{to:`/`,children:(0,H.jsx)(_t,{variant:`outline`,children:`Go back home`})})]}),e[2]=r):r=e[2],r}function Kc(){let e=(0,W.c)(255),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={select:qc},e[0]=t):t=e[0];let n=po(t),r=Pe(),i=h(),{isAdmin:a}=Cn(),o;e[1]!==r||e[2]!==i?(o=function(){Ye(),Sn(),i.clear(),r({to:`/login`})},e[1]=r,e[2]=i,e[3]=o):o=e[3];let s=o,c;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,H.jsxs)(Ac,{className:`flex flex-row items-center gap-2 px-4 py-3`,children:[(0,H.jsx)(`img`,{src:`/mulga-logo.svg`,alt:`Mulga`,className:`size-6 shrink-0 dark:invert`}),(0,H.jsx)(`span`,{className:`truncate text-sm font-semibold group-data-[collapsible=icon]:hidden`,children:`Spinifex`})]}),e[4]=c):c=e[4];let l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,H.jsx)(Fc,{children:`General`}),e[5]=l):l=e[5];let u=n===`/`,d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,H.jsx)(Io,{className:`size-4`}),f=(0,H.jsx)(`span`,{children:`Dashboard`}),e[6]=d,e[7]=f):(d=e[6],f=e[7]);let p;e[8]===u?p=e[9]:(p=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/`,children:(0,H.jsxs)(K,{isActive:u,tooltip:`Dashboard`,children:[d,f]})})}),e[8]=u,e[9]=p);let m;e[10]!==a||e[11]!==n?(m=a&&(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/nodes`,children:(0,H.jsxs)(K,{isActive:n.startsWith(`/nodes`),tooltip:`Nodes`,children:[(0,H.jsx)(rt,{className:`size-4`}),(0,H.jsx)(`span`,{children:`Nodes`})]})})}),e[10]=a,e[11]=n,e[12]=m):m=e[12];let g;e[13]!==p||e[14]!==m?(g=(0,H.jsxs)(Pc,{children:[l,(0,H.jsxs)(Ic,{children:[p,m]})]}),e[13]=p,e[14]=m,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,H.jsx)(Fc,{children:`EC2`}),e[16]=_):_=e[16];let v;e[17]===n?v=e[18]:(v=n.startsWith(`/ec2/describe-instances`)||n.startsWith(`/ec2/run-instances`),e[17]=n,e[18]=v);let y,b;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,H.jsx)(rt,{className:`size-4`}),b=(0,H.jsx)(`span`,{children:`Instances`}),e[19]=y,e[20]=b):(y=e[19],b=e[20]);let x;e[21]===v?x=e[22]:(x=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-instances`,children:(0,H.jsxs)(K,{isActive:v,tooltip:`Instances`,children:[y,b]})})}),e[21]=v,e[22]=x);let S;e[23]===n?S=e[24]:(S=n.startsWith(`/ec2/describe-launch-templates`)||n.startsWith(`/ec2/create-launch-template`),e[23]=n,e[24]=S);let C,w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,H.jsx)(Fo,{className:`size-4`}),w=(0,H.jsx)(`span`,{children:`Launch Templates`}),e[25]=C,e[26]=w):(C=e[25],w=e[26]);let T;e[27]===S?T=e[28]:(T=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-launch-templates`,children:(0,H.jsxs)(K,{isActive:S,tooltip:`Launch Templates`,children:[C,w]})})}),e[27]=S,e[28]=T);let E;e[29]===n?E=e[30]:(E=n.startsWith(`/ec2/describe-images`),e[29]=n,e[30]=E);let ee,D;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,H.jsx)(ot,{className:`size-4`}),D=(0,H.jsx)(`span`,{children:`Images`}),e[31]=ee,e[32]=D):(ee=e[31],D=e[32]);let te;e[33]===E?te=e[34]:(te=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-images`,children:(0,H.jsxs)(K,{isActive:E,tooltip:`Images`,children:[ee,D]})})}),e[33]=E,e[34]=te);let O;e[35]===n?O=e[36]:(O=n.startsWith(`/ec2/describe-key-pairs`),e[35]=n,e[36]=O);let ne,re;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,H.jsx)(nt,{className:`size-4`}),re=(0,H.jsx)(`span`,{children:`Key Pairs`}),e[37]=ne,e[38]=re):(ne=e[37],re=e[38]);let ie;e[39]===O?ie=e[40]:(ie=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-key-pairs`,children:(0,H.jsxs)(K,{isActive:O,tooltip:`Key Pairs`,children:[ne,re]})})}),e[39]=O,e[40]=ie);let k;e[41]===n?k=e[42]:(k=n.startsWith(`/ec2/describe-addresses`)||n.startsWith(`/ec2/allocate-address`),e[41]=n,e[42]=k);let A,ae;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,H.jsx)(Vo,{className:`size-4`}),ae=(0,H.jsx)(`span`,{children:`Elastic IPs`}),e[43]=A,e[44]=ae):(A=e[43],ae=e[44]);let oe;e[45]===k?oe=e[46]:(oe=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-addresses`,children:(0,H.jsxs)(K,{isActive:k,tooltip:`Elastic IPs`,children:[A,ae]})})}),e[45]=k,e[46]=oe);let se;e[47]===n?se=e[48]:(se=n.startsWith(`/ec2/describe-volumes`)||n.startsWith(`/ec2/create-volume`)||n.startsWith(`/ec2/modify-volume`),e[47]=n,e[48]=se);let ce,le;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,H.jsx)(it,{className:`size-4`}),le=(0,H.jsx)(`span`,{children:`Volumes`}),e[49]=ce,e[50]=le):(ce=e[49],le=e[50]);let j;e[51]===se?j=e[52]:(j=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-volumes`,children:(0,H.jsxs)(K,{isActive:se,tooltip:`Volumes`,children:[ce,le]})})}),e[51]=se,e[52]=j);let ue;e[53]===n?ue=e[54]:(ue=n.startsWith(`/ec2/describe-snapshots`)||n.startsWith(`/ec2/create-snapshot`),e[53]=n,e[54]=ue);let de,fe;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,H.jsx)(Ze,{className:`size-4`}),fe=(0,H.jsx)(`span`,{children:`Snapshots`}),e[55]=de,e[56]=fe):(de=e[55],fe=e[56]);let pe;e[57]===ue?pe=e[58]:(pe=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-snapshots`,children:(0,H.jsxs)(K,{isActive:ue,tooltip:`Snapshots`,children:[de,fe]})})}),e[57]=ue,e[58]=pe);let me;e[59]===n?me=e[60]:(me=n.startsWith(`/ec2/describe-placement-groups`)||n.startsWith(`/ec2/create-placement-group`),e[59]=n,e[60]=me);let he,ge;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,H.jsx)(Ro,{className:`size-4`}),ge=(0,H.jsx)(`span`,{children:`Placement Groups`}),e[61]=he,e[62]=ge):(he=e[61],ge=e[62]);let _e;e[63]===me?_e=e[64]:(_e=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-placement-groups`,children:(0,H.jsxs)(K,{isActive:me,tooltip:`Placement Groups`,children:[he,ge]})})}),e[63]=me,e[64]=_e);let ve;e[65]===n?ve=e[66]:(ve=n.startsWith(`/ec2/describe-load-balancers`)||n.startsWith(`/ec2/create-load-balancer`),e[65]=n,e[66]=ve);let ye,be;e[67]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,H.jsx)(at,{className:`size-4`}),be=(0,H.jsx)(`span`,{children:`Load Balancers`}),e[67]=ye,e[68]=be):(ye=e[67],be=e[68]);let xe;e[69]===ve?xe=e[70]:(xe=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-load-balancers`,children:(0,H.jsxs)(K,{isActive:ve,tooltip:`Load Balancers`,children:[ye,be]})})}),e[69]=ve,e[70]=xe);let Se;e[71]===n?Se=e[72]:(Se=n.startsWith(`/ec2/describe-target-groups`)||n.startsWith(`/ec2/create-target-group`),e[71]=n,e[72]=Se);let Ce,we;e[73]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,H.jsx)(No,{className:`size-4`}),we=(0,H.jsx)(`span`,{children:`Target Groups`}),e[73]=Ce,e[74]=we):(Ce=e[73],we=e[74]);let Te;e[75]===Se?Te=e[76]:(Te=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-target-groups`,children:(0,H.jsxs)(K,{isActive:Se,tooltip:`Target Groups`,children:[Ce,we]})})}),e[75]=Se,e[76]=Te);let Ee;e[77]!==x||e[78]!==T||e[79]!==te||e[80]!==ie||e[81]!==oe||e[82]!==j||e[83]!==pe||e[84]!==_e||e[85]!==xe||e[86]!==Te?(Ee=(0,H.jsxs)(Pc,{children:[_,(0,H.jsxs)(Ic,{children:[x,T,te,ie,oe,j,pe,_e,xe,Te]})]}),e[77]=x,e[78]=T,e[79]=te,e[80]=ie,e[81]=oe,e[82]=j,e[83]=pe,e[84]=_e,e[85]=xe,e[86]=Te,e[87]=Ee):Ee=e[87];let De;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,H.jsx)(Fc,{children:`Networking`}),e[88]=De):De=e[88];let N;e[89]===n?N=e[90]:(N=n.startsWith(`/ec2/describe-vpcs`)||n.startsWith(`/ec2/create-vpc`),e[89]=n,e[90]=N);let Oe,P;e[91]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,H.jsx)(Qe,{className:`size-4`}),P=(0,H.jsx)(`span`,{children:`VPCs`}),e[91]=Oe,e[92]=P):(Oe=e[91],P=e[92]);let ke;e[93]===N?ke=e[94]:(ke=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-vpcs`,children:(0,H.jsxs)(K,{isActive:N,tooltip:`VPCs`,children:[Oe,P]})})}),e[93]=N,e[94]=ke);let Ae;e[95]===n?Ae=e[96]:(Ae=n.startsWith(`/ec2/describe-subnets`)||n.startsWith(`/ec2/create-subnet`),e[95]=n,e[96]=Ae);let je,Me;e[97]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,H.jsx)(zo,{className:`size-4`}),Me=(0,H.jsx)(`span`,{children:`Subnets`}),e[97]=je,e[98]=Me):(je=e[97],Me=e[98]);let Ne;e[99]===Ae?Ne=e[100]:(Ne=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-subnets`,children:(0,H.jsxs)(K,{isActive:Ae,tooltip:`Subnets`,children:[je,Me]})})}),e[99]=Ae,e[100]=Ne);let Fe;e[101]===n?Fe=e[102]:(Fe=n.startsWith(`/ec2/describe-security-groups`)||n.startsWith(`/ec2/create-security-group`),e[101]=n,e[102]=Fe);let Ie,Le;e[103]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,H.jsx)(Ko,{className:`size-4`}),Le=(0,H.jsx)(`span`,{children:`Security Groups`}),e[103]=Ie,e[104]=Le):(Ie=e[103],Le=e[104]);let Re;e[105]===Fe?Re=e[106]:(Re=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-security-groups`,children:(0,H.jsxs)(K,{isActive:Fe,tooltip:`Security Groups`,children:[Ie,Le]})})}),e[105]=Fe,e[106]=Re);let ze;e[107]===n?ze=e[108]:(ze=n.startsWith(`/ec2/describe-route-tables`)||n.startsWith(`/ec2/create-route-table`),e[107]=n,e[108]=ze);let Be,Ve;e[109]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,H.jsx)(Go,{className:`size-4`}),Ve=(0,H.jsx)(`span`,{children:`Route Tables`}),e[109]=Be,e[110]=Ve):(Be=e[109],Ve=e[110]);let He;e[111]===ze?He=e[112]:(He=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-route-tables`,children:(0,H.jsxs)(K,{isActive:ze,tooltip:`Route Tables`,children:[Be,Ve]})})}),e[111]=ze,e[112]=He);let Ue;e[113]===n?Ue=e[114]:(Ue=n.startsWith(`/ec2/describe-internet-gateways`),e[113]=n,e[114]=Ue);let We,Ge;e[115]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,H.jsx)($e,{className:`size-4`}),Ge=(0,H.jsx)(`span`,{children:`Internet Gateways`}),e[115]=We,e[116]=Ge):(We=e[115],Ge=e[116]);let Ke;e[117]===Ue?Ke=e[118]:(Ke=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-internet-gateways`,children:(0,H.jsxs)(K,{isActive:Ue,tooltip:`Internet Gateways`,children:[We,Ge]})})}),e[117]=Ue,e[118]=Ke);let qe;e[119]===n?qe=e[120]:(qe=n.startsWith(`/ec2/describe-nat-gateways`)||n.startsWith(`/ec2/create-nat-gateway`),e[119]=n,e[120]=qe);let F,Je;e[121]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,H.jsx)(et,{className:`size-4`}),Je=(0,H.jsx)(`span`,{children:`NAT Gateways`}),e[121]=F,e[122]=Je):(F=e[121],Je=e[122]);let Xe;e[123]===qe?Xe=e[124]:(Xe=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ec2/describe-nat-gateways`,children:(0,H.jsxs)(K,{isActive:qe,tooltip:`NAT Gateways`,children:[F,Je]})})}),e[123]=qe,e[124]=Xe);let I;e[125]!==ke||e[126]!==Ne||e[127]!==Re||e[128]!==He||e[129]!==Ke||e[130]!==Xe?(I=(0,H.jsxs)(Pc,{children:[De,(0,H.jsxs)(Ic,{children:[ke,Ne,Re,He,Ke,Xe]})]}),e[125]=ke,e[126]=Ne,e[127]=Re,e[128]=He,e[129]=Ke,e[130]=Xe,e[131]=I):I=e[131];let L;e[132]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,H.jsx)(Fc,{children:`Containers`}),e[132]=L):L=e[132];let st;e[133]===n?st=e[134]:(st=n.startsWith(`/eks/list-clusters`)||n.startsWith(`/eks/create-cluster`),e[133]=n,e[134]=st);let lt,ut;e[135]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,H.jsx)(Ao,{className:`size-4`}),ut=(0,H.jsx)(`span`,{children:`EKS`}),e[135]=lt,e[136]=ut):(lt=e[135],ut=e[136]);let dt;e[137]===st?dt=e[138]:(dt=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/eks/list-clusters`,children:(0,H.jsxs)(K,{isActive:st,tooltip:`EKS clusters`,children:[lt,ut]})})}),e[137]=st,e[138]=dt);let ft;e[139]===n?ft=e[140]:(ft=n.startsWith(`/ecr/list-repositories`),e[139]=n,e[140]=ft);let pt,mt;e[141]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,H.jsx)(Uo,{className:`size-4`}),mt=(0,H.jsx)(`span`,{children:`ECR`}),e[141]=pt,e[142]=mt):(pt=e[141],mt=e[142]);let ht;e[143]===ft?ht=e[144]:(ht=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ecr/list-repositories`,children:(0,H.jsxs)(K,{isActive:ft,tooltip:`ECR repositories`,children:[pt,mt]})})}),e[143]=ft,e[144]=ht);let gt;e[145]===n?gt=e[146]:(gt=n.startsWith(`/ecs/`),e[145]=n,e[146]=gt);let _t,vt;e[147]===Symbol.for(`react.memo_cache_sentinel`)?(_t=(0,H.jsx)(Mo,{className:`size-4`}),vt=(0,H.jsx)(`span`,{children:`ECS`}),e[147]=_t,e[148]=vt):(_t=e[147],vt=e[148]);let R;e[149]===gt?R=e[150]:(R=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/ecs/list-clusters`,children:(0,H.jsxs)(K,{isActive:gt,tooltip:`ECS clusters`,children:[_t,vt]})})}),e[149]=gt,e[150]=R);let yt;e[151]!==dt||e[152]!==ht||e[153]!==R?(yt=(0,H.jsxs)(Pc,{children:[L,(0,H.jsxs)(Ic,{children:[dt,ht,R]})]}),e[151]=dt,e[152]=ht,e[153]=R,e[154]=yt):yt=e[154];let bt;e[155]===Symbol.for(`react.memo_cache_sentinel`)?(bt=(0,H.jsx)(Fc,{children:`RDS`}),e[155]=bt):bt=e[155];let xt;e[156]===n?xt=e[157]:(xt=n.startsWith(`/rds/describe-db-instances`)||n.startsWith(`/rds/create-db-instance`),e[156]=n,e[157]=xt);let St,Ct;e[158]===Symbol.for(`react.memo_cache_sentinel`)?(St=(0,H.jsx)(Po,{className:`size-4`}),Ct=(0,H.jsx)(`span`,{children:`Databases`}),e[158]=St,e[159]=Ct):(St=e[158],Ct=e[159]);let wt;e[160]===xt?wt=e[161]:(wt=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/rds/describe-db-instances`,children:(0,H.jsxs)(K,{isActive:xt,tooltip:`Databases`,children:[St,Ct]})})}),e[160]=xt,e[161]=wt);let Tt;e[162]===n?Tt=e[163]:(Tt=n.startsWith(`/rds/describe-db-snapshots`)||n.startsWith(`/rds/restore-db-instance-from-db-snapshot`),e[162]=n,e[163]=Tt);let Et,Dt;e[164]===Symbol.for(`react.memo_cache_sentinel`)?(Et=(0,H.jsx)(Ze,{className:`size-4`}),Dt=(0,H.jsx)(`span`,{children:`Snapshots`}),e[164]=Et,e[165]=Dt):(Et=e[164],Dt=e[165]);let Ot;e[166]===Tt?Ot=e[167]:(Ot=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/rds/describe-db-snapshots`,children:(0,H.jsxs)(K,{isActive:Tt,tooltip:`DB Snapshots`,children:[Et,Dt]})})}),e[166]=Tt,e[167]=Ot);let z;e[168]===n?z=e[169]:(z=n.startsWith(`/rds/describe-db-subnet-groups`)||n.startsWith(`/rds/create-db-subnet-group`),e[168]=n,e[169]=z);let kt,At;e[170]===Symbol.for(`react.memo_cache_sentinel`)?(kt=(0,H.jsx)(zo,{className:`size-4`}),At=(0,H.jsx)(`span`,{children:`Subnet Groups`}),e[170]=kt,e[171]=At):(kt=e[170],At=e[171]);let jt;e[172]===z?jt=e[173]:(jt=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/rds/describe-db-subnet-groups`,children:(0,H.jsxs)(K,{isActive:z,tooltip:`DB Subnet Groups`,children:[kt,At]})})}),e[172]=z,e[173]=jt);let Mt;e[174]===n?Mt=e[175]:(Mt=n.startsWith(`/rds/describe-db-parameter-groups`)||n.startsWith(`/rds/create-db-parameter-group`),e[174]=n,e[175]=Mt);let Nt,Pt;e[176]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,H.jsx)(ct,{className:`size-4`}),Pt=(0,H.jsx)(`span`,{children:`Parameter Groups`}),e[176]=Nt,e[177]=Pt):(Nt=e[176],Pt=e[177]);let Ft;e[178]===Mt?Ft=e[179]:(Ft=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/rds/describe-db-parameter-groups`,children:(0,H.jsxs)(K,{isActive:Mt,tooltip:`DB Parameter Groups`,children:[Nt,Pt]})})}),e[178]=Mt,e[179]=Ft);let It;e[180]!==Ot||e[181]!==jt||e[182]!==Ft||e[183]!==wt?(It=(0,H.jsxs)(Pc,{children:[bt,(0,H.jsxs)(Ic,{children:[wt,Ot,jt,Ft]})]}),e[180]=Ot,e[181]=jt,e[182]=Ft,e[183]=wt,e[184]=It):It=e[184];let Lt;e[185]===Symbol.for(`react.memo_cache_sentinel`)?(Lt=(0,H.jsx)(Fc,{children:`IAM`}),e[185]=Lt):Lt=e[185];let Rt;e[186]===n?Rt=e[187]:(Rt=n.startsWith(`/iam/list-users`)||n.startsWith(`/iam/create-user`),e[186]=n,e[187]=Rt);let zt,Bt;e[188]===Symbol.for(`react.memo_cache_sentinel`)?(zt=(0,H.jsx)(Xo,{className:`size-4`}),Bt=(0,H.jsx)(`span`,{children:`Users`}),e[188]=zt,e[189]=Bt):(zt=e[188],Bt=e[189]);let Vt;e[190]===Rt?Vt=e[191]:(Vt=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/iam/list-users`,children:(0,H.jsxs)(K,{isActive:Rt,tooltip:`Users`,children:[zt,Bt]})})}),e[190]=Rt,e[191]=Vt);let Ht;e[192]===n?Ht=e[193]:(Ht=n.startsWith(`/iam/list-groups`)||n.startsWith(`/iam/create-group`),e[192]=n,e[193]=Ht);let Ut,Wt;e[194]===Symbol.for(`react.memo_cache_sentinel`)?(Ut=(0,H.jsx)(Yo,{className:`size-4`}),Wt=(0,H.jsx)(`span`,{children:`Groups`}),e[194]=Ut,e[195]=Wt):(Ut=e[194],Wt=e[195]);let Gt;e[196]===Ht?Gt=e[197]:(Gt=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/iam/list-groups`,children:(0,H.jsxs)(K,{isActive:Ht,tooltip:`Groups`,children:[Ut,Wt]})})}),e[196]=Ht,e[197]=Gt);let Kt;e[198]===n?Kt=e[199]:(Kt=n.startsWith(`/iam/list-policies`)||n.startsWith(`/iam/create-policy`),e[198]=n,e[199]=Kt);let qt,Jt;e[200]===Symbol.for(`react.memo_cache_sentinel`)?(qt=(0,H.jsx)(tt,{className:`size-4`}),Jt=(0,H.jsx)(`span`,{children:`Policies`}),e[200]=qt,e[201]=Jt):(qt=e[200],Jt=e[201]);let Yt;e[202]===Kt?Yt=e[203]:(Yt=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/iam/list-policies`,children:(0,H.jsxs)(K,{isActive:Kt,tooltip:`Policies`,children:[qt,Jt]})})}),e[202]=Kt,e[203]=Yt);let Xt;e[204]===n?Xt=e[205]:(Xt=n.startsWith(`/iam/list-roles`)||n.startsWith(`/iam/create-role`),e[204]=n,e[205]=Xt);let Zt,Qt;e[206]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=(0,H.jsx)(Jo,{className:`size-4`}),Qt=(0,H.jsx)(`span`,{children:`Roles`}),e[206]=Zt,e[207]=Qt):(Zt=e[206],Qt=e[207]);let $t;e[208]===Xt?$t=e[209]:($t=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/iam/list-roles`,children:(0,H.jsxs)(K,{isActive:Xt,tooltip:`Roles`,children:[Zt,Qt]})})}),e[208]=Xt,e[209]=$t);let en;e[210]===n?en=e[211]:(en=n.startsWith(`/iam/list-instance-profiles`)||n.startsWith(`/iam/create-instance-profile`),e[210]=n,e[211]=en);let tn,nn;e[212]===Symbol.for(`react.memo_cache_sentinel`)?(tn=(0,H.jsx)(Lo,{className:`size-4`}),nn=(0,H.jsx)(`span`,{children:`Instance Profiles`}),e[212]=tn,e[213]=nn):(tn=e[212],nn=e[213]);let rn;e[214]===en?rn=e[215]:(rn=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/iam/list-instance-profiles`,children:(0,H.jsxs)(K,{isActive:en,tooltip:`Instance Profiles`,children:[tn,nn]})})}),e[214]=en,e[215]=rn);let an;e[216]!==Vt||e[217]!==Gt||e[218]!==Yt||e[219]!==$t||e[220]!==rn?(an=(0,H.jsxs)(Pc,{children:[Lt,(0,H.jsxs)(Ic,{children:[Vt,Gt,Yt,$t,rn]})]}),e[216]=Vt,e[217]=Gt,e[218]=Yt,e[219]=$t,e[220]=rn,e[221]=an):an=e[221];let on;e[222]===Symbol.for(`react.memo_cache_sentinel`)?(on=(0,H.jsx)(Fc,{children:`S3`}),e[222]=on):on=e[222];let sn;e[223]===n?sn=e[224]:(sn=n.startsWith(`/s3/ls`),e[223]=n,e[224]=sn);let cn,ln;e[225]===Symbol.for(`react.memo_cache_sentinel`)?(cn=(0,H.jsx)(rt,{className:`size-4`}),ln=(0,H.jsx)(`span`,{children:`Buckets`}),e[225]=cn,e[226]=ln):(cn=e[225],ln=e[226]);let un;e[227]===sn?un=e[228]:(un=(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/s3/ls`,children:(0,H.jsxs)(K,{isActive:sn,tooltip:`Buckets`,children:[cn,ln]})})}),e[227]=sn,e[228]=un);let dn;e[229]!==a||e[230]!==n?(dn=a&&(0,H.jsx)(G,{children:(0,H.jsx)(M,{to:`/s3/service-metrics`,children:(0,H.jsxs)(K,{isActive:n.startsWith(`/s3/service-metrics`),tooltip:`Service Metrics`,children:[(0,H.jsx)(Oo,{className:`size-4`}),(0,H.jsx)(`span`,{children:`Service Metrics`})]})})}),e[229]=a,e[230]=n,e[231]=dn):dn=e[231];let fn;e[232]!==un||e[233]!==dn?(fn=(0,H.jsxs)(Pc,{children:[on,(0,H.jsxs)(Ic,{children:[un,dn]})]}),e[232]=un,e[233]=dn,e[234]=fn):fn=e[234];let pn;e[235]===a?pn=e[236]:(pn=a&&(0,H.jsxs)(Pc,{children:[(0,H.jsx)(Fc,{children:`Documentation`}),(0,H.jsx)(Ic,{children:(0,H.jsx)(G,{children:(0,H.jsx)(`a`,{href:`https://docs.mulgadc.com`,target:`_blank`,rel:`noopener noreferrer`,children:(0,H.jsxs)(K,{tooltip:`Documentation`,children:[(0,H.jsx)(ko,{className:`size-4`}),(0,H.jsx)(`span`,{children:`Docs`})]})})})})]}),e[235]=a,e[236]=pn);let mn;e[237]!==It||e[238]!==an||e[239]!==fn||e[240]!==pn||e[241]!==Ee||e[242]!==I||e[243]!==g||e[244]!==yt?(mn=(0,H.jsxs)(Nc,{children:[g,Ee,I,yt,It,an,fn,pn]}),e[237]=It,e[238]=an,e[239]=fn,e[240]=pn,e[241]=Ee,e[242]=I,e[243]=g,e[244]=yt,e[245]=mn):mn=e[245];let hn;e[246]===Symbol.for(`react.memo_cache_sentinel`)?(hn=(0,H.jsx)(Mc,{className:`mx-0 w-full`}),e[246]=hn):hn=e[246];let gn,_n;e[247]===Symbol.for(`react.memo_cache_sentinel`)?(gn=(0,H.jsx)(Bo,{className:`size-4`}),_n=(0,H.jsx)(`span`,{children:`Sign out`}),e[247]=gn,e[248]=_n):(gn=e[247],_n=e[248]);let vn;e[249]===s?vn=e[250]:(vn=(0,H.jsxs)(jc,{children:[hn,(0,H.jsx)(Ic,{children:(0,H.jsx)(G,{children:(0,H.jsxs)(K,{onClick:s,tooltip:`Sign out`,children:[gn,_n]})})})]}),e[249]=s,e[250]=vn);let yn;e[251]===Symbol.for(`react.memo_cache_sentinel`)?(yn=(0,H.jsx)(kc,{}),e[251]=yn):yn=e[251];let bn;return e[252]!==mn||e[253]!==vn?(bn=(0,H.jsxs)(Dc,{collapsible:`icon`,children:[c,mn,vn,yn]}),e[252]=mn,e[253]=vn,e[254]=bn):bn=e[254],bn}function qc(e){return e.pathname}function Jc(e){let t=(0,W.c)(18),{error:n,reset:r}=e,i=Ae(),a=h(),o;t[0]!==a||t[1]!==r||t[2]!==i?(o=function(){a.invalidateQueries(),r(),i.invalidate()},t[0]=a,t[1]=r,t[2]=i,t[3]=o):o=t[3];let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,H.jsx)(Kc,{}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,H.jsx)(Wc,{}),t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,H.jsx)(`div`,{className:`flex justify-center`,children:(0,H.jsx)(jo,{className:`size-12 text-destructive`})}),d=(0,H.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Something went wrong`}),t[6]=u,t[7]=d):(u=t[6],d=t[7]);let f=n.message||`An unexpected error occurred`,p;t[8]===f?p=t[9]:(p=(0,H.jsx)(`p`,{className:`text-muted-foreground`,children:f}),t[8]=f,t[9]=p);let m;t[10]===s?m=t[11]:(m=(0,H.jsx)(_t,{onClick:s,variant:`default`,children:`Try Again`}),t[10]=s,t[11]=m);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,H.jsx)(M,{to:`/`,children:(0,H.jsx)(_t,{variant:`outline`,children:`Go Home`})}),t[12]=g):g=t[12];let _;t[13]===m?_=t[14]:(_=(0,H.jsxs)(`div`,{className:`flex justify-center gap-2`,children:[m,g]}),t[13]=m,t[14]=_);let v;return t[15]!==_||t[16]!==p?(v=(0,H.jsxs)(H.Fragment,{children:[c,(0,H.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[l,(0,H.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 pt-0`,children:(0,H.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[u,d,p,_]})})]})]}),t[15]=_,t[16]=p,t[17]=v):v=t[17],v}var Yc=Oe()({head:()=>({meta:[{title:`Mulga`}]}),component:()=>(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(yo,{}),(0,H.jsx)(Kc,{}),(0,H.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[(0,H.jsx)(Wc,{}),(0,H.jsx)(`div`,{className:`flex flex-1 flex-col p-8`,children:(0,H.jsx)(ye,{})})]})]}),errorComponent:Jc,notFoundComponent:Gc}),Xc=N(`/_auth`)({beforeLoad:()=>{if(!Je())throw Te({to:`/login`})},component:P(()=>I(()=>import(`./route.js`),__vite__mapDeps([0,1,2,3,4])),`component`)}),Zc=N(`/_auth/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(Fn),e.queryClient.ensureQueryData(En),e.queryClient.ensureQueryData(On),e.queryClient.ensureQueryData(Rn),e.queryClient.ensureQueryData(ar),e.queryClient.ensureQueryData(Bn),e.queryClient.ensureQueryData(jn),e.queryClient.ensureQueryData(In),e.queryClient.ensureQueryData(Nn)])},head:()=>({meta:[{title:`Dashboard | Mulga`}]}),component:P(()=>I(()=>import(`./_auth.js`),__vite__mapDeps([5,1,6,7,8,9,10,4,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),`component`)}),Qc=N(`/_auth/nodes`)({head:()=>({meta:[{title:`Nodes | Mulga`}]}),component:P(()=>I(()=>import(`./nodes.js`),__vite__mapDeps([32,1,6,7,8,9,10,4,33,11,12,14,13,15,17,18,19,25,27,21,28,29,30,31])),`component`)}),$c=N(`/_auth/s3/service-metrics`)({head:()=>({meta:[{title:`Service Metrics | S3 | Mulga`}]}),component:P(()=>I(()=>import(`./service-metrics.js`),__vite__mapDeps([34,1,6,7,8,9,33,17,11,12,18,19,25,27,21,28,29,30,31])),`component`)}),el=N(`/_auth/ec2/(elastic-ips)/allocate-address`)({head:()=>({meta:[{title:`Allocate Elastic IP | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./allocate-address.js`),__vite__mapDeps([35,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56])),`component`)}),tl=N(`/_auth/ec2/(internet-gateways)/create-internet-gateway`)({head:()=>({meta:[{title:`Create Internet Gateway | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-internet-gateway.js`),__vite__mapDeps([57,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56])),`component`)}),nl=N(`/_auth/ec2/(key)/create-key-pair`)({head:()=>({meta:[{title:`Create Key Pair | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-key-pair.js`),__vite__mapDeps([58,1,36,4,37,10,13,39,59,60,29,11,12,41,14,44,45,61,62,63,46,64,65,38,40,42,66,43,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56,67,68])),`component`)}),rl=N(`/_auth/ec2/(key)/import-key-pair`)({head:()=>({meta:[{title:`Import Key Pair | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./import-key-pair.js`),__vite__mapDeps([69,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56,70])),`component`)}),il=N(`/_auth/ec2/(launch-templates)/create-launch-template`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(Ln),e.queryClient.ensureQueryData(Mn),e.queryClient.ensureQueryData(Rn),e.queryClient.ensureQueryData(kn),e.queryClient.ensureQueryData(Bn)])},head:()=>({meta:[{title:`Create Launch Template | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-launch-template.js`),__vite__mapDeps([71,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56,72,73,7,9,59,60,61,62,63,64,70,74])),`component`)}),al=N(`/_auth/ec2/(load-balancers)/create-load-balancer`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(On),e.queryClient.ensureQueryData(kn),e.queryClient.ensureQueryData(Bn),e.queryClient.ensureQueryData(Jn),e.queryClient.ensureQueryData(Tn),e.queryClient.ensureQueryData(qn)])},head:()=>({meta:[{title:`Create Load Balancer | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-load-balancer.js`),__vite__mapDeps([75,1,73,7,8,9,36,4,11,12,37,10,13,59,60,29,41,39,14,44,45,61,62,63,46,64,38,40,42,43,76,21,22,23,77,48,49,52,54,55,67,68,70,20,78,79,80,51,53,25,81,82,83,84,74,85])),`component`)}),ol=N(`/_auth/ec2/(nat-gateways)/create-nat-gateway`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(kn),e.queryClient.ensureQueryData(In)])},head:()=>({meta:[{title:`Create NAT Gateway | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-nat-gateway.js`),__vite__mapDeps([86,1,73,7,8,9,10,4,36,11,12,37,13,59,60,29,41,39,14,44,45,61,62,63,46,64,38,40,42,43,20,21,22,23,47,48,49,50,51,52,53,25,54,55,56])),`component`)}),sl=N(`/_auth/ec2/(placement-groups)/create-placement-group`)({head:()=>({meta:[{title:`Create Placement Group | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-placement-group.js`),__vite__mapDeps([87,1,36,4,37,10,13,59,60,29,11,12,41,39,14,44,45,61,62,63,46,64,38,40,42,43,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56])),`component`)}),cl=N(`/_auth/ec2/(route-tables)/create-route-table`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(On)},head:()=>({meta:[{title:`Create Route Table | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-route-table.js`),__vite__mapDeps([88,1,73,7,8,9,36,4,11,12,37,10,13,59,60,29,41,39,14,44,45,61,62,63,46,64,43,20,21,22,23,47,48,49,50,51,52,53,25,54,55,56])),`component`)}),ll=N(`/_auth/ec2/(security-groups)/create-security-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(On)},head:()=>({meta:[{title:`Create Security Group | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-security-group.js`),__vite__mapDeps([89,1,73,7,8,9,36,4,11,12,37,10,13,59,60,29,41,39,14,44,45,61,62,63,46,64,38,40,42,43,20,21,22,23,47,48,49,50,51,52,53,25,54,55,56])),`component`)}),ul=N(`/_auth/ec2/(subnet)/create-subnet`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(On),e.queryClient.ensureQueryData(zn)])},head:()=>({meta:[{title:`Create Subnet | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-subnet.js`),__vite__mapDeps([90,1,73,7,8,9,36,4,11,12,37,10,13,59,60,29,41,39,14,44,45,61,62,63,46,64,38,40,42,43,20,21,22,23,47,48,49,50,51,52,53,25,54,55,56])),`component`)}),dl=N(`/_auth/ec2/(target-groups)/create-target-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(On)},head:()=>({meta:[{title:`Create Target Group | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-target-group.js`),__vite__mapDeps([91,1,73,7,8,9,36,4,37,10,13,38,11,12,39,14,40,41,29,42,20,21,22,23,78,48,49,79,51,52,53,25,84,59,60,44,45,61,62,63,46,64,43,54,55,74,81,82,83,85])),`component`)}),fl=N(`/_auth/ec2/(volumes)/create-volume`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(zn)},head:()=>({meta:[{title:`Create Volume | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-volume.js`),__vite__mapDeps([92,1,73,7,8,9,36,4,37,10,13,59,60,29,11,12,41,39,14,44,45,61,62,63,46,64,38,40,42,43,20,21,22,23,47,48,49,50,51,52,53,25,54,55,56])),`component`)}),pl=N(`/_auth/ec2/(vpc)/create-vpc`)({head:()=>({meta:[{title:`Create VPC | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./create-vpc.js`),__vite__mapDeps([93,1,36,4,37,10,13,14,15,59,60,29,11,12,41,39,44,45,61,62,63,46,64,38,40,42,43,47,8,48,49,22,23,20,21,50,51,52,53,25,54,55,56])),`component`)}),ml=N(`/_auth/ecs/(clusters)/task-definitions`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Wn)},head:()=>({meta:[{title:`Task Definitions | ECS | Mulga`}]}),component:P(()=>I(()=>import(`./task-definitions.js`),__vite__mapDeps([94,1,73,7,8,9,10,4,41,29,11,12,95,21,22,23,96,48,49,19,52,25,97,67,68,60,44,61,98])),`component`)}),hl=N(`/_auth/eks/(clusters)/create-cluster`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(On),e.queryClient.ensureQueryData(kn),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(Ln)])},head:()=>({meta:[{title:`Create Cluster | EKS | Mulga`}]}),component:P(()=>I(()=>import(`./create-cluster.js`),__vite__mapDeps([99,1,8,73,7,9,36,4,11,12,37,10,13,59,60,29,41,39,14,44,45,61,62,63,46,64,43,20,21,22,23,100,48,49,101,102,50,103,104,105,51,52,53,25,54,55,67,68,106,107,40,108,66,42,109])),`component`)}),gl=N(`/_auth/iam/(groups)/create-group`)({head:()=>({meta:[{title:`Create Group | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./create-group.js`),__vite__mapDeps([110,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,103,8,48,49,22,23,104,51,52,53,25,54,55,111,102])),`component`)}),_l=N(`/_auth/iam/(instance-profiles)/create-instance-profile`)({head:()=>({meta:[{title:`Create Instance Profile | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./create-instance-profile.js`),__vite__mapDeps([112,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,103,8,48,49,22,23,104,51,52,53,25,54,55,111,102])),`component`)}),vl=N(`/_auth/iam/(policies)/create-policy`)({head:()=>({meta:[{title:`Create Policy | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./create-policy.js`),__vite__mapDeps([113,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,103,8,48,49,22,23,104,51,52,53,25,54,55,114,102,70,111])),`component`)}),yl=N(`/_auth/iam/(roles)/create-role`)({head:()=>({meta:[{title:`Create Role | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./create-role.js`),__vite__mapDeps([115,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,103,8,48,49,22,23,104,51,52,53,25,54,55,114,102,70,111])),`component`)}),bl=N(`/_auth/iam/(users)/create-user`)({head:()=>({meta:[{title:`Create User | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./create-user.js`),__vite__mapDeps([116,1,36,4,37,10,13,38,11,12,39,14,40,41,29,42,43,44,45,46,103,8,48,49,22,23,104,51,52,53,25,54,55,111,102])),`component`)}),xl=N(`/_auth/rds/(db-instances)/create-db-instance`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(rr),e.queryClient.ensureQueryData(nr),e.queryClient.ensureQueryData(tr),e.queryClient.ensureQueryData(Bn),e.queryClient.ensureQueryData(On),e.queryClient.ensureQueryData(Ln)])},head:()=>({meta:[{title:`Create Database | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./create-db-instance.js`),__vite__mapDeps([117,1,8,6,7,9,73,36,4,37,10,13,59,60,29,11,12,41,39,14,44,45,61,62,63,46,64,38,40,42,43,20,21,22,23,118,119,48,49,120,51,52,53,25,54,55,106,81,82,83,107,108,66,121,122])),`component`)}),Sl=N(`/_auth/rds/(parameter-groups)/create-db-parameter-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(rr)},head:()=>({meta:[{title:`Create Parameter Group | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./create-db-parameter-group.js`),__vite__mapDeps([123,1,73,7,8,9,36,4,37,10,13,59,60,29,11,12,41,39,14,44,45,61,62,63,46,64,38,40,42,43,118,22,23,119,48,49,120,21,51,52,53,25,54,55,81,82,83])),`component`)}),Cl=N(`/_auth/rds/(subnet-groups)/create-db-subnet-group`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(kn),e.queryClient.ensureQueryData(On)])},head:()=>({meta:[{title:`Create Subnet Group | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./create-db-subnet-group.js`),__vite__mapDeps([124,1,73,7,8,9,36,4,11,12,37,10,13,38,39,14,40,41,29,42,43,44,45,46,20,21,22,23,118,119,48,49,51,52,53,25,54,55,81,82,83])),`component`)}),wl=N(`/_auth/s3/(buckets)/create-bucket`)({head:()=>({meta:[{title:`Create Bucket | S3 | Mulga`}]}),component:P(()=>I(()=>import(`./create-bucket.js`),__vite__mapDeps([125,1,36,4,11,12,37,10,13,38,39,14,40,41,29,42,43,44,45,46,126,8,48,49,22,23,51,52,53,25,54,55])),`component`)}),Tl=N(`/_auth/s3/ls/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ar)},head:()=>({meta:[{title:`Buckets | S3 | Mulga`}]}),component:P(()=>I(()=>import(`./ls.js`),__vite__mapDeps([127,1,73,7,8,9,10,4,11,12,41,29,24,21,22,23,25,128])),`component`)}),El=N(`/_auth/s3/ls/$bucket`)({component:P(()=>I(()=>import(`./route2.js`),__vite__mapDeps([129,1,2,3,4])),`component`)}),Dl=N(`/_auth/ec2/(elastic-ips)/describe-addresses/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(In)},head:()=>({meta:[{title:`Elastic IPs | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-addresses.js`),__vite__mapDeps([130,1,73,7,8,9,10,4,11,12,41,29,20,21,22,23,25,128])),`component`)}),Ol=N(`/_auth/ec2/(images)/describe-images/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Ln)},head:()=>({meta:[{title:`Images | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-images.js`),__vite__mapDeps([131,1,73,7,8,9,20,21,11,12,22,23,25,128,10,4,26,106])),`component`)}),kl=N(`/_auth/ec2/(instances)/describe-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Fn)},head:()=>({meta:[{title:`Instances | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-instances.js`),__vite__mapDeps([132,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128,26])),`component`)}),Al=N(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Nn)},head:()=>({meta:[{title:`Internet Gateways | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-internet-gateways.js`),__vite__mapDeps([133,1,73,7,8,9,10,4,11,12,41,29,20,21,22,23,25,128])),`component`)}),jl=N(`/_auth/ec2/(key)/describe-key-pairs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Rn)},head:()=>({meta:[{title:`Key Pairs | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-key-pairs.js`),__vite__mapDeps([134,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128])),`component`)}),Ml=N(`/_auth/ec2/(launch-templates)/describe-launch-templates/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Pn)},head:()=>({meta:[{title:`Launch Templates | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-launch-templates.js`),__vite__mapDeps([135,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128,28,30])),`component`)}),Nl=N(`/_auth/ec2/(load-balancers)/describe-load-balancers/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Kn)},head:()=>({meta:[{title:`Load Balancers | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-load-balancers.js`),__vite__mapDeps([136,1,73,7,8,9,10,4,36,11,12,41,29,80,21,22,23,79,25,26])),`component`)}),Pl=N(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(jn)},head:()=>({meta:[{title:`NAT Gateways | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-nat-gateways.js`),__vite__mapDeps([137,1,73,7,8,9,10,4,11,12,41,29,20,21,22,23,25,128,26])),`component`)}),Fl=N(`/_auth/ec2/(placement-groups)/describe-placement-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Vn)},head:()=>({meta:[{title:`Placement Groups | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-placement-groups.js`),__vite__mapDeps([138,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128,26])),`component`)}),Il=N(`/_auth/ec2/(route-tables)/describe-route-tables/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(An)},head:()=>({meta:[{title:`Route Tables | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-route-tables.js`),__vite__mapDeps([139,1,73,7,8,9,10,4,11,12,41,29,20,21,22,23,25,128,28,30])),`component`)}),Ll=N(`/_auth/ec2/(security-groups)/describe-security-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Bn)},head:()=>({meta:[{title:`Security Groups | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-security-groups.js`),__vite__mapDeps([140,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128])),`component`)}),q=N(`/_auth/ec2/(snapshots)/describe-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Dn)},head:()=>({meta:[{title:`Snapshots | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-snapshots.js`),__vite__mapDeps([141,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128,26])),`component`)}),Rl=N(`/_auth/ec2/(subnet)/describe-subnets/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(kn)},head:()=>({meta:[{title:`Subnets | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-subnets.js`),__vite__mapDeps([142,1,73,7,8,9,10,4,11,12,41,29,20,21,22,23,25,128,26])),`component`)}),J=N(`/_auth/ec2/(target-groups)/describe-target-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Jn)},head:()=>({meta:[{title:`Target Groups | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-target-groups.js`),__vite__mapDeps([143,1,6,7,8,9,73,10,4,36,41,29,11,12,80,21,22,23,79,25])),`component`)}),Y=N(`/_auth/ec2/(volumes)/describe-volumes/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(En)},head:()=>({meta:[{title:`Volumes | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-volumes.js`),__vite__mapDeps([144,1,73,7,8,9,10,4,41,29,11,12,20,21,22,23,25,128,26])),`component`)}),X=N(`/_auth/ec2/(vpc)/describe-vpcs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(On)},head:()=>({meta:[{title:`VPCs | EC2 | Mulga`}]}),component:P(()=>I(()=>import(`./describe-vpcs.js`),__vite__mapDeps([145,1,73,7,8,9,10,4,11,12,41,29,20,21,22,23,25,128,26])),`component`)}),zl=N(`/_auth/ecr/(repositories)/list-repositories/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Hn)},head:()=>({meta:[{title:`Repositories | ECR | Mulga`}]}),component:P(()=>I(()=>import(`./list-repositories.js`),__vite__mapDeps([146,1,73,7,8,9,10,4,36,11,12,41,29,43,44,45,46,147,21,22,23,148,48,49,25,54,55,67,68,60,61])),`component`)}),Bl=N(`/_auth/ecs/(clusters)/list-clusters/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(Un),e.queryClient.ensureQueryData(Ln)])},head:()=>({meta:[{title:`Clusters | ECS | Mulga`}]}),component:P(()=>I(()=>import(`./list-clusters.js`),__vite__mapDeps([149,1,8,73,7,9,10,4,36,41,29,11,12,43,44,45,46,20,21,22,23,95,96,48,49,19,52,25,54,55,67,68,60,61,97,26,106,107,39,13,40,108,66,42,98])),`component`)}),Vl=N(`/_auth/eks/(clusters)/list-clusters/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Gn)},head:()=>({meta:[{title:`Clusters | EKS | Mulga`}]}),component:P(()=>I(()=>import(`./list-clusters2.js`),__vite__mapDeps([150,1,73,7,8,9,10,4,41,29,11,12,151,21,22,23,101,25,128])),`component`)}),Hl=N(`/_auth/iam/(groups)/list-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Zn)},head:()=>({meta:[{title:`Groups | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./list-groups.js`),__vite__mapDeps([152,1,73,7,8,9,10,4,41,29,11,12,105,21,22,23,104,102,25,128])),`component`)}),Ul=N(`/_auth/iam/(instance-profiles)/list-instance-profiles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Xn)},head:()=>({meta:[{title:`Instance Profiles | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./list-instance-profiles.js`),__vite__mapDeps([153,1,73,7,8,9,10,4,41,29,11,12,105,21,22,23,104,102,25,128])),`component`)}),Wl=N(`/_auth/iam/(policies)/list-policies/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`Policies | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./list-policies.js`),__vite__mapDeps([154,1,73,7,8,9,10,4,41,29,11,12,105,21,22,23,104,102,25,128])),`component`)}),Gl=N(`/_auth/iam/(roles)/list-roles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Roles | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./list-roles.js`),__vite__mapDeps([155,1,73,7,8,9,10,4,41,29,11,12,105,21,22,23,104,102,25,128])),`component`)}),Kl=N(`/_auth/iam/(users)/list-users/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Yn)},head:()=>({meta:[{title:`Users | IAM | Mulga`}]}),component:P(()=>I(()=>import(`./list-users.js`),__vite__mapDeps([156,1,73,7,8,9,10,4,41,29,11,12,105,21,22,23,104,102,25,128])),`component`)}),ql=N(`/_auth/rds/(db-instances)/describe-db-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ir)},head:()=>({meta:[{title:`Databases | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./describe-db-instances.js`),__vite__mapDeps([157,1,73,7,8,9,10,4,36,41,29,11,12,118,22,23,119,48,49,120,21,52,25,26,158,43,44,45,46,54,55,67,68,60,61])),`component`)}),Jl=N(`/_auth/rds/(parameter-groups)/describe-db-parameter-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(tr)},head:()=>({meta:[{title:`Parameter Groups | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./describe-db-parameter-groups.js`),__vite__mapDeps([159,1,73,7,8,9,10,4,36,41,29,11,12,118,22,23,120,21,25,160,119,48,49,161,97,67,68,60,44,61])),`component`)}),Yl=N(`/_auth/rds/(snapshots)/describe-db-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(er)},head:()=>({meta:[{title:`Snapshots | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./describe-db-snapshots.js`),__vite__mapDeps([162,1,73,7,8,9,10,4,36,11,12,41,29,118,22,23,120,21,25,26,163,6,59,60,13,39,14,44,45,61,62,63,46,64,43,119,48,49,51,54,55,67,68,81,82,83,121,164,161,97])),`component`)}),Xl=N(`/_auth/rds/(subnet-groups)/describe-db-subnet-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(nr)},head:()=>({meta:[{title:`Subnet Groups | RDS | Mulga`}]}),component:P(()=>I(()=>import(`./describe-db-subnet-groups.js`),__vite__mapDeps([165,1,73,7,8,9,10,4,36,41,29,11,12,120,21,22,23,118,25,26,166,119,48,49,161,97,67,68,60,44,61])),`component`)}),Z=Xc.update({id:`/_auth`,getParentRoute:()=>Yc}),Zl=or.update({id:`/login`,path:`/login`,getParentRoute:()=>Yc}),Ql=Zc.update({id:`/`,path:`/`,getParentRoute:()=>Z}),$l=Qc.update({id:`/nodes`,path:`/nodes`,getParentRoute:()=>Z}),eu=$c.update({id:`/s3/service-metrics`,path:`/s3/service-metrics`,getParentRoute:()=>Z}),tu=el.update({id:`/ec2/(elastic-ips)/allocate-address`,path:`/ec2/allocate-address`,getParentRoute:()=>Z}),nu=sr.update({id:`/ec2/(instances)/run-instances`,path:`/ec2/run-instances`,getParentRoute:()=>Z}),ru=tl.update({id:`/ec2/(internet-gateways)/create-internet-gateway`,path:`/ec2/create-internet-gateway`,getParentRoute:()=>Z}),iu=nl.update({id:`/ec2/(key)/create-key-pair`,path:`/ec2/create-key-pair`,getParentRoute:()=>Z}),au=rl.update({id:`/ec2/(key)/import-key-pair`,path:`/ec2/import-key-pair`,getParentRoute:()=>Z}),ou=il.update({id:`/ec2/(launch-templates)/create-launch-template`,path:`/ec2/create-launch-template`,getParentRoute:()=>Z}),su=al.update({id:`/ec2/(load-balancers)/create-load-balancer`,path:`/ec2/create-load-balancer`,getParentRoute:()=>Z}),cu=ol.update({id:`/ec2/(nat-gateways)/create-nat-gateway`,path:`/ec2/create-nat-gateway`,getParentRoute:()=>Z}),lu=sl.update({id:`/ec2/(placement-groups)/create-placement-group`,path:`/ec2/create-placement-group`,getParentRoute:()=>Z}),uu=cl.update({id:`/ec2/(route-tables)/create-route-table`,path:`/ec2/create-route-table`,getParentRoute:()=>Z}),du=ll.update({id:`/ec2/(security-groups)/create-security-group`,path:`/ec2/create-security-group`,getParentRoute:()=>Z}),fu=cr.update({id:`/ec2/(snapshots)/create-snapshot`,path:`/ec2/create-snapshot`,getParentRoute:()=>Z}),pu=ul.update({id:`/ec2/(subnet)/create-subnet`,path:`/ec2/create-subnet`,getParentRoute:()=>Z}),mu=dl.update({id:`/ec2/(target-groups)/create-target-group`,path:`/ec2/create-target-group`,getParentRoute:()=>Z}),hu=fl.update({id:`/ec2/(volumes)/create-volume`,path:`/ec2/create-volume`,getParentRoute:()=>Z}),gu=pl.update({id:`/ec2/(vpc)/create-vpc`,path:`/ec2/create-vpc`,getParentRoute:()=>Z}),_u=lr.update({id:`/ecs/(clusters)/create-service`,path:`/ecs/create-service`,getParentRoute:()=>Z}),vu=ur.update({id:`/ecs/(clusters)/register-task-definition`,path:`/ecs/register-task-definition`,getParentRoute:()=>Z}),yu=dr.update({id:`/ecs/(clusters)/run-task`,path:`/ecs/run-task`,getParentRoute:()=>Z}),bu=ml.update({id:`/ecs/(clusters)/task-definitions`,path:`/ecs/task-definitions`,getParentRoute:()=>Z}),xu=hl.update({id:`/eks/(clusters)/create-cluster`,path:`/eks/create-cluster`,getParentRoute:()=>Z}),Su=gl.update({id:`/iam/(groups)/create-group`,path:`/iam/create-group`,getParentRoute:()=>Z}),Cu=_l.update({id:`/iam/(instance-profiles)/create-instance-profile`,path:`/iam/create-instance-profile`,getParentRoute:()=>Z}),wu=vl.update({id:`/iam/(policies)/create-policy`,path:`/iam/create-policy`,getParentRoute:()=>Z}),Tu=yl.update({id:`/iam/(roles)/create-role`,path:`/iam/create-role`,getParentRoute:()=>Z}),Eu=bl.update({id:`/iam/(users)/create-user`,path:`/iam/create-user`,getParentRoute:()=>Z}),Du=xl.update({id:`/rds/(db-instances)/create-db-instance`,path:`/rds/create-db-instance`,getParentRoute:()=>Z}),Ou=Sl.update({id:`/rds/(parameter-groups)/create-db-parameter-group`,path:`/rds/create-db-parameter-group`,getParentRoute:()=>Z}),ku=Cl.update({id:`/rds/(subnet-groups)/create-db-subnet-group`,path:`/rds/create-db-subnet-group`,getParentRoute:()=>Z}),Au=wl.update({id:`/s3/(buckets)/create-bucket`,path:`/s3/create-bucket`,getParentRoute:()=>Z}),ju=Tl.update({id:`/s3/ls/`,path:`/s3/ls/`,getParentRoute:()=>Z}),Mu=El.update({id:`/s3/ls/$bucket`,path:`/s3/ls/$bucket`,getParentRoute:()=>Z}),Nu=Dl.update({id:`/ec2/(elastic-ips)/describe-addresses/`,path:`/ec2/describe-addresses/`,getParentRoute:()=>Z}),Pu=fr.update({id:`/ec2/(elastic-ips)/describe-addresses/$id`,path:`/ec2/describe-addresses/$id`,getParentRoute:()=>Z}),Fu=Ol.update({id:`/ec2/(images)/describe-images/`,path:`/ec2/describe-images/`,getParentRoute:()=>Z}),Iu=pr.update({id:`/ec2/(images)/describe-images/$id`,path:`/ec2/describe-images/$id`,getParentRoute:()=>Z}),Lu=kl.update({id:`/ec2/(instances)/describe-instances/`,path:`/ec2/describe-instances/`,getParentRoute:()=>Z}),Ru=mr.update({id:`/ec2/(instances)/describe-instances/$id`,path:`/ec2/describe-instances/$id`,getParentRoute:()=>Z}),zu=Al.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/`,path:`/ec2/describe-internet-gateways/`,getParentRoute:()=>Z}),Bu=hr.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/$id`,path:`/ec2/describe-internet-gateways/$id`,getParentRoute:()=>Z}),Vu=jl.update({id:`/ec2/(key)/describe-key-pairs/`,path:`/ec2/describe-key-pairs/`,getParentRoute:()=>Z}),Hu=gr.update({id:`/ec2/(key)/describe-key-pairs/$id`,path:`/ec2/describe-key-pairs/$id`,getParentRoute:()=>Z}),Uu=Ml.update({id:`/ec2/(launch-templates)/describe-launch-templates/`,path:`/ec2/describe-launch-templates/`,getParentRoute:()=>Z}),Q=_r.update({id:`/ec2/(launch-templates)/describe-launch-templates/$id`,path:`/ec2/describe-launch-templates/$id`,getParentRoute:()=>Z}),Wu=Nl.update({id:`/ec2/(load-balancers)/describe-load-balancers/`,path:`/ec2/describe-load-balancers/`,getParentRoute:()=>Z}),Gu=vr.update({id:`/ec2/(load-balancers)/describe-load-balancers/$id`,path:`/ec2/describe-load-balancers/$id`,getParentRoute:()=>Z}),Ku=Pl.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/`,path:`/ec2/describe-nat-gateways/`,getParentRoute:()=>Z}),qu=yr.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/$id`,path:`/ec2/describe-nat-gateways/$id`,getParentRoute:()=>Z}),Ju=Fl.update({id:`/ec2/(placement-groups)/describe-placement-groups/`,path:`/ec2/describe-placement-groups/`,getParentRoute:()=>Z}),Yu=br.update({id:`/ec2/(placement-groups)/describe-placement-groups/$id`,path:`/ec2/describe-placement-groups/$id`,getParentRoute:()=>Z}),Xu=Il.update({id:`/ec2/(route-tables)/describe-route-tables/`,path:`/ec2/describe-route-tables/`,getParentRoute:()=>Z}),Zu=xr.update({id:`/ec2/(route-tables)/describe-route-tables/$id`,path:`/ec2/describe-route-tables/$id`,getParentRoute:()=>Z}),Qu=Ll.update({id:`/ec2/(security-groups)/describe-security-groups/`,path:`/ec2/describe-security-groups/`,getParentRoute:()=>Z}),$u=dt.update({id:`/ec2/(security-groups)/describe-security-groups/$id`,path:`/ec2/describe-security-groups/$id`,getParentRoute:()=>Z}),ed=q.update({id:`/ec2/(snapshots)/describe-snapshots/`,path:`/ec2/describe-snapshots/`,getParentRoute:()=>Z}),td=st.update({id:`/ec2/(snapshots)/describe-snapshots/$id`,path:`/ec2/describe-snapshots/$id`,getParentRoute:()=>Z}),nd=Rl.update({id:`/ec2/(subnet)/describe-subnets/`,path:`/ec2/describe-subnets/`,getParentRoute:()=>Z}),rd=Sr.update({id:`/ec2/(subnet)/describe-subnets/$id`,path:`/ec2/describe-subnets/$id`,getParentRoute:()=>Z}),id=J.update({id:`/ec2/(target-groups)/describe-target-groups/`,path:`/ec2/describe-target-groups/`,getParentRoute:()=>Z}),ad=Cr.update({id:`/ec2/(target-groups)/describe-target-groups/$id`,path:`/ec2/describe-target-groups/$id`,getParentRoute:()=>Z}),od=Y.update({id:`/ec2/(volumes)/describe-volumes/`,path:`/ec2/describe-volumes/`,getParentRoute:()=>Z}),sd=wr.update({id:`/ec2/(volumes)/describe-volumes/$id`,path:`/ec2/describe-volumes/$id`,getParentRoute:()=>Z}),cd=Tr.update({id:`/ec2/(volumes)/modify-volume/$id`,path:`/ec2/modify-volume/$id`,getParentRoute:()=>Z}),ld=X.update({id:`/ec2/(vpc)/describe-vpcs/`,path:`/ec2/describe-vpcs/`,getParentRoute:()=>Z}),ud=Er.update({id:`/ec2/(vpc)/describe-vpcs/$id`,path:`/ec2/describe-vpcs/$id`,getParentRoute:()=>Z}),dd=zl.update({id:`/ecr/(repositories)/list-repositories/`,path:`/ecr/list-repositories/`,getParentRoute:()=>Z}),fd=Dr.update({id:`/ecr/(repositories)/list-repositories/$id`,path:`/ecr/list-repositories/$id`,getParentRoute:()=>Z}),pd=Bl.update({id:`/ecs/(clusters)/list-clusters/`,path:`/ecs/list-clusters/`,getParentRoute:()=>Z}),md=Or.update({id:`/ecs/(clusters)/list-clusters/$clusterName`,path:`/ecs/list-clusters/$clusterName`,getParentRoute:()=>Z}),hd=Vl.update({id:`/eks/(clusters)/list-clusters/`,path:`/eks/list-clusters/`,getParentRoute:()=>Z}),gd=lt.update({id:`/eks/(clusters)/list-clusters/$clusterName`,path:`/eks/list-clusters/$clusterName`,getParentRoute:()=>Z}),_d=Hl.update({id:`/iam/(groups)/list-groups/`,path:`/iam/list-groups/`,getParentRoute:()=>Z}),vd=kr.update({id:`/iam/(groups)/list-groups/$groupName`,path:`/iam/list-groups/$groupName`,getParentRoute:()=>Z}),$=Ul.update({id:`/iam/(instance-profiles)/list-instance-profiles/`,path:`/iam/list-instance-profiles/`,getParentRoute:()=>Z}),yd=Ar.update({id:`/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName`,path:`/iam/list-instance-profiles/$instanceProfileName`,getParentRoute:()=>Z}),bd=Wl.update({id:`/iam/(policies)/list-policies/`,path:`/iam/list-policies/`,getParentRoute:()=>Z}),xd=jr.update({id:`/iam/(policies)/list-policies/$policyArn`,path:`/iam/list-policies/$policyArn`,getParentRoute:()=>Z}),Sd=Gl.update({id:`/iam/(roles)/list-roles/`,path:`/iam/list-roles/`,getParentRoute:()=>Z}),Cd=Mr.update({id:`/iam/(roles)/list-roles/$roleName`,path:`/iam/list-roles/$roleName`,getParentRoute:()=>Z}),wd=Kl.update({id:`/iam/(users)/list-users/`,path:`/iam/list-users/`,getParentRoute:()=>Z}),Td=Nr.update({id:`/iam/(users)/list-users/$userName`,path:`/iam/list-users/$userName`,getParentRoute:()=>Z}),Ed=ql.update({id:`/rds/(db-instances)/describe-db-instances/`,path:`/rds/describe-db-instances/`,getParentRoute:()=>Z}),Dd=Pr.update({id:`/rds/(db-instances)/describe-db-instances/$id`,path:`/rds/describe-db-instances/$id`,getParentRoute:()=>Z}),Od=Jl.update({id:`/rds/(parameter-groups)/describe-db-parameter-groups/`,path:`/rds/describe-db-parameter-groups/`,getParentRoute:()=>Z}),kd=Fr.update({id:`/rds/(parameter-groups)/describe-db-parameter-groups/$name`,path:`/rds/describe-db-parameter-groups/$name`,getParentRoute:()=>Z}),Ad=Yl.update({id:`/rds/(snapshots)/describe-db-snapshots/`,path:`/rds/describe-db-snapshots/`,getParentRoute:()=>Z}),jd=Ir.update({id:`/rds/(snapshots)/describe-db-snapshots/$id`,path:`/rds/describe-db-snapshots/$id`,getParentRoute:()=>Z}),Md=Lr.update({id:`/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id`,path:`/rds/restore-db-instance-from-db-snapshot/$id`,getParentRoute:()=>Z}),Nd=Xl.update({id:`/rds/(subnet-groups)/describe-db-subnet-groups/`,path:`/rds/describe-db-subnet-groups/`,getParentRoute:()=>Z}),Pd=Rr.update({id:`/rds/(subnet-groups)/describe-db-subnet-groups/$name`,path:`/rds/describe-db-subnet-groups/$name`,getParentRoute:()=>Z}),Fd=zr.update({id:`/`,path:`/`,getParentRoute:()=>Mu}),Id=Br.update({id:`/$`,path:`/$`,getParentRoute:()=>Mu}),Ld=Vr.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName`,path:`/ecs/list-clusters/$clusterName/services/$serviceName`,getParentRoute:()=>Z}),Rd=Hr.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId`,path:`/ecs/list-clusters/$clusterName/tasks/$taskId`,getParentRoute:()=>Z}),zd={AuthS3LsBucketSplatRoute:Id,AuthS3LsBucketIndexRoute:Fd},Bd={AuthNodesRoute:$l,AuthIndexRoute:Ql,AuthS3ServiceMetricsRoute:eu,AuthS3LsBucketRouteRoute:Mu._addFileChildren(zd),AuthEc2elasticIpsAllocateAddressRoute:tu,AuthEc2instancesRunInstancesRoute:nu,AuthEc2internetGatewaysCreateInternetGatewayRoute:ru,AuthEc2keyCreateKeyPairRoute:iu,AuthEc2keyImportKeyPairRoute:au,AuthEc2launchTemplatesCreateLaunchTemplateRoute:ou,AuthEc2loadBalancersCreateLoadBalancerRoute:su,AuthEc2natGatewaysCreateNatGatewayRoute:cu,AuthEc2placementGroupsCreatePlacementGroupRoute:lu,AuthEc2routeTablesCreateRouteTableRoute:uu,AuthEc2securityGroupsCreateSecurityGroupRoute:du,AuthEc2snapshotsCreateSnapshotRoute:fu,AuthEc2subnetCreateSubnetRoute:pu,AuthEc2targetGroupsCreateTargetGroupRoute:mu,AuthEc2volumesCreateVolumeRoute:hu,AuthEc2vpcCreateVpcRoute:gu,AuthEcsclustersCreateServiceRoute:_u,AuthEcsclustersRegisterTaskDefinitionRoute:vu,AuthEcsclustersRunTaskRoute:yu,AuthEcsclustersTaskDefinitionsRoute:bu,AuthEksclustersCreateClusterRoute:xu,AuthIamgroupsCreateGroupRoute:Su,AuthIaminstanceProfilesCreateInstanceProfileRoute:Cu,AuthIampoliciesCreatePolicyRoute:wu,AuthIamrolesCreateRoleRoute:Tu,AuthIamusersCreateUserRoute:Eu,AuthRdsdbInstancesCreateDbInstanceRoute:Du,AuthRdsparameterGroupsCreateDbParameterGroupRoute:Ou,AuthRdssubnetGroupsCreateDbSubnetGroupRoute:ku,AuthS3bucketsCreateBucketRoute:Au,AuthS3LsIndexRoute:ju,AuthEc2elasticIpsDescribeAddressesIdRoute:Pu,AuthEc2imagesDescribeImagesIdRoute:Iu,AuthEc2instancesDescribeInstancesIdRoute:Ru,AuthEc2internetGatewaysDescribeInternetGatewaysIdRoute:Bu,AuthEc2keyDescribeKeyPairsIdRoute:Hu,AuthEc2launchTemplatesDescribeLaunchTemplatesIdRoute:Q,AuthEc2loadBalancersDescribeLoadBalancersIdRoute:Gu,AuthEc2natGatewaysDescribeNatGatewaysIdRoute:qu,AuthEc2placementGroupsDescribePlacementGroupsIdRoute:Yu,AuthEc2routeTablesDescribeRouteTablesIdRoute:Zu,AuthEc2securityGroupsDescribeSecurityGroupsIdRoute:$u,AuthEc2snapshotsDescribeSnapshotsIdRoute:td,AuthEc2subnetDescribeSubnetsIdRoute:rd,AuthEc2targetGroupsDescribeTargetGroupsIdRoute:ad,AuthEc2volumesDescribeVolumesIdRoute:sd,AuthEc2volumesModifyVolumeIdRoute:cd,AuthEc2vpcDescribeVpcsIdRoute:ud,AuthEcrrepositoriesListRepositoriesIdRoute:fd,AuthEcsclustersListClustersClusterNameRoute:md,AuthEksclustersListClustersClusterNameRoute:gd,AuthIamgroupsListGroupsGroupNameRoute:vd,AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRoute:yd,AuthIampoliciesListPoliciesPolicyArnRoute:xd,AuthIamrolesListRolesRoleNameRoute:Cd,AuthIamusersListUsersUserNameRoute:Td,AuthRdsdbInstancesDescribeDbInstancesIdRoute:Dd,AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute:kd,AuthRdssnapshotsDescribeDbSnapshotsIdRoute:jd,AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute:Md,AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute:Pd,AuthEc2elasticIpsDescribeAddressesIndexRoute:Nu,AuthEc2imagesDescribeImagesIndexRoute:Fu,AuthEc2instancesDescribeInstancesIndexRoute:Lu,AuthEc2internetGatewaysDescribeInternetGatewaysIndexRoute:zu,AuthEc2keyDescribeKeyPairsIndexRoute:Vu,AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRoute:Uu,AuthEc2loadBalancersDescribeLoadBalancersIndexRoute:Wu,AuthEc2natGatewaysDescribeNatGatewaysIndexRoute:Ku,AuthEc2placementGroupsDescribePlacementGroupsIndexRoute:Ju,AuthEc2routeTablesDescribeRouteTablesIndexRoute:Xu,AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute:Qu,AuthEc2snapshotsDescribeSnapshotsIndexRoute:ed,AuthEc2subnetDescribeSubnetsIndexRoute:nd,AuthEc2targetGroupsDescribeTargetGroupsIndexRoute:id,AuthEc2volumesDescribeVolumesIndexRoute:od,AuthEc2vpcDescribeVpcsIndexRoute:ld,AuthEcrrepositoriesListRepositoriesIndexRoute:dd,AuthEcsclustersListClustersIndexRoute:pd,AuthEksclustersListClustersIndexRoute:hd,AuthIamgroupsListGroupsIndexRoute:_d,AuthIaminstanceProfilesListInstanceProfilesIndexRoute:$,AuthIampoliciesListPoliciesIndexRoute:bd,AuthIamrolesListRolesIndexRoute:Sd,AuthIamusersListUsersIndexRoute:wd,AuthRdsdbInstancesDescribeDbInstancesIndexRoute:Ed,AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute:Od,AuthRdssnapshotsDescribeDbSnapshotsIndexRoute:Ad,AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute:Nd,AuthEcsclustersListClustersClusterNameServicesServiceNameRoute:Ld,AuthEcsclustersListClustersClusterNameTasksTaskIdRoute:Rd},Vd={AuthRouteRoute:Z._addFileChildren(Bd),LoginRoute:Zl},Hd=Yc._addFileChildren(Vd)._addFileTypes(),Ud=Hc(),Wd=U({routeTree:Hd,context:{queryClient:Ud},defaultPreload:`intent`,scrollRestoration:!0,defaultStructuralSharing:!0,defaultPreloadStaleTime:0});async function Gd(e){try{await Xe()}catch(t){e.render((0,H.jsxs)(`div`,{style:{fontFamily:`sans-serif`,margin:`4rem auto`,maxWidth:`40rem`},children:[(0,H.jsx)(`h1`,{children:`Console unavailable`}),(0,H.jsx)(`p`,{children:`This cluster did not report its region, so the console cannot sign requests. Check that the serving node has a region set in its configuration.`}),(0,H.jsx)(`pre`,{children:t instanceof Error?t.message:String(t)})]}));return}e.render((0,H.jsx)(V.StrictMode,{children:(0,H.jsx)(Eo,{defaultTheme:`dark`,storageKey:`spinifex-ui-theme`,children:(0,H.jsx)(_,{client:Ud,children:(0,H.jsx)(wn,{children:(0,H.jsx)(wc,{children:(0,H.jsx)(fo,{router:Wd})})})})})}))}var Kd=document.querySelector(`#app`);Kd&&!Kd.innerHTML&&await Gd(Co.createRoot(Kd)); \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/inline-policies-panel.js b/spinifex/services/spinifexui/frontend/dist/assets/inline-policies-panel.js index 5ca88aad0..277e5e625 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/inline-policies-panel.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/inline-policies-panel.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./button.js";import{t as s}from"./input.js";import{a as c,r as l,t as u}from"./field.js";import{C as d,E as f,S as p,T as m,a as h,b as g,i as _,m as v,r as y,v as b,w as x,x as S}from"./iam.js";import{_ as C,a as w,b as T,g as E,i as D,n as O,o as k,p as A,r as j,x as M}from"./iam2.js";import{t as N}from"./error-banner.js";import{r as P}from"./json.js";import{t as F}from"./delete-confirmation-dialog.js";import{n as I}from"./detail-row.js";import{t as L}from"./json-editor.js";import{s as R}from"./iam3.js";var z=e(n(),1),B=t();function V(e,t){return{run:async n=>await e.mutateAsync(t(n)),error:e.error}}function H({kind:e,name:t}){let n=h(),r=_(),i=y(),s=d(),c=p(),l=S(),{listQuery:u,attach:f,detach:m}={user:{listQuery:D,attach:V(n,e=>({userName:t,policyArn:e})),detach:V(s,e=>({userName:t,policyArn:e}))},role:{listQuery:j,attach:V(r,e=>({roleName:t,policyArn:e})),detach:V(c,e=>({roleName:t,policyArn:e}))},group:{listQuery:O,attach:V(i,e=>({groupName:t,policyArn:e})),detach:V(l,e=>({groupName:t,policyArn:e}))}}[e],{data:g}=a(u(t)),{data:v}=a(A),[b,x]=(0,z.useState)(!1),[C,w]=(0,z.useState)(null),T=g.AttachedPolicies??[],E=v.Policies??[],k=new Set(T.map(e=>e.PolicyArn)),M=E.filter(e=>e.Arn&&!k.has(e.Arn)),P=async e=>{w(e);try{await f.run(e),x(!1)}catch{}finally{w(null)}},F=async e=>{w(e);try{await m.run(e)}catch{}finally{w(null)}};return(0,B.jsxs)(I,{children:[(0,B.jsx)(I.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Attached Policies`}),(0,B.jsx)(o,{onClick:()=>x(!b),size:`sm`,children:`Attach Policy`})]})}),(0,B.jsxs)(I.Content,{children:[f.error&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(N,{error:f.error,msg:`Failed to attach policy`})}),m.error&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(N,{error:m.error,msg:`Failed to detach policy`})}),b&&M.length>0&&(0,B.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a policy to attach:`}),(0,B.jsx)(`div`,{className:`space-y-1`,children:M.map(e=>(0,B.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:C===e.Arn,onClick:()=>{e.Arn&&P(e.Arn)},type:`button`,children:[(0,B.jsx)(`span`,{children:e.PolicyName}),(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.Arn))})]}),b&&M.length===0&&(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No policies available to attach.`}),T.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:T.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:e.PolicyName}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.PolicyArn})]}),(0,B.jsx)(o,{disabled:C===e.PolicyArn,onClick:()=>{e.PolicyArn&&F(e.PolicyArn)},size:`sm`,variant:`outline`,children:`Detach`})]},e.PolicyArn))}):(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No attached policies.`})]})]})}var U=r(),W=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Action:`*`,Resource:`*`}]},null,2);function G({kind:e,name:t}){let n=f(),r=m(),i=x(),s=g(),c=b(),l=v(),{listQuery:u,policyQuery:d,put:p,remove:h}={user:{listQuery:T,policyQuery:M,put:n,remove:s},role:{listQuery:E,policyQuery:C,put:r,remove:c},group:{listQuery:w,policyQuery:k,put:i,remove:l}}[e],{data:_}=a(u(t)),y=_.PolicyNames??[],[S,D]=(0,z.useState)(!1),[O,A]=(0,z.useState)(null),[j,P]=(0,z.useState)(null),L=async()=>{if(!j)return;let e=j;try{await h.mutateAsync({name:t,policyName:e}),O===e&&A(null)}finally{P(null)}};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(I,{children:[(0,B.jsx)(I.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Inline Policies`}),(0,B.jsx)(o,{onClick:()=>{D(e=>!e),A(null)},size:`sm`,children:`Add Inline Policy`})]})}),(0,B.jsxs)(I.Content,{children:[h.error&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(N,{error:h.error,msg:`Failed to delete inline policy`})}),S&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(K,{name:t,onClose:()=>D(!1),put:p})}),y.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:y.map(e=>(0,B.jsxs)(`div`,{className:`rounded-md border`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between p-3`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:e}),(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(o,{onClick:()=>A(t=>t===e?null:e),size:`sm`,variant:`outline`,children:O===e?`Close`:`Edit`}),(0,B.jsx)(o,{onClick:()=>P(e),size:`sm`,variant:`destructive`,children:`Delete`})]})]}),O===e&&(0,B.jsx)(`div`,{className:`border-t p-3`,children:(0,B.jsx)(J,{name:t,onClose:()=>A(null),policyName:e,put:p,queryOptions:d(t,e)})})]},e))}):!S&&(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No inline policies.`})]})]}),(0,B.jsx)(F,{description:`Are you sure you want to delete the inline policy "${j??``}"? This action cannot be undone.`,isPending:h.isPending,onConfirm:()=>{L()},onOpenChange:e=>{e||P(null)},open:j!==null,title:`Delete Inline Policy`})]})}function K(e){let t=(0,U.c)(50),{name:n,put:r,onClose:i}=e,[a,d]=(0,z.useState)(``),[f,p]=(0,z.useState)(W),m,h;t[0]!==f||t[1]!==a?(m=R.safeParse({policyName:a,policyDocument:f}),h=m.success?void 0:m.error.issues.find(q),t[0]=f,t[1]=a,t[2]=m,t[3]=h):(m=t[2],h=t[3]);let g=h,_;t[4]!==g||t[5]!==a?(_=a.trim().length>0&&!!g,t[4]=g,t[5]=a,t[6]=_):_=t[6];let v=_,y;t[7]===f?y=t[8]:(y=f.trim().length>0&&!P(f),t[7]=f,t[8]=y);let b=y,x;t[9]!==f||t[10]!==n||t[11]!==i||t[12]!==a||t[13]!==r?(x=async()=>{try{await r.mutateAsync({name:n,policyName:a,policyDocument:f}),i()}catch{}},t[9]=f,t[10]=n,t[11]=i,t[12]=a,t[13]=r,t[14]=x):x=t[14];let S=x,C;t[15]===r.error?C=t[16]:(C=r.error&&(0,B.jsx)(N,{error:r.error,msg:`Failed to add inline policy`}),t[15]=r.error,t[16]=C);let w;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,B.jsx)(c,{children:(0,B.jsx)(`label`,{htmlFor:`inline-policy-name`,children:`Policy name`})}),t[17]=w):w=t[17];let T;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>d(e.target.value),t[18]=T):T=t[18];let E;t[19]!==a||t[20]!==v?(E=(0,B.jsx)(s,{"aria-invalid":v,id:`inline-policy-name`,onChange:T,placeholder:`my-inline-policy`,value:a}),t[19]=a,t[20]=v,t[21]=E):E=t[21];let D;t[22]!==g?.message||t[23]!==v?(D=v&&(0,B.jsx)(l,{errors:[{message:g?.message}]}),t[22]=g?.message,t[23]=v,t[24]=D):D=t[24];let O;t[25]!==E||t[26]!==D?(O=(0,B.jsxs)(u,{children:[w,E,D]}),t[25]=E,t[26]=D,t[27]=O):O=t[27];let k;t[28]!==f||t[29]!==b?(k=(0,B.jsx)(L,{className:`text-xs`,error:b,onChange:p,rows:12,value:f}),t[28]=f,t[29]=b,t[30]=k):k=t[30];let A;t[31]===b?A=t[32]:(A=b&&(0,B.jsx)(`p`,{className:`text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[31]=b,t[32]=A);let j;t[33]===i?j=t[34]:(j=(0,B.jsx)(o,{onClick:i,size:`sm`,variant:`outline`,children:`Cancel`}),t[33]=i,t[34]=j);let M=!m.success||r.isPending,F;t[35]===S?F=t[36]:(F=()=>{S()},t[35]=S,t[36]=F);let I=r.isPending?`Saving…`:`Save`,V;t[37]!==M||t[38]!==F||t[39]!==I?(V=(0,B.jsx)(o,{disabled:M,onClick:F,size:`sm`,children:I}),t[37]=M,t[38]=F,t[39]=I,t[40]=V):V=t[40];let H;t[41]!==j||t[42]!==V?(H=(0,B.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[j,V]}),t[41]=j,t[42]=V,t[43]=H):H=t[43];let G;return t[44]!==O||t[45]!==k||t[46]!==A||t[47]!==H||t[48]!==C?(G=(0,B.jsxs)(`div`,{className:`space-y-3 rounded-md border p-3`,children:[C,O,k,A,H]}),t[44]=O,t[45]=k,t[46]=A,t[47]=H,t[48]=C,t[49]=G):G=t[49],G}function q(e){return e.path[0]===`policyName`}function J(e){let t=(0,U.c)(37),{name:n,policyName:r,queryOptions:a,put:s,onClose:c}=e,{data:l,isLoading:u,error:d}=i(a),[f,p]=(0,z.useState)(l??``),[m,h]=(0,z.useState)(l);l!==m&&(h(l),p(l??``));let g;t[0]===f?g=t[1]:(g=f.trim(),t[0]=f,t[1]=g);let _=g,v;t[2]!==f||t[3]!==_.length?(v=_.length>0&&!P(f),t[2]=f,t[3]=_.length,t[4]=v):v=t[4];let y=v,b;t[5]!==f||t[6]!==n||t[7]!==c||t[8]!==r||t[9]!==s?(b=async()=>{try{await s.mutateAsync({name:n,policyName:r,policyDocument:f}),c()}catch{}},t[5]=f,t[6]=n,t[7]=c,t[8]=r,t[9]=s,t[10]=b):b=t[10];let x=b;if(u){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}),t[11]=e):e=t[11],e}if(d){let e;return t[12]===d?e=t[13]:(e=(0,B.jsx)(N,{error:d,msg:`Failed to load inline policy`}),t[12]=d,t[13]=e),e}let S;t[14]===s.error?S=t[15]:(S=s.error&&(0,B.jsx)(N,{error:s.error,msg:`Failed to update inline policy`}),t[14]=s.error,t[15]=S);let C;t[16]!==f||t[17]!==y?(C=(0,B.jsx)(L,{className:`text-xs`,error:y,onChange:p,rows:12,value:f}),t[16]=f,t[17]=y,t[18]=C):C=t[18];let w;t[19]===y?w=t[20]:(w=y&&(0,B.jsx)(`p`,{className:`text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[19]=y,t[20]=w);let T;t[21]===c?T=t[22]:(T=(0,B.jsx)(o,{onClick:c,size:`sm`,variant:`outline`,children:`Cancel`}),t[21]=c,t[22]=T);let E=s.isPending||_.length===0||y,D;t[23]===x?D=t[24]:(D=()=>{x()},t[23]=x,t[24]=D);let O=s.isPending?`Saving…`:`Save`,k;t[25]!==O||t[26]!==E||t[27]!==D?(k=(0,B.jsx)(o,{disabled:E,onClick:D,size:`sm`,children:O}),t[25]=O,t[26]=E,t[27]=D,t[28]=k):k=t[28];let A;t[29]!==k||t[30]!==T?(A=(0,B.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[T,k]}),t[29]=k,t[30]=T,t[31]=A):A=t[31];let j;return t[32]!==A||t[33]!==S||t[34]!==C||t[35]!==w?(j=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[S,C,w,A]}),t[32]=A,t[33]=S,t[34]=C,t[35]=w,t[36]=j):j=t[36],j}export{H as n,G as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./button.js";import{t as s}from"./input.js";import{C as c,E as l,S as u,T as d,a as f,b as p,i as m,m as h,r as g,v as _,w as v,x as y}from"./iam.js";import{_ as b,a as x,b as S,g as C,i as w,n as T,o as E,p as D,r as O,x as k}from"./iam2.js";import{r as A}from"./json.js";import{t as j}from"./error-banner.js";import{a as M,r as N,t as P}from"./field.js";import{t as F}from"./delete-confirmation-dialog.js";import{n as I}from"./detail-row.js";import{t as L}from"./json-editor.js";import{s as R}from"./iam3.js";var z=e(n(),1),B=t();function V(e,t){return{run:async n=>await e.mutateAsync(t(n)),error:e.error}}function H({kind:e,name:t}){let n=f(),r=m(),i=g(),s=c(),l=u(),d=y(),{listQuery:p,attach:h,detach:_}={user:{listQuery:w,attach:V(n,e=>({userName:t,policyArn:e})),detach:V(s,e=>({userName:t,policyArn:e}))},role:{listQuery:O,attach:V(r,e=>({roleName:t,policyArn:e})),detach:V(l,e=>({roleName:t,policyArn:e}))},group:{listQuery:T,attach:V(i,e=>({groupName:t,policyArn:e})),detach:V(d,e=>({groupName:t,policyArn:e}))}}[e],{data:v}=a(p(t)),{data:b}=a(D),[x,S]=(0,z.useState)(!1),[C,E]=(0,z.useState)(null),k=v.AttachedPolicies??[],A=b.Policies??[],M=new Set(k.map(e=>e.PolicyArn)),N=A.filter(e=>e.Arn&&!M.has(e.Arn)),P=async e=>{E(e);try{await h.run(e),S(!1)}catch{}finally{E(null)}},F=async e=>{E(e);try{await _.run(e)}catch{}finally{E(null)}};return(0,B.jsxs)(I,{children:[(0,B.jsx)(I.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Attached Policies`}),(0,B.jsx)(o,{onClick:()=>S(!x),size:`sm`,children:`Attach Policy`})]})}),(0,B.jsxs)(I.Content,{children:[h.error&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(j,{error:h.error,msg:`Failed to attach policy`})}),_.error&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(j,{error:_.error,msg:`Failed to detach policy`})}),x&&N.length>0&&(0,B.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a policy to attach:`}),(0,B.jsx)(`div`,{className:`space-y-1`,children:N.map(e=>(0,B.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:C===e.Arn,onClick:()=>{e.Arn&&P(e.Arn)},type:`button`,children:[(0,B.jsx)(`span`,{children:e.PolicyName}),(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.Arn))})]}),x&&N.length===0&&(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No policies available to attach.`}),k.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:k.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:e.PolicyName}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.PolicyArn})]}),(0,B.jsx)(o,{disabled:C===e.PolicyArn,onClick:()=>{e.PolicyArn&&F(e.PolicyArn)},size:`sm`,variant:`outline`,children:`Detach`})]},e.PolicyArn))}):(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No attached policies.`})]})]})}var U=r(),W=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Action:`*`,Resource:`*`}]},null,2);function G({kind:e,name:t}){let n=l(),r=d(),i=v(),s=p(),c=_(),u=h(),{listQuery:f,policyQuery:m,put:g,remove:y}={user:{listQuery:S,policyQuery:k,put:n,remove:s},role:{listQuery:C,policyQuery:b,put:r,remove:c},group:{listQuery:x,policyQuery:E,put:i,remove:u}}[e],{data:w}=a(f(t)),T=w.PolicyNames??[],[D,O]=(0,z.useState)(!1),[A,M]=(0,z.useState)(null),[N,P]=(0,z.useState)(null),L=async()=>{if(!N)return;let e=N;try{await y.mutateAsync({name:t,policyName:e}),A===e&&M(null)}finally{P(null)}};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(I,{children:[(0,B.jsx)(I.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Inline Policies`}),(0,B.jsx)(o,{onClick:()=>{O(e=>!e),M(null)},size:`sm`,children:`Add Inline Policy`})]})}),(0,B.jsxs)(I.Content,{children:[y.error&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(j,{error:y.error,msg:`Failed to delete inline policy`})}),D&&(0,B.jsx)(`div`,{className:`col-span-2`,children:(0,B.jsx)(K,{name:t,onClose:()=>O(!1),put:g})}),T.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:T.map(e=>(0,B.jsxs)(`div`,{className:`rounded-md border`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between p-3`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:e}),(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsx)(o,{onClick:()=>M(t=>t===e?null:e),size:`sm`,variant:`outline`,children:A===e?`Close`:`Edit`}),(0,B.jsx)(o,{onClick:()=>P(e),size:`sm`,variant:`destructive`,children:`Delete`})]})]}),A===e&&(0,B.jsx)(`div`,{className:`border-t p-3`,children:(0,B.jsx)(J,{name:t,onClose:()=>M(null),policyName:e,put:g,queryOptions:m(t,e)})})]},e))}):!D&&(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No inline policies.`})]})]}),(0,B.jsx)(F,{description:`Are you sure you want to delete the inline policy "${N??``}"? This action cannot be undone.`,isPending:y.isPending,onConfirm:()=>{L()},onOpenChange:e=>{e||P(null)},open:N!==null,title:`Delete Inline Policy`})]})}function K(e){let t=(0,U.c)(50),{name:n,put:r,onClose:i}=e,[a,c]=(0,z.useState)(``),[l,u]=(0,z.useState)(W),d,f;t[0]!==l||t[1]!==a?(d=R.safeParse({policyName:a,policyDocument:l}),f=d.success?void 0:d.error.issues.find(q),t[0]=l,t[1]=a,t[2]=d,t[3]=f):(d=t[2],f=t[3]);let p=f,m;t[4]!==p||t[5]!==a?(m=a.trim().length>0&&!!p,t[4]=p,t[5]=a,t[6]=m):m=t[6];let h=m,g;t[7]===l?g=t[8]:(g=l.trim().length>0&&!A(l),t[7]=l,t[8]=g);let _=g,v;t[9]!==l||t[10]!==n||t[11]!==i||t[12]!==a||t[13]!==r?(v=async()=>{try{await r.mutateAsync({name:n,policyName:a,policyDocument:l}),i()}catch{}},t[9]=l,t[10]=n,t[11]=i,t[12]=a,t[13]=r,t[14]=v):v=t[14];let y=v,b;t[15]===r.error?b=t[16]:(b=r.error&&(0,B.jsx)(j,{error:r.error,msg:`Failed to add inline policy`}),t[15]=r.error,t[16]=b);let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,B.jsx)(M,{children:(0,B.jsx)(`label`,{htmlFor:`inline-policy-name`,children:`Policy name`})}),t[17]=x):x=t[17];let S;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>c(e.target.value),t[18]=S):S=t[18];let C;t[19]!==a||t[20]!==h?(C=(0,B.jsx)(s,{"aria-invalid":h,id:`inline-policy-name`,onChange:S,placeholder:`my-inline-policy`,value:a}),t[19]=a,t[20]=h,t[21]=C):C=t[21];let w;t[22]!==p?.message||t[23]!==h?(w=h&&(0,B.jsx)(N,{errors:[{message:p?.message}]}),t[22]=p?.message,t[23]=h,t[24]=w):w=t[24];let T;t[25]!==C||t[26]!==w?(T=(0,B.jsxs)(P,{children:[x,C,w]}),t[25]=C,t[26]=w,t[27]=T):T=t[27];let E;t[28]!==l||t[29]!==_?(E=(0,B.jsx)(L,{className:`text-xs`,error:_,onChange:u,rows:12,value:l}),t[28]=l,t[29]=_,t[30]=E):E=t[30];let D;t[31]===_?D=t[32]:(D=_&&(0,B.jsx)(`p`,{className:`text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[31]=_,t[32]=D);let O;t[33]===i?O=t[34]:(O=(0,B.jsx)(o,{onClick:i,size:`sm`,variant:`outline`,children:`Cancel`}),t[33]=i,t[34]=O);let k=!d.success||r.isPending,F;t[35]===y?F=t[36]:(F=()=>{y()},t[35]=y,t[36]=F);let I=r.isPending?`Saving…`:`Save`,V;t[37]!==k||t[38]!==F||t[39]!==I?(V=(0,B.jsx)(o,{disabled:k,onClick:F,size:`sm`,children:I}),t[37]=k,t[38]=F,t[39]=I,t[40]=V):V=t[40];let H;t[41]!==O||t[42]!==V?(H=(0,B.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[O,V]}),t[41]=O,t[42]=V,t[43]=H):H=t[43];let G;return t[44]!==T||t[45]!==E||t[46]!==D||t[47]!==H||t[48]!==b?(G=(0,B.jsxs)(`div`,{className:`space-y-3 rounded-md border p-3`,children:[b,T,E,D,H]}),t[44]=T,t[45]=E,t[46]=D,t[47]=H,t[48]=b,t[49]=G):G=t[49],G}function q(e){return e.path[0]===`policyName`}function J(e){let t=(0,U.c)(37),{name:n,policyName:r,queryOptions:a,put:s,onClose:c}=e,{data:l,isLoading:u,error:d}=i(a),[f,p]=(0,z.useState)(l??``),[m,h]=(0,z.useState)(l);l!==m&&(h(l),p(l??``));let g;t[0]===f?g=t[1]:(g=f.trim(),t[0]=f,t[1]=g);let _=g,v;t[2]!==f||t[3]!==_.length?(v=_.length>0&&!A(f),t[2]=f,t[3]=_.length,t[4]=v):v=t[4];let y=v,b;t[5]!==f||t[6]!==n||t[7]!==c||t[8]!==r||t[9]!==s?(b=async()=>{try{await s.mutateAsync({name:n,policyName:r,policyDocument:f}),c()}catch{}},t[5]=f,t[6]=n,t[7]=c,t[8]=r,t[9]=s,t[10]=b):b=t[10];let x=b;if(u){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}),t[11]=e):e=t[11],e}if(d){let e;return t[12]===d?e=t[13]:(e=(0,B.jsx)(j,{error:d,msg:`Failed to load inline policy`}),t[12]=d,t[13]=e),e}let S;t[14]===s.error?S=t[15]:(S=s.error&&(0,B.jsx)(j,{error:s.error,msg:`Failed to update inline policy`}),t[14]=s.error,t[15]=S);let C;t[16]!==f||t[17]!==y?(C=(0,B.jsx)(L,{className:`text-xs`,error:y,onChange:p,rows:12,value:f}),t[16]=f,t[17]=y,t[18]=C):C=t[18];let w;t[19]===y?w=t[20]:(w=y&&(0,B.jsx)(`p`,{className:`text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[19]=y,t[20]=w);let T;t[21]===c?T=t[22]:(T=(0,B.jsx)(o,{onClick:c,size:`sm`,variant:`outline`,children:`Cancel`}),t[21]=c,t[22]=T);let E=s.isPending||_.length===0||y,D;t[23]===x?D=t[24]:(D=()=>{x()},t[23]=x,t[24]=D);let O=s.isPending?`Saving…`:`Save`,k;t[25]!==O||t[26]!==E||t[27]!==D?(k=(0,B.jsx)(o,{disabled:E,onClick:D,size:`sm`,children:O}),t[25]=O,t[26]=E,t[27]=D,t[28]=k):k=t[28];let M;t[29]!==k||t[30]!==T?(M=(0,B.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[T,k]}),t[29]=k,t[30]=T,t[31]=M):M=t[31];let N;return t[32]!==M||t[33]!==S||t[34]!==C||t[35]!==w?(N=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[S,C,w,M]}),t[32]=M,t[33]=S,t[34]=C,t[35]=w,t[36]=N):N=t[36],N}export{H as n,G as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/launch-template-data-fields.js b/spinifex/services/spinifexui/frontend/dist/assets/launch-template-data-fields.js index 9198cf647..102066788 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/launch-template-data-fields.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/launch-template-data-fields.js @@ -1,2 +1,2 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as ee}from"./chevron-down.js";import{c as r,i,n as a,s as o,t as s}from"./select.js";import{t as te}from"./input.js";import{a as c,n as ne,r as re,t as l}from"./field.js";import{O as ie,c as ae,o as oe,p as se,w as ce}from"./ec2.js";import{a as le,n as u}from"./zod.js";import{n as ue,r as de,t as fe}from"./collapsible.js";import{t as pe}from"./ec23.js";import{t as me}from"./textarea.js";var he=t(),d=e(),ge=`gp3`,_e=1,ve=16384;function f(e){let t=(0,he.c)(105),{control:f,register:p,errors:m}=e,{data:De}=n(oe),{data:Oe}=n(ae),{data:ke}=n(se),{data:Ae}=n(ie),{data:je}=n(ce),h;t[0]===De.Images?h=t[1]:(h=De.Images??[],t[0]=De.Images,t[1]=h);let g=h,_;t[2]===ke.KeyPairs?_=t[3]:(_=ke.KeyPairs??[],t[2]=ke.KeyPairs,t[3]=_);let Me=_,v;t[4]===Ae.Subnets?v=t[5]:(v=Ae.Subnets??[],t[4]=Ae.Subnets,t[5]=v);let y=v,b;t[6]===je.SecurityGroups?b=t[7]:(b=je.SecurityGroups??[],t[6]=je.SecurityGroups,t[7]=b);let x=b,S;t[8]===Oe.InstanceTypes?S=t[9]:(S=[...new Set((Oe.InstanceTypes??[]).map(Ee).filter(Te))].toSorted(),t[8]=Oe.InstanceTypes,t[9]=S);let Ne=S,C;t[10]===f?C=t[11]:(C={control:f,name:`subnetId`},t[10]=f,t[11]=C);let Pe=le(C),w;t[12]!==Pe||t[13]!==y?(w=y.find(e=>e.SubnetId===Pe)?.VpcId,t[12]=Pe,t[13]=y,t[14]=w):w=t[14];let T=w,E;t[15]!==T||t[16]!==x?(E=T?x.filter(e=>e.VpcId===T):x,t[15]=T,t[16]=x,t[17]=E):E=t[17];let Fe=E,Ie;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`imageId`,children:`Image`})}),t[18]=Ie):Ie=t[18];let D;t[19]!==m.imageId||t[20]!==g?(D=e=>{let{field:t}=e,n=g.find(e=>e.ImageId===t.value);return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(o,{"aria-invalid":!!m.imageId,className:`w-full`,id:`imageId`,children:(0,d.jsx)(r,{children:n?`${n.Name??`Unnamed`} (${n.Architecture})`:``})}),(0,d.jsx)(a,{children:g.map(we)})]})},t[19]=m.imageId,t[20]=g,t[21]=D):D=t[21];let O;t[22]!==f||t[23]!==D?(O=(0,d.jsx)(u,{control:f,name:`imageId`,render:D}),t[22]=f,t[23]=D,t[24]=O):O=t[24];let k;t[25]===m.imageId?k=t[26]:(k=(0,d.jsx)(re,{errors:[m.imageId]}),t[25]=m.imageId,t[26]=k);let A;t[27]!==O||t[28]!==k?(A=(0,d.jsxs)(l,{children:[Ie,O,k]}),t[27]=O,t[28]=k,t[29]=A):A=t[29];let Le;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),t[30]=Le):Le=t[30];let j;t[31]!==m.instanceType||t[32]!==Ne?(j=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e),value:t.value||``,children:[(0,d.jsx)(o,{"aria-invalid":!!m.instanceType,className:`w-full`,id:`instanceType`,children:(0,d.jsx)(r,{})}),(0,d.jsx)(a,{children:Ne.map(Ce)})]})},t[31]=m.instanceType,t[32]=Ne,t[33]=j):j=t[33];let M;t[34]!==f||t[35]!==j?(M=(0,d.jsx)(u,{control:f,name:`instanceType`,render:j}),t[34]=f,t[35]=j,t[36]=M):M=t[36];let N;t[37]===m.instanceType?N=t[38]:(N=(0,d.jsx)(re,{errors:[m.instanceType]}),t[37]=m.instanceType,t[38]=N);let P;t[39]!==M||t[40]!==N?(P=(0,d.jsxs)(l,{children:[Le,M,N]}),t[39]=M,t[40]=N,t[41]=P):P=t[41];let Re;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair`})}),t[42]=Re):Re=t[42];let F;t[43]===Me?F=t[44]:(F=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,d.jsx)(o,{className:`w-full`,id:`keyName`,children:(0,d.jsx)(r,{})}),(0,d.jsxs)(a,{children:[(0,d.jsx)(i,{value:`none`,children:`none`}),Me.map(Se)]})]})},t[43]=Me,t[44]=F);let I;t[45]!==f||t[46]!==F?(I=(0,d.jsxs)(l,{children:[Re,(0,d.jsx)(u,{control:f,name:`keyName`,render:F})]}),t[45]=f,t[46]=F,t[47]=I):I=t[47];let ze;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`subnetId`,children:`Subnet`})}),t[48]=ze):ze=t[48];let L;t[49]===y?L=t[50]:(L=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,d.jsx)(o,{className:`w-full`,id:`subnetId`,children:(0,d.jsx)(r,{})}),(0,d.jsxs)(a,{children:[(0,d.jsx)(i,{value:`none`,children:`none`}),y.map(xe)]})]})},t[49]=y,t[50]=L);let R;t[51]!==f||t[52]!==L?(R=(0,d.jsxs)(l,{children:[ze,(0,d.jsx)(u,{control:f,name:`subnetId`,render:L})]}),t[51]=f,t[52]=L,t[53]=R):R=t[53];let Be;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,d.jsx)(c,{children:`Security Groups`}),t[54]=Be):Be=t[54];let Ve=T?`Applies to VPC ${T}`:`Showing all security groups — select a subnet to filter by VPC`,z;t[55]===Ve?z=t[56]:(z=(0,d.jsx)(ne,{children:Ve}),t[55]=Ve,t[56]=z);let B;t[57]===Fe?B=t[58]:(B=e=>{let{field:t}=e,n=t.value??[],ee=new Set(n),r=e=>{t.onChange(n.includes(e)?n.filter(t=>t!==e):[...n,e])};return Fe.length===0?(0,d.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups available.`}):(0,d.jsx)(`div`,{className:`space-y-1`,children:Fe.map(e=>(0,d.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,d.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:ee.has(e.GroupId??``),onChange:()=>r(e.GroupId??``),type:`checkbox`}),(0,d.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})},t[57]=Fe,t[58]=B);let V;t[59]!==f||t[60]!==B?(V=(0,d.jsx)(u,{control:f,name:`securityGroupIds`,render:B}),t[59]=f,t[60]=B,t[61]=V):V=t[61];let H;t[62]!==z||t[63]!==V?(H=(0,d.jsxs)(l,{children:[Be,z,V]}),t[62]=z,t[63]=V,t[64]=H):H=t[64];let He,Ue;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`userData`,children:`User Data`})}),Ue=(0,d.jsx)(ne,{children:`Cloud-init or shell script run at first boot.`}),t[65]=He,t[66]=Ue):(He=t[65],Ue=t[66]);let U;t[67]===p?U=t[68]:(U=p(`userData`),t[67]=p,t[68]=U);let W;t[69]===U?W=t[70]:(W=(0,d.jsxs)(l,{children:[He,Ue,(0,d.jsx)(me,{className:`min-h-32 font-mono`,id:`userData`,placeholder:`#!/bin/bash -echo hello`,...U})]}),t[69]=U,t[70]=W);let We;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,d.jsxs)(de,{className:`group flex h-7 w-full items-center justify-between rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none hover:bg-input/40 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 md:text-xs/relaxed dark:bg-input/30 dark:hover:bg-input/50`,render:(0,d.jsx)(`button`,{"aria-label":`Block Device Mappings (root volume)`,type:`button`}),children:[(0,d.jsx)(`span`,{children:`Block Device Mappings (root volume)`}),(0,d.jsx)(ee,{className:`size-3.5 text-muted-foreground transition-transform group-data-[panel-open]:rotate-180`})]}),t[71]=We):We=t[71];let Ge;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`rootVolumeSize`,children:`Volume Size (GiB)`})}),t[72]=Ge):Ge=t[72];let Ke=!!m.rootVolumeSize,G;t[73]===p?G=t[74]:(G=p(`rootVolumeSize`,{setValueAs:be}),t[73]=p,t[74]=G);let K;t[75]!==Ke||t[76]!==G?(K=(0,d.jsx)(te,{"aria-invalid":Ke,id:`rootVolumeSize`,max:ve,min:_e,placeholder:`use AMI default`,type:`number`,...G}),t[75]=Ke,t[76]=G,t[77]=K):K=t[77];let q;t[78]===m.rootVolumeSize?q=t[79]:(q=(0,d.jsx)(re,{errors:[m.rootVolumeSize]}),t[78]=m.rootVolumeSize,t[79]=q);let J;t[80]!==K||t[81]!==q?(J=(0,d.jsxs)(l,{children:[Ge,K,q]}),t[80]=K,t[81]=q,t[82]=J):J=t[82];let qe;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(qe=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`rootVolumeType`,children:`Volume Type`})}),t[83]=qe):qe=t[83];let Y;t[84]===m.rootVolumeType?Y=t[85]:(Y=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e),value:t.value??ge,children:[(0,d.jsx)(o,{"aria-invalid":!!m.rootVolumeType,className:`w-full`,id:`rootVolumeType`,children:(0,d.jsx)(r,{})}),(0,d.jsx)(a,{children:pe.map(ye)})]})},t[84]=m.rootVolumeType,t[85]=Y);let X;t[86]!==f||t[87]!==Y?(X=(0,d.jsx)(u,{control:f,name:`rootVolumeType`,render:Y}),t[86]=f,t[87]=Y,t[88]=X):X=t[88];let Z;t[89]===m.rootVolumeType?Z=t[90]:(Z=(0,d.jsx)(re,{errors:[m.rootVolumeType]}),t[89]=m.rootVolumeType,t[90]=Z);let Q;t[91]!==X||t[92]!==Z?(Q=(0,d.jsxs)(l,{children:[qe,X,Z]}),t[91]=X,t[92]=Z,t[93]=Q):Q=t[93];let $;t[94]!==J||t[95]!==Q?($=(0,d.jsxs)(fe,{children:[We,(0,d.jsxs)(ue,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[J,Q]})]}),t[94]=J,t[95]=Q,t[96]=$):$=t[96];let Je;return t[97]!==A||t[98]!==P||t[99]!==I||t[100]!==R||t[101]!==H||t[102]!==W||t[103]!==$?(Je=(0,d.jsxs)(d.Fragment,{children:[A,P,I,R,H,W,$]}),t[97]=A,t[98]=P,t[99]=I,t[100]=R,t[101]=H,t[102]=W,t[103]=$,t[104]=Je):Je=t[104],Je}function ye(e){return(0,d.jsx)(i,{value:e,children:e},e)}function be(e){return e===``||e==null?void 0:Number(e)}function xe(e){return(0,d.jsx)(i,{value:e.SubnetId??``,children:e.SubnetId},e.SubnetId)}function Se(e){return(0,d.jsx)(i,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId)}function Ce(e){return(0,d.jsx)(i,{value:e,children:e},e)}function we(e){return(0,d.jsxs)(i,{value:e.ImageId??``,children:[e.Name??`Unnamed`,` (`,e.Architecture,`)`]},e.ImageId)}function Te(e){return!!e}function Ee(e){return e.InstanceType}export{f as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as ee}from"./chevron-down.js";import{c as r,i,n as a,s as o,t as s}from"./select.js";import{t as te}from"./input.js";import{O as ne,c as re,o as ie,p as ae,w as oe}from"./ec2.js";import{a as se,n as c}from"./zod.js";import{a as l,n as ce,r as le,t as u}from"./field.js";import{t as ue}from"./ec23.js";import{t as de}from"./textarea.js";import{n as fe,r as pe,t as me}from"./collapsible.js";var he=t(),d=e(),ge=`gp3`,_e=1,ve=16384;function f(e){let t=(0,he.c)(105),{control:f,register:p,errors:m}=e,{data:De}=n(ie),{data:Oe}=n(re),{data:ke}=n(ae),{data:Ae}=n(ne),{data:je}=n(oe),h;t[0]===De.Images?h=t[1]:(h=De.Images??[],t[0]=De.Images,t[1]=h);let g=h,_;t[2]===ke.KeyPairs?_=t[3]:(_=ke.KeyPairs??[],t[2]=ke.KeyPairs,t[3]=_);let Me=_,v;t[4]===Ae.Subnets?v=t[5]:(v=Ae.Subnets??[],t[4]=Ae.Subnets,t[5]=v);let y=v,b;t[6]===je.SecurityGroups?b=t[7]:(b=je.SecurityGroups??[],t[6]=je.SecurityGroups,t[7]=b);let x=b,S;t[8]===Oe.InstanceTypes?S=t[9]:(S=[...new Set((Oe.InstanceTypes??[]).map(Ee).filter(Te))].toSorted(),t[8]=Oe.InstanceTypes,t[9]=S);let Ne=S,C;t[10]===f?C=t[11]:(C={control:f,name:`subnetId`},t[10]=f,t[11]=C);let Pe=se(C),w;t[12]!==Pe||t[13]!==y?(w=y.find(e=>e.SubnetId===Pe)?.VpcId,t[12]=Pe,t[13]=y,t[14]=w):w=t[14];let T=w,E;t[15]!==T||t[16]!==x?(E=T?x.filter(e=>e.VpcId===T):x,t[15]=T,t[16]=x,t[17]=E):E=t[17];let Fe=E,Ie;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`imageId`,children:`Image`})}),t[18]=Ie):Ie=t[18];let D;t[19]!==m.imageId||t[20]!==g?(D=e=>{let{field:t}=e,n=g.find(e=>e.ImageId===t.value);return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,d.jsx)(o,{"aria-invalid":!!m.imageId,className:`w-full`,id:`imageId`,children:(0,d.jsx)(r,{children:n?`${n.Name??`Unnamed`} (${n.Architecture})`:``})}),(0,d.jsx)(a,{children:g.map(we)})]})},t[19]=m.imageId,t[20]=g,t[21]=D):D=t[21];let O;t[22]!==f||t[23]!==D?(O=(0,d.jsx)(c,{control:f,name:`imageId`,render:D}),t[22]=f,t[23]=D,t[24]=O):O=t[24];let k;t[25]===m.imageId?k=t[26]:(k=(0,d.jsx)(le,{errors:[m.imageId]}),t[25]=m.imageId,t[26]=k);let A;t[27]!==O||t[28]!==k?(A=(0,d.jsxs)(u,{children:[Ie,O,k]}),t[27]=O,t[28]=k,t[29]=A):A=t[29];let Le;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),t[30]=Le):Le=t[30];let j;t[31]!==m.instanceType||t[32]!==Ne?(j=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e),value:t.value||``,children:[(0,d.jsx)(o,{"aria-invalid":!!m.instanceType,className:`w-full`,id:`instanceType`,children:(0,d.jsx)(r,{})}),(0,d.jsx)(a,{children:Ne.map(Ce)})]})},t[31]=m.instanceType,t[32]=Ne,t[33]=j):j=t[33];let M;t[34]!==f||t[35]!==j?(M=(0,d.jsx)(c,{control:f,name:`instanceType`,render:j}),t[34]=f,t[35]=j,t[36]=M):M=t[36];let N;t[37]===m.instanceType?N=t[38]:(N=(0,d.jsx)(le,{errors:[m.instanceType]}),t[37]=m.instanceType,t[38]=N);let P;t[39]!==M||t[40]!==N?(P=(0,d.jsxs)(u,{children:[Le,M,N]}),t[39]=M,t[40]=N,t[41]=P):P=t[41];let Re;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair`})}),t[42]=Re):Re=t[42];let F;t[43]===Me?F=t[44]:(F=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,d.jsx)(o,{className:`w-full`,id:`keyName`,children:(0,d.jsx)(r,{})}),(0,d.jsxs)(a,{children:[(0,d.jsx)(i,{value:`none`,children:`none`}),Me.map(Se)]})]})},t[43]=Me,t[44]=F);let I;t[45]!==f||t[46]!==F?(I=(0,d.jsxs)(u,{children:[Re,(0,d.jsx)(c,{control:f,name:`keyName`,render:F})]}),t[45]=f,t[46]=F,t[47]=I):I=t[47];let ze;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`subnetId`,children:`Subnet`})}),t[48]=ze):ze=t[48];let L;t[49]===y?L=t[50]:(L=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,d.jsx)(o,{className:`w-full`,id:`subnetId`,children:(0,d.jsx)(r,{})}),(0,d.jsxs)(a,{children:[(0,d.jsx)(i,{value:`none`,children:`none`}),y.map(xe)]})]})},t[49]=y,t[50]=L);let R;t[51]!==f||t[52]!==L?(R=(0,d.jsxs)(u,{children:[ze,(0,d.jsx)(c,{control:f,name:`subnetId`,render:L})]}),t[51]=f,t[52]=L,t[53]=R):R=t[53];let Be;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,d.jsx)(l,{children:`Security Groups`}),t[54]=Be):Be=t[54];let Ve=T?`Applies to VPC ${T}`:`Showing all security groups — select a subnet to filter by VPC`,z;t[55]===Ve?z=t[56]:(z=(0,d.jsx)(ce,{children:Ve}),t[55]=Ve,t[56]=z);let B;t[57]===Fe?B=t[58]:(B=e=>{let{field:t}=e,n=t.value??[],ee=new Set(n),r=e=>{t.onChange(n.includes(e)?n.filter(t=>t!==e):[...n,e])};return Fe.length===0?(0,d.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups available.`}):(0,d.jsx)(`div`,{className:`space-y-1`,children:Fe.map(e=>(0,d.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,d.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:ee.has(e.GroupId??``),onChange:()=>r(e.GroupId??``),type:`checkbox`}),(0,d.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})},t[57]=Fe,t[58]=B);let V;t[59]!==f||t[60]!==B?(V=(0,d.jsx)(c,{control:f,name:`securityGroupIds`,render:B}),t[59]=f,t[60]=B,t[61]=V):V=t[61];let H;t[62]!==z||t[63]!==V?(H=(0,d.jsxs)(u,{children:[Be,z,V]}),t[62]=z,t[63]=V,t[64]=H):H=t[64];let He,Ue;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`userData`,children:`User Data`})}),Ue=(0,d.jsx)(ce,{children:`Cloud-init or shell script run at first boot.`}),t[65]=He,t[66]=Ue):(He=t[65],Ue=t[66]);let U;t[67]===p?U=t[68]:(U=p(`userData`),t[67]=p,t[68]=U);let W;t[69]===U?W=t[70]:(W=(0,d.jsxs)(u,{children:[He,Ue,(0,d.jsx)(de,{className:`min-h-32 font-mono`,id:`userData`,placeholder:`#!/bin/bash +echo hello`,...U})]}),t[69]=U,t[70]=W);let We;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,d.jsxs)(pe,{className:`group flex h-7 w-full items-center justify-between rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none hover:bg-input/40 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 md:text-xs/relaxed dark:bg-input/30 dark:hover:bg-input/50`,render:(0,d.jsx)(`button`,{"aria-label":`Block Device Mappings (root volume)`,type:`button`}),children:[(0,d.jsx)(`span`,{children:`Block Device Mappings (root volume)`}),(0,d.jsx)(ee,{className:`size-3.5 text-muted-foreground transition-transform group-data-[panel-open]:rotate-180`})]}),t[71]=We):We=t[71];let Ge;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`rootVolumeSize`,children:`Volume Size (GiB)`})}),t[72]=Ge):Ge=t[72];let Ke=!!m.rootVolumeSize,G;t[73]===p?G=t[74]:(G=p(`rootVolumeSize`,{setValueAs:be}),t[73]=p,t[74]=G);let K;t[75]!==Ke||t[76]!==G?(K=(0,d.jsx)(te,{"aria-invalid":Ke,id:`rootVolumeSize`,max:ve,min:_e,placeholder:`use AMI default`,type:`number`,...G}),t[75]=Ke,t[76]=G,t[77]=K):K=t[77];let q;t[78]===m.rootVolumeSize?q=t[79]:(q=(0,d.jsx)(le,{errors:[m.rootVolumeSize]}),t[78]=m.rootVolumeSize,t[79]=q);let J;t[80]!==K||t[81]!==q?(J=(0,d.jsxs)(u,{children:[Ge,K,q]}),t[80]=K,t[81]=q,t[82]=J):J=t[82];let qe;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(qe=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`rootVolumeType`,children:`Volume Type`})}),t[83]=qe):qe=t[83];let Y;t[84]===m.rootVolumeType?Y=t[85]:(Y=e=>{let{field:t}=e;return(0,d.jsxs)(s,{onValueChange:e=>t.onChange(e),value:t.value??ge,children:[(0,d.jsx)(o,{"aria-invalid":!!m.rootVolumeType,className:`w-full`,id:`rootVolumeType`,children:(0,d.jsx)(r,{})}),(0,d.jsx)(a,{children:ue.map(ye)})]})},t[84]=m.rootVolumeType,t[85]=Y);let X;t[86]!==f||t[87]!==Y?(X=(0,d.jsx)(c,{control:f,name:`rootVolumeType`,render:Y}),t[86]=f,t[87]=Y,t[88]=X):X=t[88];let Z;t[89]===m.rootVolumeType?Z=t[90]:(Z=(0,d.jsx)(le,{errors:[m.rootVolumeType]}),t[89]=m.rootVolumeType,t[90]=Z);let Q;t[91]!==X||t[92]!==Z?(Q=(0,d.jsxs)(u,{children:[qe,X,Z]}),t[91]=X,t[92]=Z,t[93]=Q):Q=t[93];let $;t[94]!==J||t[95]!==Q?($=(0,d.jsxs)(me,{children:[We,(0,d.jsxs)(fe,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[J,Q]})]}),t[94]=J,t[95]=Q,t[96]=$):$=t[96];let Je;return t[97]!==A||t[98]!==P||t[99]!==I||t[100]!==R||t[101]!==H||t[102]!==W||t[103]!==$?(Je=(0,d.jsxs)(d.Fragment,{children:[A,P,I,R,H,W,$]}),t[97]=A,t[98]=P,t[99]=I,t[100]=R,t[101]=H,t[102]=W,t[103]=$,t[104]=Je):Je=t[104],Je}function ye(e){return(0,d.jsx)(i,{value:e,children:e},e)}function be(e){return e===``||e==null?void 0:Number(e)}function xe(e){return(0,d.jsx)(i,{value:e.SubnetId??``,children:e.SubnetId},e.SubnetId)}function Se(e){return(0,d.jsx)(i,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId)}function Ce(e){return(0,d.jsx)(i,{value:e,children:e},e)}function we(e){return(0,d.jsxs)(i,{value:e.ImageId??``,children:[e.Name??`Unnamed`,` (`,e.Architecture,`)`]},e.ImageId)}function Te(e){return!!e}function Ee(e){return e.InstanceType}export{f as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/lazyRouteComponent.js b/spinifex/services/spinifexui/frontend/dist/assets/lazyRouteComponent.js index 01365c670..4d0243bb6 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/lazyRouteComponent.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/lazyRouteComponent.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{A as r,D as i,_ as a,a as o,c as s,j as c,l,t as u}from"./link.js";import{n as d,r as f,t as p}from"./matchContext.js";import{n as m}from"./redirect.js";import{i as h,t as g}from"./useStore.js";import{t as _}from"./useNavigate.js";var v=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=f:this.parentRoute||a();let r=n?f:t?.path;r&&r!==`/`&&(r=s(r));let i=t?.id||r,c=n?f:o([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);r===`__root__`&&(r=`/`),c!==`__root__`&&(c=o([`/`,c]));let u=c===`__root__`?`/`:o([this.parentRoute.fullPath,r]);this._path=r,this._id=c,this._fullPath=u,this._to=l(u)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>m({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},y=class extends v{constructor(e){super(e)}},b=e(n(),1),x={};function S(e,t){let n=b.useRef();return i=>{let a=e?.select?e.select(i):i;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=r(n.current,a):a}}function C(e){let t=h(),n=b.useContext(e.from?p:d),r=e.from??n,i=t.stores.getMatchStore(r),o=S(e,t),s=g(i,e=>e?o(e):x);if(s!==x)return s;(e.shouldThrow??!0)&&a()}function w(e){return C({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function T(e){let{select:t,...n}=e;return C({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function E(e){return C({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function D(e){return C({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function O(e){return C({...e,select:t=>e.select?e.select(t.context):t.context})}var k=t(),A=class extends v{constructor(e){super(e),this.useMatch=e=>C({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>O({...e,from:this.id}),this.useSearch=e=>D({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>E({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>T({...e,from:this.id}),this.useLoaderData=e=>w({...e,from:this.id}),this.useNavigate=()=>_({from:this.fullPath}),this.Link=b.forwardRef((e,t)=>(0,k.jsx)(u,{ref:t,from:this.fullPath,...e}))}};function j(e){return new A(e)}function M(){return e=>P(e)}var N=class extends y{constructor(e){super(e),this.useMatch=e=>C({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>O({...e,from:this.id}),this.useSearch=e=>D({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>E({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>T({...e,from:this.id}),this.useLoaderData=e=>w({...e,from:this.id}),this.useNavigate=()=>_({from:this.fullPath}),this.Link=b.forwardRef((e,t)=>(0,k.jsx)(u,{ref:t,from:this.fullPath,...e}))}};function P(e){return new N(e)}function F(e){return e=>{let t=j(e);return t.isRoot=!1,t}}function I(e,t){let n,r,a,o=()=>(n||=(a=void 0,e().then(e=>{n=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,a=e})),n),s=function(e){if(a){if(i(a)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${a.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw a}if(!r){if(c)c(o());else throw o()}return b.createElement(r,e)};return s.preload=o,s}export{S as a,D as i,F as n,M as r,I as t}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{A as r,D as i,_ as a,a as o,c as s,j as c,l,t as u}from"./link.js";import{n as d,r as f,t as p}from"./matchContext.js";import{n as m}from"./redirect.js";import{i as h,t as g}from"./useStore.js";import{t as _}from"./useNavigate.js";var v=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=f:this.parentRoute||a();let r=n?f:t?.path;r&&r!==`/`&&(r=s(r));let i=t?.id||r,c=n?f:o([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);r===`__root__`&&(r=`/`),c!==`__root__`&&(c=o([`/`,c]));let u=c===`__root__`?`/`:o([this.parentRoute.fullPath,r]);this._path=r,this._id=c,this._fullPath=u,this._to=l(u)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>m({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},y=class extends v{constructor(e){super(e)}},b=e(n(),1),x={};function S(e,t){let n=b.useRef();return i=>{let a=e?.select?e.select(i):i;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=r(n.current,a):a}}function C(e){let t=h(),n=b.useContext(e.from?p:d),r=e.from??n,i=t.stores.getMatchStore(r),o=S(e,t),s=g(i,e=>e?o(e):x);if(s!==x)return s;(e.shouldThrow??!0)&&a()}function w(e){return C({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function T(e){let{select:t,...n}=e;return C({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function E(e){return C({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function D(e){return C({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function O(e){return C({...e,select:t=>e.select?e.select(t.context):t.context})}var k=t(),A=class extends v{constructor(e){super(e),this.useMatch=e=>C({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>O({...e,from:this.id}),this.useSearch=e=>D({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>E({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>T({...e,from:this.id}),this.useLoaderData=e=>w({...e,from:this.id}),this.useNavigate=()=>_({from:this.fullPath}),this.Link=b.forwardRef((e,t)=>(0,k.jsx)(u,{ref:t,from:this.fullPath,...e}))}};function j(e){return new A(e)}function M(){return e=>P(e)}var N=class extends y{constructor(e){super(e),this.useMatch=e=>C({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>O({...e,from:this.id}),this.useSearch=e=>D({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>E({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>T({...e,from:this.id}),this.useLoaderData=e=>w({...e,from:this.id}),this.useNavigate=()=>_({from:this.fullPath}),this.Link=b.forwardRef((e,t)=>(0,k.jsx)(u,{ref:t,from:this.fullPath,...e}))}};function P(e){return new N(e)}function F(e){return e=>{let t=j(e);return t.isRoot=!1,t}}function I(e,t){let n,r,a,o=()=>(n||=(a=void 0,e().then(e=>{n=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,a=e})),n),s=function(e){if(a){if(i(a)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${a.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw a}if(!r){if(c)c(o());else throw o()}return b.createElement(r,e)};return s.preload=o,s}export{S as i,F as n,M as r,I as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/list-clusters.js b/spinifex/services/spinifexui/frontend/dist/assets/list-clusters.js index aaf3296f5..4da0f7540 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/list-clusters.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/list-clusters.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{t as c}from"./button.js";import{t as l}from"./input.js";import{a as u,t as d}from"./field.js";import{a as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"./alert-dialog.js";import{o as b}from"./ec2.js";import{n as x}from"./ecs.js";import{r as S,t as C}from"./ecs2.js";import{t as w}from"./error-banner.js";import{t as T}from"./page-heading.js";import{t as E}from"./delete-confirmation-dialog.js";import{t as D}from"./state-badge.js";import{t as O}from"./system-managed.js";import{t as k}from"./system-image-required.js";import{t as A}from"./ecs-section-nav.js";var j=r(),M=e(n(),1),N=t();function P(e){let t=(0,j.c)(32),{open:n,onOpenChange:r}=e,i=C(),[a,o]=(0,M.useState)(``),s;t[0]!==i||t[1]!==r?(s=function(e){e||(o(``),i.reset()),r(e)},t[0]=i,t[1]=r,t[2]=s):s=t[2];let c=s,b;t[3]!==i||t[4]!==c||t[5]!==a?(b=async function(){try{await i.mutateAsync(a.trim()),c(!1)}catch{}},t[3]=i,t[4]=c,t[5]=a,t[6]=b):b=t[6];let x=b,S;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,N.jsxs)(v,{children:[(0,N.jsx)(m,{children:`Create Cluster`}),(0,N.jsx)(f,{children:`A cluster groups the services, tasks, and container instances that run on it.`})]}),t[7]=S):S=t[7];let w;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,N.jsx)(u,{children:(0,N.jsx)(`label`,{htmlFor:`clusterName`,children:`Name`})}),t[8]=w):w=t[8];let T;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>o(e.target.value),t[9]=T):T=t[9];let E;t[10]===a?E=t[11]:(E=(0,N.jsxs)(d,{children:[w,(0,N.jsx)(l,{id:`clusterName`,onChange:T,placeholder:`my-cluster`,value:a})]}),t[10]=a,t[11]=E);let D;t[12]===i.error?D=t[13]:(D=i.error&&(0,N.jsx)(`p`,{className:`text-sm text-destructive`,children:i.error.message}),t[12]=i.error,t[13]=D);let O;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,N.jsx)(_,{children:`Cancel`}),t[14]=O):O=t[14];let k;t[15]!==i.isPending||t[16]!==a?(k=i.isPending||!a.trim(),t[15]=i.isPending,t[16]=a,t[17]=k):k=t[17];let A;t[18]===x?A=t[19]:(A=e=>{e.preventDefault(),x()},t[18]=x,t[19]=A);let P=i.isPending?`Creating…`:`Create Cluster`,F;t[20]!==A||t[21]!==P||t[22]!==k?(F=(0,N.jsxs)(g,{children:[O,(0,N.jsx)(h,{disabled:k,onClick:A,children:P})]}),t[20]=A,t[21]=P,t[22]=k,t[23]=F):F=t[23];let I;t[24]!==F||t[25]!==E||t[26]!==D?(I=(0,N.jsxs)(p,{children:[S,E,D,F]}),t[24]=F,t[25]=E,t[26]=D,t[27]=I):I=t[27];let L;return t[28]!==c||t[29]!==n||t[30]!==I?(L=(0,N.jsx)(y,{onOpenChange:c,open:n,children:I}),t[28]=c,t[29]=n,t[30]=I,t[31]=L):L=t[31],L}function F(){let e=s(),t=i(),{data:n}=a(x),{data:r}=a(b),l=S(),[u,d]=(0,M.useState)(!1),[f,p]=(0,M.useState)(null),[m,h]=(0,M.useState)(!1),g=(r.Images??[]).some(O);async function _(){h(!0);try{await t.invalidateQueries({queryKey:b.queryKey})}finally{h(!1)}}function v(){f&&l.mutate(f,{onSuccess:()=>p(null)})}return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(T,{actions:(0,N.jsx)(c,{disabled:!g,onClick:()=>d(!0),children:`Create Cluster`}),title:`Clusters`}),(0,N.jsx)(A,{}),!g&&(0,N.jsx)(k,{className:`mb-6`,description:`ECS clusters need a Spinifex-managed node image (containerd + ecs-agent) to launch container instances. Import it before creating a cluster.`,importCommand:`spx admin images import --name spinifex-ecs-node`,isRechecking:m,onRecheck:_,title:`ECS system image not found`}),l.isError&&(0,N.jsx)(w,{error:l.error instanceof Error?l.error:void 0,msg:`Failed to delete cluster.`}),n.length>0?(0,N.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,N.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,N.jsx)(`thead`,{children:(0,N.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Services`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running Tasks`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Instances`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,N.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,N.jsx)(`tbody`,{children:n.map(t=>{if(!t.clusterName)return null;let n=t.clusterName;return(0,N.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await e({to:`/ecs/list-clusters/$clusterName`,params:{clusterName:n}}),children:[(0,N.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,N.jsx)(o,{className:`text-primary hover:underline`,onClick:e=>e.stopPropagation(),params:{clusterName:n},to:`/ecs/list-clusters/$clusterName`,children:n})}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:(0,N.jsx)(D,{state:t.status})}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:t.activeServicesCount??0}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:t.runningTasksCount??0}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:t.registeredContainerInstancesCount??0}),(0,N.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,N.jsx)(c,{onClick:e=>{e.stopPropagation(),p(n)},size:`sm`,variant:`destructive`,children:`Delete`})})]},n)})})]})}):(0,N.jsx)(`p`,{className:`text-muted-foreground`,children:`No ECS clusters found.`}),(0,N.jsx)(P,{onOpenChange:d,open:u}),(0,N.jsx)(E,{description:`This permanently deletes cluster "${f}" and force-stops every task it holds. This cannot be undone.`,isPending:l.isPending,onConfirm:v,onOpenChange:e=>!e&&p(null),open:f!==null,title:`Delete cluster`})]})}var I=F;export{I as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{t as c}from"./button.js";import{t as l}from"./input.js";import{o as u}from"./ec2.js";import{n as d}from"./ecs.js";import{r as f,t as p}from"./ecs2.js";import{t as m}from"./error-banner.js";import{t as h}from"./page-heading.js";import{a as g,t as _}from"./field.js";import{a as v,i as y,l as b,n as x,o as S,r as C,s as w,t as T}from"./alert-dialog.js";import{t as E}from"./delete-confirmation-dialog.js";import{t as D}from"./state-badge.js";import{t as O}from"./system-managed.js";import{t as k}from"./system-image-required.js";import{t as A}from"./ecs-section-nav.js";var j=r(),M=e(n(),1),N=t();function P(e){let t=(0,j.c)(32),{open:n,onOpenChange:r}=e,i=p(),[a,o]=(0,M.useState)(``),s;t[0]!==i||t[1]!==r?(s=function(e){e||(o(``),i.reset()),r(e)},t[0]=i,t[1]=r,t[2]=s):s=t[2];let c=s,u;t[3]!==i||t[4]!==c||t[5]!==a?(u=async function(){try{await i.mutateAsync(a.trim()),c(!1)}catch{}},t[3]=i,t[4]=c,t[5]=a,t[6]=u):u=t[6];let d=u,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,N.jsxs)(w,{children:[(0,N.jsx)(b,{children:`Create Cluster`}),(0,N.jsx)(v,{children:`A cluster groups the services, tasks, and container instances that run on it.`})]}),t[7]=f):f=t[7];let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,N.jsx)(g,{children:(0,N.jsx)(`label`,{htmlFor:`clusterName`,children:`Name`})}),t[8]=m):m=t[8];let h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=e=>o(e.target.value),t[9]=h):h=t[9];let E;t[10]===a?E=t[11]:(E=(0,N.jsxs)(_,{children:[m,(0,N.jsx)(l,{id:`clusterName`,onChange:h,placeholder:`my-cluster`,value:a})]}),t[10]=a,t[11]=E);let D;t[12]===i.error?D=t[13]:(D=i.error&&(0,N.jsx)(`p`,{className:`text-sm text-destructive`,children:i.error.message}),t[12]=i.error,t[13]=D);let O;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,N.jsx)(C,{children:`Cancel`}),t[14]=O):O=t[14];let k;t[15]!==i.isPending||t[16]!==a?(k=i.isPending||!a.trim(),t[15]=i.isPending,t[16]=a,t[17]=k):k=t[17];let A;t[18]===d?A=t[19]:(A=e=>{e.preventDefault(),d()},t[18]=d,t[19]=A);let P=i.isPending?`Creating…`:`Create Cluster`,F;t[20]!==A||t[21]!==P||t[22]!==k?(F=(0,N.jsxs)(S,{children:[O,(0,N.jsx)(x,{disabled:k,onClick:A,children:P})]}),t[20]=A,t[21]=P,t[22]=k,t[23]=F):F=t[23];let I;t[24]!==F||t[25]!==E||t[26]!==D?(I=(0,N.jsxs)(y,{children:[f,E,D,F]}),t[24]=F,t[25]=E,t[26]=D,t[27]=I):I=t[27];let L;return t[28]!==c||t[29]!==n||t[30]!==I?(L=(0,N.jsx)(T,{onOpenChange:c,open:n,children:I}),t[28]=c,t[29]=n,t[30]=I,t[31]=L):L=t[31],L}function F(){let e=s(),t=i(),{data:n}=a(d),{data:r}=a(u),l=f(),[p,g]=(0,M.useState)(!1),[_,v]=(0,M.useState)(null),[y,b]=(0,M.useState)(!1),x=(r.Images??[]).some(O);async function S(){b(!0);try{await t.invalidateQueries({queryKey:u.queryKey})}finally{b(!1)}}function C(){_&&l.mutate(_,{onSuccess:()=>v(null)})}return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(h,{actions:(0,N.jsx)(c,{disabled:!x,onClick:()=>g(!0),children:`Create Cluster`}),title:`Clusters`}),(0,N.jsx)(A,{}),!x&&(0,N.jsx)(k,{className:`mb-6`,description:`ECS clusters need a Spinifex-managed node image (containerd + ecs-agent) to launch container instances. Import it before creating a cluster.`,importCommand:`spx admin images import --name spinifex-ecs-node`,isRechecking:y,onRecheck:S,title:`ECS system image not found`}),l.isError&&(0,N.jsx)(m,{error:l.error instanceof Error?l.error:void 0,msg:`Failed to delete cluster.`}),n.length>0?(0,N.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,N.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,N.jsx)(`thead`,{children:(0,N.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Services`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running Tasks`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Instances`}),(0,N.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,N.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,N.jsx)(`tbody`,{children:n.map(t=>{if(!t.clusterName)return null;let n=t.clusterName;return(0,N.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await e({to:`/ecs/list-clusters/$clusterName`,params:{clusterName:n}}),children:[(0,N.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,N.jsx)(o,{className:`text-primary hover:underline`,onClick:e=>e.stopPropagation(),params:{clusterName:n},to:`/ecs/list-clusters/$clusterName`,children:n})}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:(0,N.jsx)(D,{state:t.status})}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:t.activeServicesCount??0}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:t.runningTasksCount??0}),(0,N.jsx)(`td`,{className:`px-4 py-2`,children:t.registeredContainerInstancesCount??0}),(0,N.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,N.jsx)(c,{onClick:e=>{e.stopPropagation(),v(n)},size:`sm`,variant:`destructive`,children:`Delete`})})]},n)})})]})}):(0,N.jsx)(`p`,{className:`text-muted-foreground`,children:`No ECS clusters found.`}),(0,N.jsx)(P,{onOpenChange:g,open:p}),(0,N.jsx)(E,{description:`This permanently deletes cluster "${_}" and force-stops every task it holds. This cannot be undone.`,isPending:l.isPending,onConfirm:C,onOpenChange:e=>!e&&v(null),open:_!==null,title:`Delete cluster`})]})}var I=F;export{I as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/list-repositories.js b/spinifex/services/spinifexui/frontend/dist/assets/list-repositories.js index 5416b4773..f7184b00b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/list-repositories.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/list-repositories.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{Qt as s}from"./cluster-config.js";import{t as c}from"./button.js";import{t as l}from"./input.js";import{a as u,t as d}from"./field.js";import{a as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"./alert-dialog.js";import{n as b}from"./ecr.js";import{i as x,n as S}from"./ecr2.js";import{t as C}from"./page-heading.js";var w=r(),T=e(n(),1),E=t();function D(e){let t=(0,w.c)(32),{open:n,onOpenChange:r}=e,i=S(),[a,o]=(0,T.useState)(``),s;t[0]!==i||t[1]!==r?(s=function(e){e||(o(``),i.reset()),r(e)},t[0]=i,t[1]=r,t[2]=s):s=t[2];let c=s,b;t[3]!==i||t[4]!==c||t[5]!==a?(b=async function(){try{await i.mutateAsync(a.trim()),c(!1)}catch{}},t[3]=i,t[4]=c,t[5]=a,t[6]=b):b=t[6];let x=b,C;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,E.jsxs)(v,{children:[(0,E.jsx)(m,{children:`Create Repository`}),(0,E.jsx)(f,{children:`Repository names may include namespaces, e.g. team/app.`})]}),t[7]=C):C=t[7];let D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,E.jsx)(u,{children:(0,E.jsx)(`label`,{htmlFor:`repositoryName`,children:`Name`})}),t[8]=D):D=t[8];let O;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>o(e.target.value),t[9]=O):O=t[9];let k;t[10]===a?k=t[11]:(k=(0,E.jsxs)(d,{children:[D,(0,E.jsx)(l,{id:`repositoryName`,onChange:O,placeholder:`team/app`,value:a})]}),t[10]=a,t[11]=k);let A;t[12]===i.error?A=t[13]:(A=i.error&&(0,E.jsx)(`p`,{className:`text-sm text-destructive`,children:i.error.message}),t[12]=i.error,t[13]=A);let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,E.jsx)(_,{children:`Cancel`}),t[14]=j):j=t[14];let M;t[15]!==i.isPending||t[16]!==a?(M=i.isPending||!a.trim(),t[15]=i.isPending,t[16]=a,t[17]=M):M=t[17];let N;t[18]===x?N=t[19]:(N=e=>{e.preventDefault(),x()},t[18]=x,t[19]=N);let P=i.isPending?`Creating…`:`Create Repository`,F;t[20]!==N||t[21]!==P||t[22]!==M?(F=(0,E.jsxs)(g,{children:[j,(0,E.jsx)(h,{disabled:M,onClick:N,children:P})]}),t[20]=N,t[21]=P,t[22]=M,t[23]=F):F=t[23];let I;t[24]!==F||t[25]!==k||t[26]!==A?(I=(0,E.jsxs)(p,{children:[C,k,A,F]}),t[24]=F,t[25]=k,t[26]=A,t[27]=I):I=t[27];let L;return t[28]!==c||t[29]!==n||t[30]!==I?(L=(0,E.jsx)(y,{onOpenChange:c,open:n,children:I}),t[28]=c,t[29]=n,t[30]=I,t[31]=L):L=t[31],L}function O(){let e=(0,w.c)(35),t=o(),{data:n}=i(b),r=x(),[l,u]=(0,T.useState)(!1),[d,S]=(0,T.useState)(null),O;e[0]===n.repositories?O=e[1]:(O=n.repositories??[],e[0]=n.repositories,e[1]=O);let A=O,j;e[2]!==r||e[3]!==d?(j=async function(){if(d)try{await r.mutateAsync(d),S(null)}catch{}},e[2]=r,e[3]=d,e[4]=j):j=e[4];let M=j,N;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,E.jsx)(C,{actions:(0,E.jsx)(c,{onClick:()=>u(!0),children:`Create Repository`}),title:`Repositories`}),e[5]=N):N=e[5];let P;e[6]!==t||e[7]!==A?(P=A.length>0?(0,E.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,E.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,E.jsx)(`thead`,{children:(0,E.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`URI`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tag Mutability`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,E.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,E.jsx)(`tbody`,{children:A.map(e=>{if(!e.repositoryName)return null;let n=e.repositoryName;return(0,E.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await t({to:`/ecr/list-repositories/$id`,params:{id:encodeURIComponent(n)}}),children:[(0,E.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,E.jsx)(a,{className:`text-primary hover:underline`,onClick:k,params:{id:encodeURIComponent(n)},to:`/ecr/list-repositories/$id`,children:n})}),(0,E.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.repositoryUri??``}),(0,E.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTagMutability??``}),(0,E.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.createdAt)}),(0,E.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,E.jsx)(c,{onClick:e=>{e.stopPropagation(),S(n)},size:`sm`,variant:`destructive`,children:`Delete`})})]},n)})})]})}):(0,E.jsx)(`p`,{className:`text-muted-foreground`,children:`No repositories found.`}),e[6]=t,e[7]=A,e[8]=P):P=e[8];let F;e[9]===l?F=e[10]:(F=(0,E.jsx)(D,{onOpenChange:u,open:l}),e[9]=l,e[10]=F);let I;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>!e&&S(null),e[11]=I):I=e[11];let L=d!==null,R;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,E.jsx)(m,{children:`Delete repository?`}),e[12]=R):R=e[12];let z;e[13]===d?z=e[14]:(z=(0,E.jsxs)(v,{children:[R,(0,E.jsxs)(f,{children:[`This permanently deletes `,d,` and every image it holds. This cannot be undone.`]})]}),e[13]=d,e[14]=z);let B;e[15]===r.error?B=e[16]:(B=r.error&&(0,E.jsx)(`p`,{className:`text-sm text-destructive`,children:r.error.message}),e[15]=r.error,e[16]=B);let V;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,E.jsx)(_,{children:`Cancel`}),e[17]=V):V=e[17];let H;e[18]===M?H=e[19]:(H=e=>{e.preventDefault(),M()},e[18]=M,e[19]=H);let U=r.isPending?`Deleting…`:`Delete`,W;e[20]!==r.isPending||e[21]!==H||e[22]!==U?(W=(0,E.jsxs)(g,{children:[V,(0,E.jsx)(h,{disabled:r.isPending,onClick:H,children:U})]}),e[20]=r.isPending,e[21]=H,e[22]=U,e[23]=W):W=e[23];let G;e[24]!==W||e[25]!==z||e[26]!==B?(G=(0,E.jsxs)(p,{children:[z,B,W]}),e[24]=W,e[25]=z,e[26]=B,e[27]=G):G=e[27];let K;e[28]!==G||e[29]!==L?(K=(0,E.jsx)(y,{onOpenChange:I,open:L,children:G}),e[28]=G,e[29]=L,e[30]=K):K=e[30];let q;return e[31]!==K||e[32]!==P||e[33]!==F?(q=(0,E.jsxs)(E.Fragment,{children:[N,P,F,K]}),e[31]=K,e[32]=P,e[33]=F,e[34]=q):q=e[34],q}function k(e){return e.stopPropagation()}var A=O;export{A as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{Qt as s}from"./cluster-config.js";import{t as c}from"./button.js";import{t as l}from"./input.js";import{n as u}from"./ecr.js";import{i as d,n as f}from"./ecr2.js";import{t as p}from"./page-heading.js";import{a as m,t as h}from"./field.js";import{a as g,i as _,l as v,n as y,o as b,r as x,s as S,t as C}from"./alert-dialog.js";var w=r(),T=e(n(),1),E=t();function D(e){let t=(0,w.c)(32),{open:n,onOpenChange:r}=e,i=f(),[a,o]=(0,T.useState)(``),s;t[0]!==i||t[1]!==r?(s=function(e){e||(o(``),i.reset()),r(e)},t[0]=i,t[1]=r,t[2]=s):s=t[2];let c=s,u;t[3]!==i||t[4]!==c||t[5]!==a?(u=async function(){try{await i.mutateAsync(a.trim()),c(!1)}catch{}},t[3]=i,t[4]=c,t[5]=a,t[6]=u):u=t[6];let d=u,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,E.jsxs)(S,{children:[(0,E.jsx)(v,{children:`Create Repository`}),(0,E.jsx)(g,{children:`Repository names may include namespaces, e.g. team/app.`})]}),t[7]=p):p=t[7];let D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,E.jsx)(m,{children:(0,E.jsx)(`label`,{htmlFor:`repositoryName`,children:`Name`})}),t[8]=D):D=t[8];let O;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>o(e.target.value),t[9]=O):O=t[9];let k;t[10]===a?k=t[11]:(k=(0,E.jsxs)(h,{children:[D,(0,E.jsx)(l,{id:`repositoryName`,onChange:O,placeholder:`team/app`,value:a})]}),t[10]=a,t[11]=k);let A;t[12]===i.error?A=t[13]:(A=i.error&&(0,E.jsx)(`p`,{className:`text-sm text-destructive`,children:i.error.message}),t[12]=i.error,t[13]=A);let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,E.jsx)(x,{children:`Cancel`}),t[14]=j):j=t[14];let M;t[15]!==i.isPending||t[16]!==a?(M=i.isPending||!a.trim(),t[15]=i.isPending,t[16]=a,t[17]=M):M=t[17];let N;t[18]===d?N=t[19]:(N=e=>{e.preventDefault(),d()},t[18]=d,t[19]=N);let P=i.isPending?`Creating…`:`Create Repository`,F;t[20]!==N||t[21]!==P||t[22]!==M?(F=(0,E.jsxs)(b,{children:[j,(0,E.jsx)(y,{disabled:M,onClick:N,children:P})]}),t[20]=N,t[21]=P,t[22]=M,t[23]=F):F=t[23];let I;t[24]!==F||t[25]!==k||t[26]!==A?(I=(0,E.jsxs)(_,{children:[p,k,A,F]}),t[24]=F,t[25]=k,t[26]=A,t[27]=I):I=t[27];let L;return t[28]!==c||t[29]!==n||t[30]!==I?(L=(0,E.jsx)(C,{onOpenChange:c,open:n,children:I}),t[28]=c,t[29]=n,t[30]=I,t[31]=L):L=t[31],L}function O(){let e=(0,w.c)(35),t=o(),{data:n}=i(u),r=d(),[l,f]=(0,T.useState)(!1),[m,h]=(0,T.useState)(null),O;e[0]===n.repositories?O=e[1]:(O=n.repositories??[],e[0]=n.repositories,e[1]=O);let A=O,j;e[2]!==r||e[3]!==m?(j=async function(){if(m)try{await r.mutateAsync(m),h(null)}catch{}},e[2]=r,e[3]=m,e[4]=j):j=e[4];let M=j,N;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,E.jsx)(p,{actions:(0,E.jsx)(c,{onClick:()=>f(!0),children:`Create Repository`}),title:`Repositories`}),e[5]=N):N=e[5];let P;e[6]!==t||e[7]!==A?(P=A.length>0?(0,E.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,E.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,E.jsx)(`thead`,{children:(0,E.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`URI`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tag Mutability`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`}),(0,E.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,E.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,E.jsx)(`tbody`,{children:A.map(e=>{if(!e.repositoryName)return null;let n=e.repositoryName;return(0,E.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await t({to:`/ecr/list-repositories/$id`,params:{id:encodeURIComponent(n)}}),children:[(0,E.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,E.jsx)(a,{className:`text-primary hover:underline`,onClick:k,params:{id:encodeURIComponent(n)},to:`/ecr/list-repositories/$id`,children:n})}),(0,E.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.repositoryUri??``}),(0,E.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTagMutability??``}),(0,E.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.createdAt)}),(0,E.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,E.jsx)(c,{onClick:e=>{e.stopPropagation(),h(n)},size:`sm`,variant:`destructive`,children:`Delete`})})]},n)})})]})}):(0,E.jsx)(`p`,{className:`text-muted-foreground`,children:`No repositories found.`}),e[6]=t,e[7]=A,e[8]=P):P=e[8];let F;e[9]===l?F=e[10]:(F=(0,E.jsx)(D,{onOpenChange:f,open:l}),e[9]=l,e[10]=F);let I;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>!e&&h(null),e[11]=I):I=e[11];let L=m!==null,R;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,E.jsx)(v,{children:`Delete repository?`}),e[12]=R):R=e[12];let z;e[13]===m?z=e[14]:(z=(0,E.jsxs)(S,{children:[R,(0,E.jsxs)(g,{children:[`This permanently deletes `,m,` and every image it holds. This cannot be undone.`]})]}),e[13]=m,e[14]=z);let B;e[15]===r.error?B=e[16]:(B=r.error&&(0,E.jsx)(`p`,{className:`text-sm text-destructive`,children:r.error.message}),e[15]=r.error,e[16]=B);let V;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,E.jsx)(x,{children:`Cancel`}),e[17]=V):V=e[17];let H;e[18]===M?H=e[19]:(H=e=>{e.preventDefault(),M()},e[18]=M,e[19]=H);let U=r.isPending?`Deleting…`:`Delete`,W;e[20]!==r.isPending||e[21]!==H||e[22]!==U?(W=(0,E.jsxs)(b,{children:[V,(0,E.jsx)(y,{disabled:r.isPending,onClick:H,children:U})]}),e[20]=r.isPending,e[21]=H,e[22]=U,e[23]=W):W=e[23];let G;e[24]!==W||e[25]!==z||e[26]!==B?(G=(0,E.jsxs)(_,{children:[z,B,W]}),e[24]=W,e[25]=z,e[26]=B,e[27]=G):G=e[27];let K;e[28]!==G||e[29]!==L?(K=(0,E.jsx)(C,{onOpenChange:I,open:L,children:G}),e[28]=G,e[29]=L,e[30]=K):K=e[30];let q;return e[31]!==K||e[32]!==P||e[33]!==F?(q=(0,E.jsxs)(E.Fragment,{children:[N,P,F,K]}),e[31]=K,e[32]=P,e[33]=F,e[34]=q):q=e[34],q}function k(e){return e.stopPropagation()}var A=O;export{A as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/login.js b/spinifex/services/spinifexui/frontend/dist/assets/login.js index ffa663907..2583d4dc5 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/login.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/login.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/login2.js","assets/compiler-runtime.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/awsClient.js","assets/index.browser.js","assets/sts.js","assets/zod.js","assets/collapsible.js","assets/useValueAsRef.js","assets/card.js"])))=>i.map(i=>d[i]); -import{n as e}from"./redirect.js";import{n as t,t as n}from"./lazyRouteComponent.js";import{a as r,rt as i}from"./cluster-config.js";var a=t(`/login`)({validateSearch:e=>({reason:e.reason===`expired`?`expired`:void 0}),beforeLoad:()=>{if(r())throw e({to:`/`})},component:n(()=>i(()=>import(`./login2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/login2.js","assets/compiler-runtime.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/awsClient.js","assets/index.browser.js","assets/sts.js","assets/zod.js","assets/field.js","assets/separator.js","assets/collapsible.js","assets/useValueAsRef.js","assets/card.js"])))=>i.map(i=>d[i]); +import{n as e}from"./redirect.js";import{n as t,t as n}from"./lazyRouteComponent.js";import{a as r,rt as i}from"./cluster-config.js";var a=t(`/login`)({validateSearch:e=>({reason:e.reason===`expired`?`expired`:void 0}),beforeLoad:()=>{if(r())throw e({to:`/`})},component:n(()=>i(()=>import(`./login2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/login2.js b/spinifex/services/spinifexui/frontend/dist/assets/login2.js index 42ae07ff5..55a0b6f92 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/login2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/login2.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{o as i,r as ee}from"./cluster-config.js";import{t as a}from"./button.js";import{t as o}from"./input.js";import{a as s,i as c,r as l,t as u}from"./field.js";import{t as te}from"./awsClient.js";import{t as ne}from"./sts.js";import{t as d}from"./login.js";import{i as f,t as p}from"./zod.js";import{n as m,r as h,t as g}from"./collapsible.js";import{i as re,o as _,r as v,s as y,t as b}from"./card.js";var x=e(n()),S=r(),C=new Set([`localhost`,`127.0.0.1`,`::1`]),w=/^\d{1,3}(?:\.\d{1,3}){3}$/;function T(e){let t=e.toLowerCase().replaceAll(/^\[|]$/g,``);return C.has(t)||w.test(t)?!0:t.includes(`:`)}var E=t();function D(){let e=(0,S.c)(49),{reason:t}=d.useSearch(),[n,r]=(0,x.useState)(null),m;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={resolver:p(ee)},e[0]=m):m=e[0];let{register:h,handleSubmit:g,formState:C}=f(m),{errors:w,isSubmitting:D}=C,k;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(k=async function(e){r(null);try{let t=await ne(e);i(t),te(),window.location.assign(`/`)}catch{r(`Invalid credentials. Please check your Access Key ID and Secret Access Key.`)}},e[1]=k):k=e[1];let A=k,j;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,E.jsxs)(_,{children:[(0,E.jsx)(y,{children:`Spinifex Credentials`}),(0,E.jsx)(re,{children:`Use the credentials provided with your Spinifex account.`})]}),e[2]=j):j=e[2];let M;e[3]!==n||e[4]!==t?(M=t===`expired`&&!n&&(0,E.jsx)(`p`,{className:`mb-4 rounded-md bg-muted p-3 text-sm text-muted-foreground`,children:`Your session is no longer valid — please sign in again.`}),e[3]=n,e[4]=t,e[5]=M):M=e[5];let N;e[6]===n?N=e[7]:(N=n&&(0,E.jsx)(`p`,{className:`mb-4 rounded-md bg-destructive/10 p-3 text-sm text-destructive`,children:n}),e[6]=n,e[7]=N);let P;e[8]===g?P=e[9]:(P=g(A),e[8]=g,e[9]=P);let F;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,E.jsx)(s,{children:(0,E.jsx)(`label`,{htmlFor:`accessKeyId`,children:`Access Key ID`})}),e[10]=F):F=e[10];let I=!!w.accessKeyId,L;e[11]===h?L=e[12]:(L=h(`accessKeyId`),e[11]=h,e[12]=L);let R;e[13]!==I||e[14]!==L?(R=(0,E.jsx)(o,{"aria-invalid":I,autoComplete:`username`,id:`accessKeyId`,placeholder:`AKIAIOSFODNN7EXAMPLE`,...L}),e[13]=I,e[14]=L,e[15]=R):R=e[15];let z;e[16]===w.accessKeyId?z=e[17]:(z=(0,E.jsx)(l,{errors:[w.accessKeyId]}),e[16]=w.accessKeyId,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,E.jsxs)(u,{children:[F,R,z]}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,E.jsx)(s,{children:(0,E.jsx)(`label`,{htmlFor:`secretAccessKey`,children:`Secret Access Key`})}),e[21]=V):V=e[21];let H=!!w.secretAccessKey,U;e[22]===h?U=e[23]:(U=h(`secretAccessKey`),e[22]=h,e[23]=U);let W;e[24]!==H||e[25]!==U?(W=(0,E.jsx)(o,{"aria-invalid":H,autoComplete:`current-password`,id:`secretAccessKey`,placeholder:`wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`,type:`password`,...U}),e[24]=H,e[25]=U,e[26]=W):W=e[26];let G;e[27]===w.secretAccessKey?G=e[28]:(G=(0,E.jsx)(l,{errors:[w.secretAccessKey]}),e[27]=w.secretAccessKey,e[28]=G);let K;e[29]!==W||e[30]!==G?(K=(0,E.jsxs)(u,{children:[V,W,G]}),e[29]=W,e[30]=G,e[31]=K):K=e[31];let q=D?`Signing in...`:`Sign In`,J;e[32]!==D||e[33]!==q?(J=(0,E.jsx)(a,{className:`w-full`,disabled:D,type:`submit`,children:q}),e[32]=D,e[33]=q,e[34]=J):J=e[34];let Y;e[35]!==B||e[36]!==K||e[37]!==J?(Y=(0,E.jsxs)(c,{children:[B,K,J]}),e[35]=B,e[36]=K,e[37]=J,e[38]=Y):Y=e[38];let X;e[39]!==Y||e[40]!==P?(X=(0,E.jsx)(`form`,{onSubmit:P,children:Y}),e[39]=Y,e[40]=P,e[41]=X):X=e[41];let Z;e[42]!==X||e[43]!==M||e[44]!==N?(Z=(0,E.jsxs)(b,{children:[j,(0,E.jsxs)(v,{children:[M,N,X]})]}),e[42]=X,e[43]=M,e[44]=N,e[45]=Z):Z=e[45];let Q;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Q=T(window.location.hostname)&&(0,E.jsx)(O,{}),e[46]=Q):Q=e[46];let $;return e[47]===Z?$=e[48]:($=(0,E.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,E.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-4`,children:[Z,Q]})}),e[47]=Z,e[48]=$),$}function O(){let e=(0,S.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`text-sm font-medium`,children:`Install Local Certificate Authority`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`To avoid browser certificate warnings, download and install the Spinifex CA as a trusted root on your OS.`})]}),n=(0,E.jsx)(`a`,{className:`inline-flex h-8 w-full items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground`,download:`spinifex-ca.pem`,href:`/api/ca.pem`,children:`Download CA Certificate`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(h,{className:`cursor-pointer text-xs text-muted-foreground underline-offset-4 hover:underline`,children:`Installation instructions`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,E.jsx)(b,{className:`border-muted bg-muted/30`,children:(0,E.jsx)(v,{className:`pt-4 pb-4`,children:(0,E.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,n,(0,E.jsxs)(g,{children:[r,(0,E.jsx)(m,{children:(0,E.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 text-xs text-muted-foreground`,children:[(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`font-medium text-foreground`,children:`macOS`}),(0,E.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain spinifex-ca.pem`})]}),(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`font-medium text-foreground`,children:`Windows`}),(0,E.jsx)(`p`,{children:`Double-click the file → Install Certificate → Local Machine → Trusted Root Certification Authorities`})]}),(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`font-medium text-foreground`,children:`Linux`}),(0,E.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo cp spinifex-ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt && sudo update-ca-certificates`})]})]})})]})]})})}),e[3]=i):i=e[3],i}export{D as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{o as i,r as ee}from"./cluster-config.js";import{t as a}from"./button.js";import{t as o}from"./input.js";import{t as te}from"./awsClient.js";import{t as s}from"./sts.js";import{t as c}from"./login.js";import{i as l,t as ne}from"./zod.js";import{a as u,i as d,r as f,t as p}from"./field.js";import{n as m,r as h,t as g}from"./collapsible.js";import{i as re,o as _,r as v,s as y,t as b}from"./card.js";var x=e(n()),S=r(),C=new Set([`localhost`,`127.0.0.1`,`::1`]),w=/^\d{1,3}(?:\.\d{1,3}){3}$/;function T(e){let t=e.toLowerCase().replaceAll(/^\[|]$/g,``);return C.has(t)||w.test(t)?!0:t.includes(`:`)}var E=t();function D(){let e=(0,S.c)(49),{reason:t}=c.useSearch(),[n,r]=(0,x.useState)(null),m;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={resolver:ne(ee)},e[0]=m):m=e[0];let{register:h,handleSubmit:g,formState:C}=l(m),{errors:w,isSubmitting:D}=C,k;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(k=async function(e){r(null);try{let t=await s(e);i(t),te(),window.location.assign(`/`)}catch{r(`Invalid credentials. Please check your Access Key ID and Secret Access Key.`)}},e[1]=k):k=e[1];let A=k,j;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,E.jsxs)(_,{children:[(0,E.jsx)(y,{children:`Spinifex Credentials`}),(0,E.jsx)(re,{children:`Use the credentials provided with your Spinifex account.`})]}),e[2]=j):j=e[2];let M;e[3]!==n||e[4]!==t?(M=t===`expired`&&!n&&(0,E.jsx)(`p`,{className:`mb-4 rounded-md bg-muted p-3 text-sm text-muted-foreground`,children:`Your session is no longer valid — please sign in again.`}),e[3]=n,e[4]=t,e[5]=M):M=e[5];let N;e[6]===n?N=e[7]:(N=n&&(0,E.jsx)(`p`,{className:`mb-4 rounded-md bg-destructive/10 p-3 text-sm text-destructive`,children:n}),e[6]=n,e[7]=N);let P;e[8]===g?P=e[9]:(P=g(A),e[8]=g,e[9]=P);let F;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,E.jsx)(u,{children:(0,E.jsx)(`label`,{htmlFor:`accessKeyId`,children:`Access Key ID`})}),e[10]=F):F=e[10];let I=!!w.accessKeyId,L;e[11]===h?L=e[12]:(L=h(`accessKeyId`),e[11]=h,e[12]=L);let R;e[13]!==I||e[14]!==L?(R=(0,E.jsx)(o,{"aria-invalid":I,autoComplete:`username`,id:`accessKeyId`,placeholder:`AKIAIOSFODNN7EXAMPLE`,...L}),e[13]=I,e[14]=L,e[15]=R):R=e[15];let z;e[16]===w.accessKeyId?z=e[17]:(z=(0,E.jsx)(f,{errors:[w.accessKeyId]}),e[16]=w.accessKeyId,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,E.jsxs)(p,{children:[F,R,z]}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,E.jsx)(u,{children:(0,E.jsx)(`label`,{htmlFor:`secretAccessKey`,children:`Secret Access Key`})}),e[21]=V):V=e[21];let H=!!w.secretAccessKey,U;e[22]===h?U=e[23]:(U=h(`secretAccessKey`),e[22]=h,e[23]=U);let W;e[24]!==H||e[25]!==U?(W=(0,E.jsx)(o,{"aria-invalid":H,autoComplete:`current-password`,id:`secretAccessKey`,placeholder:`wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`,type:`password`,...U}),e[24]=H,e[25]=U,e[26]=W):W=e[26];let G;e[27]===w.secretAccessKey?G=e[28]:(G=(0,E.jsx)(f,{errors:[w.secretAccessKey]}),e[27]=w.secretAccessKey,e[28]=G);let K;e[29]!==W||e[30]!==G?(K=(0,E.jsxs)(p,{children:[V,W,G]}),e[29]=W,e[30]=G,e[31]=K):K=e[31];let q=D?`Signing in...`:`Sign In`,J;e[32]!==D||e[33]!==q?(J=(0,E.jsx)(a,{className:`w-full`,disabled:D,type:`submit`,children:q}),e[32]=D,e[33]=q,e[34]=J):J=e[34];let Y;e[35]!==B||e[36]!==K||e[37]!==J?(Y=(0,E.jsxs)(d,{children:[B,K,J]}),e[35]=B,e[36]=K,e[37]=J,e[38]=Y):Y=e[38];let X;e[39]!==Y||e[40]!==P?(X=(0,E.jsx)(`form`,{onSubmit:P,children:Y}),e[39]=Y,e[40]=P,e[41]=X):X=e[41];let Z;e[42]!==X||e[43]!==M||e[44]!==N?(Z=(0,E.jsxs)(b,{children:[j,(0,E.jsxs)(v,{children:[M,N,X]})]}),e[42]=X,e[43]=M,e[44]=N,e[45]=Z):Z=e[45];let Q;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Q=T(window.location.hostname)&&(0,E.jsx)(O,{}),e[46]=Q):Q=e[46];let $;return e[47]===Z?$=e[48]:($=(0,E.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,E.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-4`,children:[Z,Q]})}),e[47]=Z,e[48]=$),$}function O(){let e=(0,S.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`text-sm font-medium`,children:`Install Local Certificate Authority`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`To avoid browser certificate warnings, download and install the Spinifex CA as a trusted root on your OS.`})]}),n=(0,E.jsx)(`a`,{className:`inline-flex h-8 w-full items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground`,download:`spinifex-ca.pem`,href:`/api/ca.pem`,children:`Download CA Certificate`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(h,{className:`cursor-pointer text-xs text-muted-foreground underline-offset-4 hover:underline`,children:`Installation instructions`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,E.jsx)(b,{className:`border-muted bg-muted/30`,children:(0,E.jsx)(v,{className:`pt-4 pb-4`,children:(0,E.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,n,(0,E.jsxs)(g,{children:[r,(0,E.jsx)(m,{children:(0,E.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 text-xs text-muted-foreground`,children:[(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`font-medium text-foreground`,children:`macOS`}),(0,E.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain spinifex-ca.pem`})]}),(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`font-medium text-foreground`,children:`Windows`}),(0,E.jsx)(`p`,{children:`Double-click the file → Install Certificate → Local Machine → Trusted Root Certification Authorities`})]}),(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`p`,{className:`font-medium text-foreground`,children:`Linux`}),(0,E.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo cp spinifex-ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt && sudo update-ca-certificates`})]})]})})]})]})})}),e[3]=i):i=e[3],i}export{D as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/mutation.js b/spinifex/services/spinifexui/frontend/dist/assets/mutation.js new file mode 100644 index 000000000..c65e2b586 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/mutation.js @@ -0,0 +1 @@ +import{c as e,o as t,r as n}from"./QueryClientProvider.js";var r=class extends n{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||i(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let n=()=>{this.#i({type:`continue`})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=t({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let i=this.state.status===`pending`,a=!this.#r.canStart();try{if(i)n();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let t=await this.#r.start();return await this.#n.config.onSuccess?.(t,e,this.state.context,this,r),await this.options.onSuccess?.(t,e,this.state.context,r),await this.#n.config.onSettled?.(t,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(t,null,e,this.state.context,r),this.#i({type:`success`,data:t}),t}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,r)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,r)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(t){let n=e=>{switch(t.type){case`failed`:return{...e,failureCount:t.failureCount,failureReason:t.error};case`pause`:return{...e,isPaused:!0};case`continue`:return{...e,isPaused:!1};case`pending`:return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:`pending`,variables:t.variables,submittedAt:Date.now()};case`success`:return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:`error`}}};this.state=n(this.state),e.batch(()=>{this.#t.forEach(e=>{e.onMutationUpdate(t)}),this.#n.notify({mutation:this,type:`updated`,action:t})})}};function i(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}export{i as n,r as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/query.js b/spinifex/services/spinifexui/frontend/dist/assets/query.js new file mode 100644 index 000000000..688f15367 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/query.js @@ -0,0 +1 @@ +import{C as e,O as t,T as n,a as r,c as i,d as a,f as o,i as s,k as c,m as l,o as u,p as d,r as f,w as p,x as m}from"./QueryClientProvider.js";function h(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],c=t.state.data?.pageParams||[],u={pages:[],pageParams:[]},f=0,p=async()=>{let n=!1,p=e=>{a(e,()=>t.signal,()=>n=!0)},m=l(t.options,t.fetchOptions),h=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return p(e),e})(),s=await m(a),{maxPages:c}=t.options,l=i?d:o;return{pages:l(e.pages,s,c),pageParams:l(e.pageParams,r,c)}};if(i&&s.length){let e=i===`backward`,t=e?_:g,n={pages:s,pageParams:c};u=await h(n,t(r,n),e)}else{let t=e??s.length;do{let e=f===0?c[0]??r.initialPageParam:g(r,u);if(f>0&&e==null)break;u=await h(u,e),f++}while(ft.options.persister?.(p,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):p}}}function g(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function _(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var v=class extends f{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=x(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=x(this.options);e.data!==void 0&&(this.setState(b(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(t,n){let r=e(this.state.data,t,this.options);return this.#l({data:r,type:`success`,dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(m).catch(m):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>p(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===t||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>n(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!c(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=l(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?h(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=u({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof s&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof s){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...y(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...b(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),i.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function y(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:r(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function b(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function x(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}export{y as n,v as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition.js b/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition.js index 5e1ce3e5e..f89373fb0 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/register-task-definition2.js","assets/compiler-runtime.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/plus.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ecs2.js","assets/QueryClientProvider.js","assets/useMutation.js","assets/awsClient.js","assets/index.browser.js","assets/signed-fetch.js","assets/ecs.js","assets/queryOptions.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/ecs3.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";var r=e(`/_auth/ecs/(clusters)/register-task-definition`)({validateSearch:e=>({cluster:typeof e.cluster==`string`?e.cluster:``}),head:()=>({meta:[{title:`Register Task Definition | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./register-task-definition2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),`component`)});export{r as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/register-task-definition2.js","assets/compiler-runtime.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/plus.js","assets/trash-2.js","assets/input.js","assets/ecs2.js","assets/QueryClientProvider.js","assets/useMutation.js","assets/mutation.js","assets/awsClient.js","assets/index.browser.js","assets/signed-fetch.js","assets/ecs.js","assets/queryOptions.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ecs3.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";var r=e(`/_auth/ecs/(clusters)/register-task-definition`)({validateSearch:e=>({cluster:typeof e.cluster==`string`?e.cluster:``}),head:()=>({meta:[{title:`Register Task Definition | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./register-task-definition2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{r as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition2.js b/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition2.js index 946d58fc4..ce90e090e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/register-task-definition2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as ee}from"./useNavigate.js";import{t as te}from"./back-link.js";import{c as n,i as r,n as i,s as a,t as o}from"./select.js";import{t as ne}from"./plus.js";import{t as re}from"./trash-2.js";import{t as ie}from"./button.js";import{t as s}from"./input.js";import{a as c,r as ae,t as l}from"./field.js";import{s as oe}from"./ecs2.js";import{i as se,n as ce,r as le,t as ue}from"./zod.js";import{t as de}from"./error-banner.js";import{t as fe}from"./page-heading.js";import{t as pe}from"./form-actions.js";import{t as u}from"./register-task-definition.js";import{r as me,t as he}from"./ecs3.js";var ge=t(),d=e();function f(e){let t=(0,ge.c)(129),{cluster:n}=e,r=ee(),i=oe(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ue(me),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:a,defaultValues:{family:``,networkMode:`bridge`,cpu:``,memory:``,containerName:``,image:``,containerCpu:``,containerMemory:``,containerGpuCount:0,essential:!0,portMappings:[]}},t[1]=o):o=t[1];let{control:u,handleSubmit:he,register:f,formState:ye}=se(o),{errors:p,isSubmitting:be}=ye,xe;t[2]===u?xe=t[3]:(xe={control:u,name:`portMappings`},t[2]=u,t[3]=xe);let m=le(xe),Se;t[4]!==n||t[5]!==r?(Se=function(){r(n?{to:`/ecs/list-clusters/$clusterName`,params:{clusterName:n}}:{to:`/ecs/list-clusters`})},t[4]=n,t[5]=r,t[6]=Se):Se=t[6];let h=Se,Ce;t[7]!==h||t[8]!==i?(Ce=async function(e){await i.mutateAsync(e),h()},t[7]=h,t[8]=i,t[9]=Ce):Ce=t[9];let we=Ce,Te,Ee;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,d.jsx)(te,{to:`/ecs/list-clusters`,children:`Clusters`}),Ee=(0,d.jsx)(fe,{subtitle:`Register a single-container task definition`,title:`Register Task Definition`}),t[10]=Te,t[11]=Ee):(Te=t[10],Ee=t[11]);let g;t[12]!==i.error||t[13]!==i.isError?(g=i.isError&&(0,d.jsx)(de,{error:i.error instanceof Error?i.error:void 0,msg:`Failed to register task definition.`}),t[12]=i.error,t[13]=i.isError,t[14]=g):g=t[14];let _;t[15]!==he||t[16]!==we?(_=he(we),t[15]=he,t[16]=we,t[17]=_):_=t[17];let De;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`family`,children:`Family`})}),t[18]=De):De=t[18];let v;t[19]===f?v=t[20]:(v=f(`family`),t[19]=f,t[20]=v);let y;t[21]===v?y=t[22]:(y=(0,d.jsx)(s,{id:`family`,placeholder:`my-app`,...v}),t[21]=v,t[22]=y);let b;t[23]===p.family?b=t[24]:(b=(0,d.jsx)(ae,{errors:[p.family]}),t[23]=p.family,t[24]=b);let x;t[25]!==y||t[26]!==b?(x=(0,d.jsxs)(l,{children:[De,y,b]}),t[25]=y,t[26]=b,t[27]=x):x=t[27];let Oe;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`networkMode`,children:`Network mode`})}),t[28]=Oe):Oe=t[28];let S;t[29]===u?S=t[30]:(S=(0,d.jsxs)(l,{children:[Oe,(0,d.jsx)(ce,{control:u,name:`networkMode`,render:ve})]}),t[29]=u,t[30]=S);let ke;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`cpu`,children:`Task CPU (units)`})}),t[31]=ke):ke=t[31];let C;t[32]===f?C=t[33]:(C=f(`cpu`),t[32]=f,t[33]=C);let w;t[34]===C?w=t[35]:(w=(0,d.jsxs)(l,{children:[ke,(0,d.jsx)(s,{id:`cpu`,placeholder:`optional`,...C})]}),t[34]=C,t[35]=w);let Ae;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`memory`,children:`Task memory (MiB)`})}),t[36]=Ae):Ae=t[36];let T;t[37]===f?T=t[38]:(T=f(`memory`),t[37]=f,t[38]=T);let E;t[39]===T?E=t[40]:(E=(0,d.jsxs)(l,{children:[Ae,(0,d.jsx)(s,{id:`memory`,placeholder:`optional`,...T})]}),t[39]=T,t[40]=E);let D;t[41]!==w||t[42]!==E?(D=(0,d.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[w,E]}),t[41]=w,t[42]=E,t[43]=D):D=t[43];let je;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,d.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Container`}),t[44]=je):je=t[44];let Me;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`containerName`,children:`Name`})}),t[45]=Me):Me=t[45];let O;t[46]===f?O=t[47]:(O=f(`containerName`),t[46]=f,t[47]=O);let k;t[48]===O?k=t[49]:(k=(0,d.jsx)(s,{id:`containerName`,placeholder:`app`,...O}),t[48]=O,t[49]=k);let A;t[50]===p.containerName?A=t[51]:(A=(0,d.jsx)(ae,{errors:[p.containerName]}),t[50]=p.containerName,t[51]=A);let j;t[52]!==k||t[53]!==A?(j=(0,d.jsxs)(l,{children:[Me,k,A]}),t[52]=k,t[53]=A,t[54]=j):j=t[54];let Ne;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`image`,children:`Image`})}),t[55]=Ne):Ne=t[55];let Pe;t[56]===f?Pe=t[57]:(Pe=f(`image`),t[56]=f,t[57]=Pe);let M;t[58]===Pe?M=t[59]:(M=(0,d.jsx)(s,{id:`image`,placeholder:`public.ecr.aws/nginx/nginx:latest`,...Pe}),t[58]=Pe,t[59]=M);let N;t[60]===p.image?N=t[61]:(N=(0,d.jsx)(ae,{errors:[p.image]}),t[60]=p.image,t[61]=N);let P;t[62]!==M||t[63]!==N?(P=(0,d.jsxs)(l,{children:[Ne,M,N]}),t[62]=M,t[63]=N,t[64]=P):P=t[64];let Fe;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`containerCpu`,children:`CPU (units)`})}),t[65]=Fe):Fe=t[65];let F;t[66]===f?F=t[67]:(F=f(`containerCpu`),t[66]=f,t[67]=F);let I;t[68]===F?I=t[69]:(I=(0,d.jsxs)(l,{children:[Fe,(0,d.jsx)(s,{id:`containerCpu`,placeholder:`optional`,...F})]}),t[68]=F,t[69]=I);let Ie;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`containerMemory`,children:`Memory (MiB)`})}),t[70]=Ie):Ie=t[70];let L;t[71]===f?L=t[72]:(L=f(`containerMemory`),t[71]=f,t[72]=L);let R;t[73]===L?R=t[74]:(R=(0,d.jsxs)(l,{children:[Ie,(0,d.jsx)(s,{id:`containerMemory`,placeholder:`optional`,...L})]}),t[73]=L,t[74]=R);let Le;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`containerGpuCount`,children:`GPU count`})}),t[75]=Le):Le=t[75];let z;t[76]===f?z=t[77]:(z=f(`containerGpuCount`,{valueAsNumber:!0}),t[76]=f,t[77]=z);let B;t[78]===z?B=t[79]:(B=(0,d.jsx)(s,{id:`containerGpuCount`,min:0,placeholder:`0`,type:`number`,...z}),t[78]=z,t[79]=B);let V;t[80]===p.containerGpuCount?V=t[81]:(V=(0,d.jsx)(ae,{errors:[p.containerGpuCount]}),t[80]=p.containerGpuCount,t[81]=V);let H;t[82]!==B||t[83]!==V?(H=(0,d.jsxs)(l,{children:[Le,B,V]}),t[82]=B,t[83]=V,t[84]=H):H=t[84];let U;t[85]!==I||t[86]!==R||t[87]!==H?(U=(0,d.jsxs)(`div`,{className:`grid grid-cols-3 gap-4`,children:[I,R,H]}),t[85]=I,t[86]=R,t[87]=H,t[88]=U):U=t[88];let W;t[89]===f?W=t[90]:(W=f(`essential`),t[89]=f,t[90]=W);let G;t[91]===W?G=t[92]:(G=(0,d.jsx)(`input`,{type:`checkbox`,...W}),t[91]=W,t[92]=G);let Re;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,d.jsx)(`span`,{children:`Essential`}),t[93]=Re):Re=t[93];let K;t[94]===G?K=t[95]:(K=(0,d.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[G,Re]}),t[94]=G,t[95]=K);let ze;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,d.jsx)(`span`,{className:`text-sm font-medium`,children:`Port mappings`}),t[96]=ze):ze=t[96];let q;t[97]===m?q=t[98]:(q=()=>m.append({containerPort:80,protocol:`tcp`}),t[97]=m,t[98]=q);let Be;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,d.jsx)(ne,{className:`size-4`}),t[99]=Be):Be=t[99];let J;t[100]===q?J=t[101]:(J=(0,d.jsxs)(`div`,{className:`flex items-center justify-between`,children:[ze,(0,d.jsxs)(ie,{onClick:q,size:`sm`,type:`button`,variant:`outline`,children:[Be,`Add port`]})]}),t[100]=q,t[101]=J);let Y;t[102]!==u||t[103]!==f||t[104]!==m?(Y=m.fields.map((e,t)=>(0,d.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,d.jsxs)(l,{className:`flex-1`,children:[(0,d.jsx)(c,{children:(0,d.jsx)(`label`,{htmlFor:`port-${t}`,children:`Container port`})}),(0,d.jsx)(s,{id:`port-${t}`,type:`number`,...f(`portMappings.${t}.containerPort`,{valueAsNumber:!0})})]}),(0,d.jsx)(ce,{control:u,name:`portMappings.${t}.protocol`,render:_e}),(0,d.jsx)(ie,{"aria-label":`Remove port mapping`,onClick:()=>m.remove(t),size:`icon`,type:`button`,variant:`ghost`,children:(0,d.jsx)(re,{className:`size-4`})})]},e.id)),t[102]=u,t[103]=f,t[104]=m,t[105]=Y):Y=t[105];let X;t[106]!==J||t[107]!==Y?(X=(0,d.jsxs)(`div`,{className:`space-y-2`,children:[J,Y]}),t[106]=J,t[107]=Y,t[108]=X):X=t[108];let Z;t[109]!==j||t[110]!==P||t[111]!==U||t[112]!==K||t[113]!==X?(Z=(0,d.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[je,(0,d.jsxs)(`div`,{className:`space-y-4`,children:[j,P,U,K,X]})]}),t[109]=j,t[110]=P,t[111]=U,t[112]=K,t[113]=X,t[114]=Z):Z=t[114];let Q;t[115]!==h||t[116]!==be||t[117]!==i.isPending?(Q=(0,d.jsx)(pe,{isPending:i.isPending,isSubmitting:be,onCancel:h,pendingLabel:`Registering…`,submitLabel:`Register Task Definition`}),t[115]=h,t[116]=be,t[117]=i.isPending,t[118]=Q):Q=t[118];let $;t[119]!==_||t[120]!==x||t[121]!==S||t[122]!==D||t[123]!==Z||t[124]!==Q?($=(0,d.jsxs)(`form`,{className:`max-w-2xl space-y-6`,onSubmit:_,children:[x,S,D,Z,Q]}),t[119]=_,t[120]=x,t[121]=S,t[122]=D,t[123]=Z,t[124]=Q,t[125]=$):$=t[125];let Ve;return t[126]!==$||t[127]!==g?(Ve=(0,d.jsxs)(d.Fragment,{children:[Te,Ee,g,$]}),t[126]=$,t[127]=g,t[128]=Ve):Ve=t[128],Ve}function _e(e){let{field:t}=e;return(0,d.jsxs)(o,{onValueChange:t.onChange,value:t.value,children:[(0,d.jsx)(a,{className:`w-28`,children:(0,d.jsx)(n,{})}),(0,d.jsxs)(i,{children:[(0,d.jsx)(r,{value:`tcp`,children:`tcp`}),(0,d.jsx)(r,{value:`udp`,children:`udp`})]})]})}function ve(e){let{field:t}=e;return(0,d.jsxs)(o,{onValueChange:t.onChange,value:t.value,children:[(0,d.jsx)(a,{className:`w-full`,id:`networkMode`,children:(0,d.jsx)(n,{})}),(0,d.jsx)(i,{children:he.map(ye)})]})}function ye(e){return(0,d.jsx)(r,{value:e,children:e},e)}function p(){let e=(0,ge.c)(2),{cluster:t}=u.useSearch(),ee;return e[0]===t?ee=e[1]:(ee=(0,d.jsx)(f,{cluster:t}),e[0]=t,e[1]=ee),ee}export{p as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as ee}from"./useNavigate.js";import{t as te}from"./back-link.js";import{c as n,i as r,n as i,s as a,t as o}from"./select.js";import{t as ne}from"./plus.js";import{t as re}from"./trash-2.js";import{t as ie}from"./button.js";import{t as s}from"./input.js";import{s as ae}from"./ecs2.js";import{t as c}from"./register-task-definition.js";import{i as oe,n as se,r as ce,t as le}from"./zod.js";import{t as ue}from"./error-banner.js";import{t as de}from"./form-actions.js";import{t as fe}from"./page-heading.js";import{a as l,r as pe,t as u}from"./field.js";import{r as me,t as he}from"./ecs3.js";var ge=t(),d=e();function f(e){let t=(0,ge.c)(129),{cluster:n}=e,r=ee(),i=ae(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=le(me),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:a,defaultValues:{family:``,networkMode:`bridge`,cpu:``,memory:``,containerName:``,image:``,containerCpu:``,containerMemory:``,containerGpuCount:0,essential:!0,portMappings:[]}},t[1]=o):o=t[1];let{control:c,handleSubmit:he,register:f,formState:ye}=oe(o),{errors:p,isSubmitting:be}=ye,xe;t[2]===c?xe=t[3]:(xe={control:c,name:`portMappings`},t[2]=c,t[3]=xe);let m=ce(xe),Se;t[4]!==n||t[5]!==r?(Se=function(){r(n?{to:`/ecs/list-clusters/$clusterName`,params:{clusterName:n}}:{to:`/ecs/list-clusters`})},t[4]=n,t[5]=r,t[6]=Se):Se=t[6];let h=Se,Ce;t[7]!==h||t[8]!==i?(Ce=async function(e){await i.mutateAsync(e),h()},t[7]=h,t[8]=i,t[9]=Ce):Ce=t[9];let we=Ce,Te,Ee;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,d.jsx)(te,{to:`/ecs/list-clusters`,children:`Clusters`}),Ee=(0,d.jsx)(fe,{subtitle:`Register a single-container task definition`,title:`Register Task Definition`}),t[10]=Te,t[11]=Ee):(Te=t[10],Ee=t[11]);let g;t[12]!==i.error||t[13]!==i.isError?(g=i.isError&&(0,d.jsx)(ue,{error:i.error instanceof Error?i.error:void 0,msg:`Failed to register task definition.`}),t[12]=i.error,t[13]=i.isError,t[14]=g):g=t[14];let _;t[15]!==he||t[16]!==we?(_=he(we),t[15]=he,t[16]=we,t[17]=_):_=t[17];let De;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`family`,children:`Family`})}),t[18]=De):De=t[18];let v;t[19]===f?v=t[20]:(v=f(`family`),t[19]=f,t[20]=v);let y;t[21]===v?y=t[22]:(y=(0,d.jsx)(s,{id:`family`,placeholder:`my-app`,...v}),t[21]=v,t[22]=y);let b;t[23]===p.family?b=t[24]:(b=(0,d.jsx)(pe,{errors:[p.family]}),t[23]=p.family,t[24]=b);let x;t[25]!==y||t[26]!==b?(x=(0,d.jsxs)(u,{children:[De,y,b]}),t[25]=y,t[26]=b,t[27]=x):x=t[27];let Oe;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`networkMode`,children:`Network mode`})}),t[28]=Oe):Oe=t[28];let S;t[29]===c?S=t[30]:(S=(0,d.jsxs)(u,{children:[Oe,(0,d.jsx)(se,{control:c,name:`networkMode`,render:ve})]}),t[29]=c,t[30]=S);let ke;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`cpu`,children:`Task CPU (units)`})}),t[31]=ke):ke=t[31];let C;t[32]===f?C=t[33]:(C=f(`cpu`),t[32]=f,t[33]=C);let w;t[34]===C?w=t[35]:(w=(0,d.jsxs)(u,{children:[ke,(0,d.jsx)(s,{id:`cpu`,placeholder:`optional`,...C})]}),t[34]=C,t[35]=w);let Ae;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`memory`,children:`Task memory (MiB)`})}),t[36]=Ae):Ae=t[36];let T;t[37]===f?T=t[38]:(T=f(`memory`),t[37]=f,t[38]=T);let E;t[39]===T?E=t[40]:(E=(0,d.jsxs)(u,{children:[Ae,(0,d.jsx)(s,{id:`memory`,placeholder:`optional`,...T})]}),t[39]=T,t[40]=E);let D;t[41]!==w||t[42]!==E?(D=(0,d.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[w,E]}),t[41]=w,t[42]=E,t[43]=D):D=t[43];let je;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,d.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Container`}),t[44]=je):je=t[44];let Me;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`containerName`,children:`Name`})}),t[45]=Me):Me=t[45];let O;t[46]===f?O=t[47]:(O=f(`containerName`),t[46]=f,t[47]=O);let k;t[48]===O?k=t[49]:(k=(0,d.jsx)(s,{id:`containerName`,placeholder:`app`,...O}),t[48]=O,t[49]=k);let A;t[50]===p.containerName?A=t[51]:(A=(0,d.jsx)(pe,{errors:[p.containerName]}),t[50]=p.containerName,t[51]=A);let j;t[52]!==k||t[53]!==A?(j=(0,d.jsxs)(u,{children:[Me,k,A]}),t[52]=k,t[53]=A,t[54]=j):j=t[54];let Ne;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`image`,children:`Image`})}),t[55]=Ne):Ne=t[55];let Pe;t[56]===f?Pe=t[57]:(Pe=f(`image`),t[56]=f,t[57]=Pe);let M;t[58]===Pe?M=t[59]:(M=(0,d.jsx)(s,{id:`image`,placeholder:`public.ecr.aws/nginx/nginx:latest`,...Pe}),t[58]=Pe,t[59]=M);let N;t[60]===p.image?N=t[61]:(N=(0,d.jsx)(pe,{errors:[p.image]}),t[60]=p.image,t[61]=N);let P;t[62]!==M||t[63]!==N?(P=(0,d.jsxs)(u,{children:[Ne,M,N]}),t[62]=M,t[63]=N,t[64]=P):P=t[64];let Fe;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`containerCpu`,children:`CPU (units)`})}),t[65]=Fe):Fe=t[65];let F;t[66]===f?F=t[67]:(F=f(`containerCpu`),t[66]=f,t[67]=F);let I;t[68]===F?I=t[69]:(I=(0,d.jsxs)(u,{children:[Fe,(0,d.jsx)(s,{id:`containerCpu`,placeholder:`optional`,...F})]}),t[68]=F,t[69]=I);let Ie;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`containerMemory`,children:`Memory (MiB)`})}),t[70]=Ie):Ie=t[70];let L;t[71]===f?L=t[72]:(L=f(`containerMemory`),t[71]=f,t[72]=L);let R;t[73]===L?R=t[74]:(R=(0,d.jsxs)(u,{children:[Ie,(0,d.jsx)(s,{id:`containerMemory`,placeholder:`optional`,...L})]}),t[73]=L,t[74]=R);let Le;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`containerGpuCount`,children:`GPU count`})}),t[75]=Le):Le=t[75];let z;t[76]===f?z=t[77]:(z=f(`containerGpuCount`,{valueAsNumber:!0}),t[76]=f,t[77]=z);let B;t[78]===z?B=t[79]:(B=(0,d.jsx)(s,{id:`containerGpuCount`,min:0,placeholder:`0`,type:`number`,...z}),t[78]=z,t[79]=B);let V;t[80]===p.containerGpuCount?V=t[81]:(V=(0,d.jsx)(pe,{errors:[p.containerGpuCount]}),t[80]=p.containerGpuCount,t[81]=V);let H;t[82]!==B||t[83]!==V?(H=(0,d.jsxs)(u,{children:[Le,B,V]}),t[82]=B,t[83]=V,t[84]=H):H=t[84];let U;t[85]!==I||t[86]!==R||t[87]!==H?(U=(0,d.jsxs)(`div`,{className:`grid grid-cols-3 gap-4`,children:[I,R,H]}),t[85]=I,t[86]=R,t[87]=H,t[88]=U):U=t[88];let W;t[89]===f?W=t[90]:(W=f(`essential`),t[89]=f,t[90]=W);let G;t[91]===W?G=t[92]:(G=(0,d.jsx)(`input`,{type:`checkbox`,...W}),t[91]=W,t[92]=G);let Re;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,d.jsx)(`span`,{children:`Essential`}),t[93]=Re):Re=t[93];let K;t[94]===G?K=t[95]:(K=(0,d.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[G,Re]}),t[94]=G,t[95]=K);let ze;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,d.jsx)(`span`,{className:`text-sm font-medium`,children:`Port mappings`}),t[96]=ze):ze=t[96];let q;t[97]===m?q=t[98]:(q=()=>m.append({containerPort:80,protocol:`tcp`}),t[97]=m,t[98]=q);let Be;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,d.jsx)(ne,{className:`size-4`}),t[99]=Be):Be=t[99];let J;t[100]===q?J=t[101]:(J=(0,d.jsxs)(`div`,{className:`flex items-center justify-between`,children:[ze,(0,d.jsxs)(ie,{onClick:q,size:`sm`,type:`button`,variant:`outline`,children:[Be,`Add port`]})]}),t[100]=q,t[101]=J);let Y;t[102]!==c||t[103]!==f||t[104]!==m?(Y=m.fields.map((e,t)=>(0,d.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,d.jsxs)(u,{className:`flex-1`,children:[(0,d.jsx)(l,{children:(0,d.jsx)(`label`,{htmlFor:`port-${t}`,children:`Container port`})}),(0,d.jsx)(s,{id:`port-${t}`,type:`number`,...f(`portMappings.${t}.containerPort`,{valueAsNumber:!0})})]}),(0,d.jsx)(se,{control:c,name:`portMappings.${t}.protocol`,render:_e}),(0,d.jsx)(ie,{"aria-label":`Remove port mapping`,onClick:()=>m.remove(t),size:`icon`,type:`button`,variant:`ghost`,children:(0,d.jsx)(re,{className:`size-4`})})]},e.id)),t[102]=c,t[103]=f,t[104]=m,t[105]=Y):Y=t[105];let X;t[106]!==J||t[107]!==Y?(X=(0,d.jsxs)(`div`,{className:`space-y-2`,children:[J,Y]}),t[106]=J,t[107]=Y,t[108]=X):X=t[108];let Z;t[109]!==j||t[110]!==P||t[111]!==U||t[112]!==K||t[113]!==X?(Z=(0,d.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[je,(0,d.jsxs)(`div`,{className:`space-y-4`,children:[j,P,U,K,X]})]}),t[109]=j,t[110]=P,t[111]=U,t[112]=K,t[113]=X,t[114]=Z):Z=t[114];let Q;t[115]!==h||t[116]!==be||t[117]!==i.isPending?(Q=(0,d.jsx)(de,{isPending:i.isPending,isSubmitting:be,onCancel:h,pendingLabel:`Registering…`,submitLabel:`Register Task Definition`}),t[115]=h,t[116]=be,t[117]=i.isPending,t[118]=Q):Q=t[118];let $;t[119]!==_||t[120]!==x||t[121]!==S||t[122]!==D||t[123]!==Z||t[124]!==Q?($=(0,d.jsxs)(`form`,{className:`max-w-2xl space-y-6`,onSubmit:_,children:[x,S,D,Z,Q]}),t[119]=_,t[120]=x,t[121]=S,t[122]=D,t[123]=Z,t[124]=Q,t[125]=$):$=t[125];let Ve;return t[126]!==$||t[127]!==g?(Ve=(0,d.jsxs)(d.Fragment,{children:[Te,Ee,g,$]}),t[126]=$,t[127]=g,t[128]=Ve):Ve=t[128],Ve}function _e(e){let{field:t}=e;return(0,d.jsxs)(o,{onValueChange:t.onChange,value:t.value,children:[(0,d.jsx)(a,{className:`w-28`,children:(0,d.jsx)(n,{})}),(0,d.jsxs)(i,{children:[(0,d.jsx)(r,{value:`tcp`,children:`tcp`}),(0,d.jsx)(r,{value:`udp`,children:`udp`})]})]})}function ve(e){let{field:t}=e;return(0,d.jsxs)(o,{onValueChange:t.onChange,value:t.value,children:[(0,d.jsx)(a,{className:`w-full`,id:`networkMode`,children:(0,d.jsx)(n,{})}),(0,d.jsx)(i,{children:he.map(ye)})]})}function ye(e){return(0,d.jsx)(r,{value:e,children:e},e)}function p(){let e=(0,ge.c)(2),{cluster:t}=c.useSearch(),ee;return e[0]===t?ee=e[1]:(ee=(0,d.jsx)(f,{cluster:t}),e[0]=t,e[1]=ee),ee}export{p as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/run-instances.js b/spinifex/services/spinifexui/frontend/dist/assets/run-instances.js new file mode 100644 index 000000000..3417a98cd --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/run-instances.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/run-instances2.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/chevron-down.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/cli-command-panel.js","assets/copy.js","assets/use-copy-to-clipboard.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/mutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ec23.js","assets/gpu-instance-type-select.js","assets/collapsible.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{M as r,O as i,c as a,h as o,o as s,p as c,w as l,y as u}from"./ec2.js";var d=e(`/_auth/ec2/(instances)/run-instances`)({validateSearch:e=>({launchTemplateId:typeof e.launchTemplateId==`string`?e.launchTemplateId:void 0,launchTemplateVersion:typeof e.launchTemplateVersion==`string`?e.launchTemplateVersion:void 0}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(u),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(l),e.queryClient.ensureQueryData(o)])},head:()=>({meta:[{title:`Run Instances | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./run-instances2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46])),`component`)});export{d as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/run-instances2.js b/spinifex/services/spinifexui/frontend/dist/assets/run-instances2.js new file mode 100644 index 000000000..dfb7ca047 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/run-instances2.js @@ -0,0 +1,18 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useQuery.js";import{t as i}from"./useSuspenseQuery.js";import{t as te}from"./useNavigate.js";import{en as ne}from"./cluster-config.js";import{t as re}from"./back-link.js";import{t as ie}from"./chevron-down.js";import{c as a,i as o,n as s,s as c,t as l}from"./select.js";import{t as ae}from"./cli-command-panel.js";import{t as oe}from"./button.js";import{t as u}from"./input.js";import{M as se,O as ce,c as le,h as ue,m as de,o as fe,p as d,w as pe,y as me}from"./ec2.js";import{f as he}from"./ec22.js";import{t as f}from"./run-instances.js";import{a as p,i as ge,n as m,t as _e}from"./zod.js";import{t as ve}from"./error-banner.js";import{t as ye}from"./page-heading.js";import{a as h,n as be,r as g,t as _}from"./field.js";import{b as xe,i as Se,t as Ce}from"./ec23.js";import{t as we}from"./gpu-instance-type-select.js";import{n as Te,r as Ee,t as De}from"./collapsible.js";var Oe=r(),ke=e(n(),1),v=t(),Ae=`/dev/sda1`,je=`gp3`,Me=1,Ne=16384;function Pe(e){let t=(0,Oe.c)(137),{launchTemplateId:n,launchTemplateVersion:r}=e,f=te(),{data:Ae}=i(fe),{data:Pe}=i(d),{data:y}=i(le),{data:tt}=i(ce),{data:nt}=i(me),{data:rt}=i(se),{data:it}=i(pe),{data:at}=i(ue),b=he(),x=Ae.Images??[],ot=Pe.KeyPairs??[],st;t[0]===tt.Subnets?st=t[1]:(st=tt.Subnets??[],t[0]=tt.Subnets,t[1]=st);let ct=st,lt;t[2]===nt.PlacementGroups?lt=t[3]:(lt=nt.PlacementGroups??[],t[2]=nt.PlacementGroups,t[3]=lt);let ut=lt,dt;t[4]===rt.Vpcs?dt=t[5]:(dt=rt.Vpcs??[],t[4]=rt.Vpcs,t[5]=dt);let ft=dt,pt=it.SecurityGroups??[],mt;t[6]===at.LaunchTemplates?mt=t[7]:(mt=at.LaunchTemplates??[],t[6]=at.LaunchTemplates,t[7]=mt);let ht=mt,gt;t[8]===ft?gt=t[9]:(gt=(ft.find(Ze)??ft[0])?.VpcId,t[8]=ft,t[9]=gt);let _t=gt,vt=xe(pt.map(Xe)),S;if(t[10]!==y.InstanceTypes){S={};for(let e of y.InstanceTypes??[]){let t=e.InstanceType;t&&(S[t]=(S[t]??0)+1)}t[10]=y.InstanceTypes,t[11]=S}else S=t[11];let C=Object.keys(S).toSorted(),yt=x[0]?.ImageId,bt=ot[0]?.KeyName,xt=C.find(Ye)??C[0],St=Qe(x.find(e=>e.ImageId===yt)),Ct;t[12]===S?Ct=t[13]:(Ct=e=>!e.instanceType||e.count<=(S[e.instanceType]??1),t[12]=S,t[13]=Ct);let{control:w,handleSubmit:wt,register:T,setValue:E,getValues:Tt,watch:Et,formState:Dt}=ge({resolver:_e(Se.refine(Ct,{message:`Cannot exceed available capacity`,path:[`count`]}).superRefine((e,t)=>{let n=Qe(x.find(t=>t.ImageId===e.imageId)).snapshotSize;e.rootVolumeSize!==void 0&&n!==void 0&&e.rootVolumeSizee.InstanceType===At))?.GpuInfo?.Gpus?.[0],Mt=O?.Name?.startsWith(`MIG `)?O.Name.slice(4):void 0,Nt;t[16]===w?Nt=t[17]:(Nt={control:w,name:`imageId`},t[16]=w,t[17]=Nt);let k=p(Nt),Pt;t[18]===k?Pt=t[19]:(Pt=e=>e.ImageId===k,t[18]=k,t[19]=Pt);let A=Qe(x.find(Pt)),Ft;t[20]===w?Ft=t[21]:(Ft={control:w,name:`subnetId`},t[20]=w,t[21]=Ft);let It=p(Ft),Lt;t[22]===w?Lt=t[23]:(Lt={control:w,name:`securityGroupMode`},t[22]=w,t[23]=Lt);let Rt=p(Lt),zt;t[24]===w?zt=t[25]:(zt={control:w,name:`ruleSource`},t[24]=w,t[25]=zt);let Bt=p(zt),Vt=p({control:w,name:`securityGroupIds`})??[],Ht;t[26]===Vt?Ht=t[27]:(Ht=new Set(Vt),t[26]=Vt,t[27]=Ht);let Ut=Ht,Wt;t[28]===w?Wt=t[29]:(Wt={control:w,name:`launchTemplateId`},t[28]=w,t[29]=Wt);let j=p(Wt),Gt;t[30]===w?Gt=t[31]:(Gt={control:w,name:`launchTemplateVersion`},t[30]=w,t[31]=Gt);let Kt=p(Gt),qt=j??``,M;t[32]===qt?M=t[33]:(M=de(qt),t[32]=qt,t[33]=M);let Jt=!!j,Yt;t[34]!==M||t[35]!==Jt?(Yt={...M,enabled:Jt},t[34]=M,t[35]=Jt,t[36]=Yt):Yt=t[36];let Xt=ee(Yt),Zt;t[37]===Xt.data?.LaunchTemplateVersions?Zt=t[38]:(Zt=Xt.data?.LaunchTemplateVersions??[],t[37]=Xt.data?.LaunchTemplateVersions,t[38]=Zt);let N=Zt,Qt;t[39]!==Kt||t[40]!==N?(Qt=$e(N,Kt)?.LaunchTemplateData,t[39]=Kt,t[40]=N,t[41]=Qt):Qt=t[41];let P=Qt,$t;t[42]!==_t||t[43]!==It||t[44]!==ct?($t=ct.find(e=>e.SubnetId===It)?.VpcId??_t,t[42]=_t,t[43]=It,t[44]=ct,t[45]=$t):$t=t[45];let F=$t,en;t[46]!==F||t[47]!==pt?(en=F?pt.filter(e=>e.VpcId===F):pt,t[46]=F,t[47]=pt,t[48]=en):en=t[48];let tn=en,nn;t[49]!==Tt||t[50]!==E?(nn=e=>{let t=Tt(`securityGroupIds`)??[],n=t.includes(e)?t.filter(t=>t!==e):[...t,e];E(`securityGroupIds`,n,{shouldValidate:!0})},t[49]=Tt,t[50]=E,t[51]=nn):nn=t[51];let rn=nn,an;t[52]!==A.deviceName||t[53]!==E?(an=()=>{E(`rootDeviceName`,A.deviceName)},t[52]=A.deviceName,t[53]=E,t[54]=an):an=t[54];let on;t[55]!==k||t[56]!==A.deviceName||t[57]!==E?(on=[k,A.deviceName,E],t[55]=k,t[56]=A.deviceName,t[57]=E,t[58]=on):on=t[58],(0,ke.useEffect)(an,on);let sn;t[59]!==b||t[60]!==F||t[61]!==f?(sn=async e=>{let t=e.launchTemplateId?{count:e.count,launchTemplateId:e.launchTemplateId,launchTemplateVersion:e.launchTemplateVersion,resolvedVpcId:F}:{...e,resolvedVpcId:F};await b.mutateAsync(t),f({to:`/ec2/describe-instances`})},t[59]=b,t[60]=F,t[61]=f,t[62]=sn):sn=t[62];let cn=sn,I,L;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,v.jsx)(re,{to:`/ec2/describe-instances`,children:`Back to instances`}),L=(0,v.jsx)(ye,{title:`Run Instances`}),t[63]=I,t[64]=L):(I=t[63],L=t[64]);let R;t[65]!==j||t[66]!==C?(R=C.length===0&&!j&&(0,v.jsx)(ve,{msg:`No compute available. No new instances can be created until compute is available.`}),t[65]=j,t[66]=C,t[67]=R):R=t[67];let z;t[68]===b.error?z=t[69]:(z=b.error&&(0,v.jsx)(ve,{error:b.error,msg:`Failed to create instance`}),t[68]=b.error,t[69]=z);let B;t[70]!==wt||t[71]!==cn?(B=wt(cn),t[70]=wt,t[71]=cn,t[72]=B):B=t[72];let ln;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(ln=(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`launchTemplateId`,children:`Launch Template`})}),t[73]=ln):ln=t[73];let V;t[74]===ht?V=t[75]:(V=e=>{let{field:t}=e;return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,v.jsx)(c,{className:`w-full`,id:`launchTemplateId`,children:(0,v.jsx)(a,{})}),(0,v.jsxs)(s,{children:[(0,v.jsx)(o,{value:`none`,children:`none`}),ht.map(Je)]})]})},t[74]=ht,t[75]=V);let H;t[76]!==w||t[77]!==V?(H=(0,v.jsxs)(_,{children:[ln,(0,v.jsx)(m,{control:w,name:`launchTemplateId`,render:V})]}),t[76]=w,t[77]=V,t[78]=H):H=t[78];let U;t[79]!==w||t[80]!==P||t[81]!==j||t[82]!==N?(U=j&&(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`launchTemplateVersion`,children:`Version`})}),(0,v.jsx)(m,{control:w,name:`launchTemplateVersion`,render:e=>{let{field:t}=e;return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e),value:t.value??`$Default`,children:[(0,v.jsx)(c,{className:`w-full`,id:`launchTemplateVersion`,children:(0,v.jsx)(a,{})}),(0,v.jsxs)(s,{children:[(0,v.jsx)(o,{value:`$Default`,children:`$Default`}),(0,v.jsx)(o,{value:`$Latest`,children:`$Latest`}),N.map(qe)]})]})}}),P&&(0,v.jsxs)(`div`,{className:`mt-3 space-y-1 rounded-md border border-border p-3 text-xs`,children:[(0,v.jsx)(`p`,{className:`text-muted-foreground`,children:`Configuration from this version:`}),(0,v.jsxs)(`p`,{children:[`Image:`,` `,(0,v.jsx)(`span`,{className:`font-mono`,children:P.ImageId??`—`})]}),(0,v.jsxs)(`p`,{children:[`Instance type:`,` `,(0,v.jsx)(`span`,{className:`font-mono`,children:P.InstanceType??`—`})]}),(0,v.jsxs)(`p`,{children:[`Key pair:`,` `,(0,v.jsx)(`span`,{className:`font-mono`,children:P.KeyName??`—`})]})]})]}),t[79]=w,t[80]=P,t[81]=j,t[82]=N,t[83]=U):U=t[83];let un=!j&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`imageId`,children:`Image`})}),(0,v.jsx)(m,{control:w,name:`imageId`,render:e=>{let{field:t}=e,n=x.find(e=>e.ImageId===t.value);return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,v.jsx)(c,{"aria-invalid":!!D.imageId,className:`w-full`,id:`imageId`,children:(0,v.jsx)(a,{children:n?`${n.Name??`Unnamed`} (${n.Architecture})`:``})}),(0,v.jsx)(s,{children:x.map(Ke)})]})}}),(0,v.jsx)(g,{errors:[D.imageId]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,v.jsx)(m,{control:w,name:`instanceType`,render:e=>{let{field:t}=e;return(0,v.jsx)(we,{"aria-invalid":!!D.instanceType,availabilityByType:S,className:`w-full`,id:`instanceType`,instanceTypes:y.InstanceTypes??[],onValueChange:t.onChange,value:t.value??``})}}),O&&(0,v.jsxs)(be,{children:[`GPU: `,O.Name,O.MemoryInfo?.SizeInMiB!==void 0&&` · ${ne(O.MemoryInfo.SizeInMiB)} VRAM`,Mt&&` · MIG ${Mt} slice`]}),(0,v.jsx)(g,{errors:[D.instanceType]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair`})}),(0,v.jsx)(m,{control:w,name:`keyName`,render:e=>{let{field:t}=e;return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,v.jsx)(c,{"aria-invalid":!!D.keyName,className:`w-full`,id:`keyName`,children:(0,v.jsx)(a,{})}),(0,v.jsx)(s,{children:ot.map(Ge)})]})}}),(0,v.jsx)(g,{errors:[D.keyName]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`subnetId`,children:`Subnet`})}),(0,v.jsx)(m,{control:w,name:`subnetId`,render:e=>{let{field:t}=e;return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,v.jsx)(c,{className:`w-full`,id:`subnetId`,children:(0,v.jsx)(a,{})}),(0,v.jsxs)(s,{children:[(0,v.jsx)(o,{value:`none`,children:`none`}),ct.map(We)]})]})}})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:`Security Group`}),(0,v.jsx)(be,{children:F?`Applies to VPC ${F}`:`No VPC resolved — select a subnet`}),(0,v.jsx)(m,{control:w,name:`securityGroupMode`,render:Ue}),Rt===`create`?(0,v.jsxs)(`div`,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`newSgName`,children:`Name`})}),(0,v.jsx)(u,{"aria-invalid":!!D.newSgName,id:`newSgName`,type:`text`,...T(`newSgName`)}),(0,v.jsx)(g,{errors:[D.newSgName]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`newSgDescription`,children:`Description`})}),(0,v.jsx)(u,{id:`newSgDescription`,type:`text`,...T(`newSgDescription`)})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:`Inbound rules`}),(0,v.jsxs)(`div`,{className:`space-y-1`,children:[(0,v.jsx)(m,{control:w,name:`allowSsh`,render:He}),(0,v.jsx)(m,{control:w,name:`allowHttp`,render:Ve}),(0,v.jsx)(m,{control:w,name:`allowHttps`,render:Be})]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:`Source`}),(0,v.jsx)(m,{control:w,name:`ruleSource`,render:ze}),Bt===`custom`&&(0,v.jsxs)(`div`,{className:`mt-2`,children:[(0,v.jsx)(u,{"aria-invalid":!!D.customCidr,placeholder:`203.0.113.0/24`,type:`text`,...T(`customCidr`)}),(0,v.jsx)(g,{errors:[D.customCidr]})]})]})]}):(0,v.jsxs)(`div`,{className:`mt-3`,children:[tn.length===0?(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the resolved VPC.`}):(0,v.jsx)(`div`,{className:`space-y-1`,children:tn.map(e=>(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,v.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:Ut.has(e.GroupId??``),onChange:()=>rn(e.GroupId??``),type:`checkbox`}),(0,v.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))}),(0,v.jsx)(g,{errors:[D.securityGroupIds]})]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`placementGroupName`,children:`Placement Group`})}),(0,v.jsx)(m,{control:w,name:`placementGroupName`,render:e=>{let{field:t}=e;return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,v.jsx)(c,{className:`w-full`,id:`placementGroupName`,children:(0,v.jsx)(a,{})}),(0,v.jsxs)(s,{children:[(0,v.jsx)(o,{value:`none`,children:`none`}),ut.map(Re)]})]})}})]})]}),dn;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(dn=(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`count`,children:`Number of Instances`})}),t[84]=dn):dn=t[84];let fn=!!D.count,W;t[85]===T?W=t[86]:(W=T(`count`,{valueAsNumber:!0}),t[85]=T,t[86]=W);let G;t[87]!==fn||t[88]!==W?(G=(0,v.jsx)(u,{"aria-describedby":`count-description`,"aria-invalid":fn,id:`count`,type:`number`,...W}),t[87]=fn,t[88]=W,t[89]=G):G=t[89];let pn=At&&`Available capacity for ${At}: ${jt}`,K;t[90]===pn?K=t[91]:(K=(0,v.jsx)(`p`,{className:`text-xs text-muted-foreground`,id:`count-description`,children:pn}),t[90]=pn,t[91]=K);let q;t[92]===D.count?q=t[93]:(q=(0,v.jsx)(g,{errors:[D.count]}),t[92]=D.count,t[93]=q);let J;t[94]!==G||t[95]!==K||t[96]!==q?(J=(0,v.jsxs)(_,{children:[dn,G,K,q]}),t[94]=G,t[95]=K,t[96]=q,t[97]=J):J=t[97];let Y;t[98]!==w||t[99]!==D.rootDeviceName||t[100]!==D.rootVolumeSize||t[101]!==D.rootVolumeType||t[102]!==T||t[103]!==A.snapshotSize||t[104]!==j?(Y=!j&&(0,v.jsx)(v.Fragment,{children:(0,v.jsxs)(De,{children:[(0,v.jsxs)(Ee,{className:`group flex h-7 w-full items-center justify-between rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none hover:bg-input/40 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 md:text-xs/relaxed dark:bg-input/30 dark:hover:bg-input/50`,render:(0,v.jsx)(`button`,{"aria-label":`Block Device Mappings (root volume)`,type:`button`}),children:[(0,v.jsx)(`span`,{children:`Block Device Mappings (root volume)`}),(0,v.jsx)(ie,{className:`size-3.5 text-muted-foreground transition-transform group-data-[panel-open]:rotate-180`})]}),(0,v.jsxs)(Te,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`rootDeviceName`,children:`Device Name`})}),(0,v.jsx)(u,{"aria-invalid":!!D.rootDeviceName,id:`rootDeviceName`,type:`text`,...T(`rootDeviceName`)}),(0,v.jsx)(g,{errors:[D.rootDeviceName]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`rootVolumeSize`,children:`Volume Size (GiB)`})}),(0,v.jsx)(u,{"aria-invalid":!!D.rootVolumeSize,id:`rootVolumeSize`,max:Ne,min:A.snapshotSize??Me,placeholder:A.snapshotSize?`${A.snapshotSize} (AMI default)`:`use AMI / backend default`,type:`number`,...T(`rootVolumeSize`,{setValueAs:Le})}),A.snapshotSize!==void 0&&(0,v.jsxs)(be,{children:[`AMI snapshot size: `,A.snapshotSize,` GiB`]}),(0,v.jsx)(g,{errors:[D.rootVolumeSize]})]}),(0,v.jsxs)(_,{children:[(0,v.jsx)(h,{children:(0,v.jsx)(`label`,{htmlFor:`rootVolumeType`,children:`Volume Type`})}),(0,v.jsx)(m,{control:w,name:`rootVolumeType`,render:e=>{let{field:t}=e;return(0,v.jsxs)(l,{onValueChange:e=>t.onChange(e),value:t.value??je,children:[(0,v.jsx)(c,{"aria-invalid":!!D.rootVolumeType,className:`w-full`,id:`rootVolumeType`,children:(0,v.jsx)(a,{})}),(0,v.jsx)(s,{children:Ce.map(Ie)})]})}}),(0,v.jsx)(g,{errors:[D.rootVolumeType]})]}),(0,v.jsx)(_,{children:(0,v.jsx)(m,{control:w,name:`rootDeleteOnTermination`,render:Fe})})]})]})}),t[98]=w,t[99]=D.rootDeviceName,t[100]=D.rootVolumeSize,t[101]=D.rootVolumeType,t[102]=T,t[103]=A.snapshotSize,t[104]=j,t[105]=Y):Y=t[105];let X;t[106]!==F||t[107]!==Et?(X=et(Et,F),t[106]=F,t[107]=Et,t[108]=X):X=t[108];let Z;t[109]===X?Z=t[110]:(Z=(0,v.jsx)(ae,{commands:X}),t[109]=X,t[110]=Z);let mn=Ot||b.isPending,Q;t[111]===f?Q=t[112]:(Q=async()=>await f({to:`/ec2/describe-instances`}),t[111]=f,t[112]=Q);let hn;t[113]!==mn||t[114]!==Q?(hn=(0,v.jsx)(oe,{disabled:mn,onClick:Q,type:`button`,variant:`outline`,children:`Cancel`}),t[113]=mn,t[114]=Q,t[115]=hn):hn=t[115];let gn=Ot||b.isPending||!j&&C.length===0,_n=Ot||b.isPending?`Creating…`:`Create Instance`,vn;t[116]!==gn||t[117]!==_n?(vn=(0,v.jsx)(oe,{disabled:gn,type:`submit`,children:_n}),t[116]=gn,t[117]=_n,t[118]=vn):vn=t[118];let yn;t[119]!==hn||t[120]!==vn?(yn=(0,v.jsxs)(`div`,{className:`flex gap-2`,children:[hn,vn]}),t[119]=hn,t[120]=vn,t[121]=yn):yn=t[121];let $;t[122]!==B||t[123]!==H||t[124]!==U||t[125]!==un||t[126]!==J||t[127]!==Y||t[128]!==Z||t[129]!==yn?($=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:B,children:[H,U,un,J,Y,Z,yn]}),t[122]=B,t[123]=H,t[124]=U,t[125]=un,t[126]=J,t[127]=Y,t[128]=Z,t[129]=yn,t[130]=$):$=t[130];let bn;return t[131]!==I||t[132]!==L||t[133]!==R||t[134]!==z||t[135]!==$?(bn=(0,v.jsxs)(v.Fragment,{children:[I,L,R,z,$]}),t[131]=I,t[132]=L,t[133]=R,t[134]=z,t[135]=$,t[136]=bn):bn=t[136],bn}function Fe(e){let{field:t}=e;return(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,v.jsx)(`input`,{"aria-label":`Delete on termination`,checked:t.value??!0,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Delete on termination`]})}function Ie(e){return(0,v.jsx)(o,{value:e,children:e},e)}function Le(e){return e===``||e==null?void 0:Number(e)}function Re(e){return(0,v.jsxs)(o,{value:e.GroupName??``,children:[e.GroupName,` (`,e.Strategy,`)`]},e.GroupId)}function ze(e){let{field:t}=e;return(0,v.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,v.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`input`,{"aria-label":`Source anywhere`,checked:t.value===`anywhere`,onChange:()=>t.onChange(`anywhere`),type:`radio`}),`Anywhere (0.0.0.0/0)`]}),(0,v.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`input`,{"aria-label":`Source custom CIDR`,checked:t.value===`custom`,onChange:()=>t.onChange(`custom`),type:`radio`}),`Custom CIDR`]})]})}function Be(e){let{field:t}=e;return(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,v.jsx)(`input`,{"aria-label":`Allow HTTPS`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTPS (tcp/443)`]})}function Ve(e){let{field:t}=e;return(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,v.jsx)(`input`,{"aria-label":`Allow HTTP`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTP (tcp/80)`]})}function He(e){let{field:t}=e;return(0,v.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,v.jsx)(`input`,{"aria-label":`Allow SSH`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow SSH (tcp/22)`]})}function Ue(e){let{field:t}=e;return(0,v.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,v.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`input`,{"aria-label":`Create new security group`,checked:t.value===`create`,onChange:()=>t.onChange(`create`),type:`radio`}),`Create new`]}),(0,v.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,v.jsx)(`input`,{"aria-label":`Select existing security group`,checked:t.value===`existing`,onChange:()=>t.onChange(`existing`),type:`radio`}),`Select existing`]})]})}function We(e){return(0,v.jsx)(o,{value:e.SubnetId??``,children:e.SubnetId},e.SubnetId)}function Ge(e){return(0,v.jsx)(o,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId)}function Ke(e){return(0,v.jsxs)(o,{value:e.ImageId??``,children:[e.Name??`Unnamed`,` (`,e.Architecture,`)`]},e.ImageId)}function qe(e){return(0,v.jsxs)(o,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber]},e.VersionNumber)}function Je(e){return(0,v.jsx)(o,{value:e.LaunchTemplateId??``,children:e.LaunchTemplateName??e.LaunchTemplateId},e.LaunchTemplateId)}function Ye(e){return e.endsWith(`.nano`)}function Xe(e){return e.GroupName??``}function Ze(e){return e.IsDefault}function Qe(e){let t=e?.RootDeviceName??Ae,n=e?.BlockDeviceMappings??[];return{deviceName:t,snapshotSize:(n.find(e=>e.DeviceName===t)??n[0])?.Ebs?.VolumeSize}}function $e(e,t){if(e.length===0)return;if(!t||t===`$Default`)return e.find(e=>e.DefaultVersion)??e[0];if(t===`$Latest`)return e.toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0))[0];let n=Number(t);return e.find(e=>e.VersionNumber===n)}function et(e,t){let n=e(`launchTemplateId`),r=typeof n==`string`?n:``;if(r){let t=e(`launchTemplateVersion`),n=typeof t==`string`&&t?t:`$Default`,ee=e(`count`),i=typeof ee==`number`?ee:0;return[{label:`Run Instances`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ + --launch-template`},{type:`value`,value:` LaunchTemplateId=${r},Version=${n}`},{type:`flag`,value:` \\ + --count`},{type:`value`,value:` ${i||1}`}]}]}let ee=e(`imageId`),i=typeof ee==`string`?ee:``,te=e(`instanceType`),ne=typeof te==`string`?te:``,re=e(`keyName`),ie=typeof re==`string`?re:``,a=e(`subnetId`),o=typeof a==`string`?a:``,s=e(`placementGroupName`),c=typeof s==`string`?s:``,l=e(`count`),ae=typeof l==`number`?l:0,oe=e(`rootDeviceName`),u=typeof oe==`string`?oe:``,se=e(`rootVolumeSize`),ce=typeof se==`number`?se:void 0,le=e(`rootVolumeType`),ue=typeof le==`string`?le:``,de=e(`rootDeleteOnTermination`),fe=typeof de!=`boolean`||de,d=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ + --image-id`},{type:`value`,value:` ${i||``}`},{type:`flag`,value:` \\ + --instance-type`},{type:`value`,value:` ${ne||``}`},{type:`flag`,value:` \\ + --key-name`},{type:`value`,value:` ${ie||``}`}];o&&d.push({type:`flag`,value:` \\ + --subnet-id`},{type:`value`,value:` ${o}`}),c&&d.push({type:`flag`,value:` \\ + --placement`},{type:`value`,value:` GroupName=${c}`}),d.push({type:`flag`,value:` \\ + --count`},{type:`value`,value:` ${ae||1}`});let pe=e(`securityGroupMode`),me=typeof pe==`string`?pe:`create`,he=e(`newSgName`),f=typeof he==`string`?he:``,p=e(`newSgDescription`),ge=typeof p==`string`?p:``,m=e(`ruleSource`),_e=typeof m==`string`?m:`anywhere`,ve=e(`customCidr`),ye=typeof ve==`string`?ve:``,h=[];if(me===`create`){h.push({label:`Create security group`,parts:[{type:`bin`,value:`SG_ID=$(AWS_PROFILE=spinifex aws ec2 create-security-group`},{type:`flag`,value:` \\ + --group-name`},{type:`value`,value:` ${f||``}`},{type:`flag`,value:` \\ + --description`},{type:`value`,value:` '${ge||`Created by launch wizard`}'`},{type:`flag`,value:` \\ + --vpc-id`},{type:`value`,value:` ${t??``}`},{type:`flag`,value:` \\ + --query`},{type:`value`,value:` 'GroupId' --output text)`}]});let n=_e===`custom`&&ye?ye:`0.0.0.0/0`,r=[...e(`allowSsh`)===!0?[22]:[],...e(`allowHttp`)===!0?[80]:[],...e(`allowHttps`)===!0?[443]:[]];if(r.length>0){let e=JSON.stringify(r.map(e=>({IpProtocol:`tcp`,FromPort:e,ToPort:e,IpRanges:[{CidrIp:n}]})));h.push({label:`Authorize inbound rules`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 authorize-security-group-ingress`},{type:`flag`,value:` \\ + --group-id`},{type:`value`,value:` $SG_ID`},{type:`flag`,value:` \\ + --ip-permissions`},{type:`value`,value:` '${e}'`}]})}d.push({type:`flag`,value:` \\ + --security-group-ids`},{type:`value`,value:` $SG_ID`})}else{let t=e(`securityGroupIds`),n=Array.isArray(t)?t.filter(e=>typeof e==`string`):[];n.length>0&&d.push({type:`flag`,value:` \\ + --security-group-ids`},{type:`value`,value:` ${n.join(` `)}`})}if(ce!==void 0||le!==void 0||de!==void 0){let e={};ce!==void 0&&(e.VolumeSize=ce),ue&&(e.VolumeType=ue),de!==void 0&&(e.DeleteOnTermination=fe);let t=JSON.stringify([{DeviceName:u||Ae,Ebs:e}]);d.push({type:`flag`,value:` \\ + --block-device-mappings`},{type:`value`,value:` '${t}'`})}return[...h,{label:`Run Instances`,parts:d}]}function y(){let e=(0,Oe.c)(3),{launchTemplateId:t,launchTemplateVersion:n}=f.useSearch(),r;return e[0]!==t||e[1]!==n?(r=(0,v.jsx)(Pe,{launchTemplateId:t,launchTemplateVersion:n}),e[0]=t,e[1]=n,e[2]=r):r=e[2],r}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/run-task.js b/spinifex/services/spinifexui/frontend/dist/assets/run-task.js index 65713fd46..4081abdca 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/run-task.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/run-task.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/run-task2.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/signed-fetch.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/ecs3.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,w as i}from"./ec2.js";import{o as a}from"./ecs.js";var o=e(`/_auth/ecs/(clusters)/run-task`)({validateSearch:e=>({cluster:typeof e.cluster==`string`?e.cluster:``}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(i)])},head:()=>({meta:[{title:`Run Task | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./run-task2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/run-task2.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/usePositioner.js","assets/DirectionContext.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/input.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/mutation.js","assets/signed-fetch.js","assets/zod.js","assets/error-banner.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/separator.js","assets/ecs3.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,w as i}from"./ec2.js";import{o as a}from"./ecs.js";var o=e(`/_auth/ecs/(clusters)/run-task`)({validateSearch:e=>({cluster:typeof e.cluster==`string`?e.cluster:``}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(i)])},head:()=>({meta:[{title:`Run Task | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./run-task2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/run-task2.js b/spinifex/services/spinifexui/frontend/dist/assets/run-task2.js index 281ade13f..254cec56f 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/run-task2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/run-task2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{t as te}from"./back-link.js";import{c as ne,i,n as re,s as ie,t as ae}from"./select.js";import{t as oe}from"./input.js";import{a as se,r as ce,t as le}from"./field.js";import{O as ue,w as de}from"./ec2.js";import{a as fe,o as pe}from"./ecs.js";import{c as me}from"./ecs2.js";import{a as he,i as ge,n as _e,t as ve}from"./zod.js";import{t as ye}from"./error-banner.js";import{t as be}from"./page-heading.js";import{t as xe}from"./form-actions.js";import{t as a}from"./run-task.js";import{i as Se}from"./ecs3.js";var Ce=t(),o=e();function s(e){return e.split(`/`).at(-1)??e}function c(e){let t=(0,Ce.c)(88),{cluster:i}=e,a=ee(),s=me(),{data:c}=r(pe),{data:l}=r(ue),{data:Te}=r(de),u;t[0]===l.Subnets?u=t[1]:(u=l.Subnets??[],t[0]=l.Subnets,t[1]=u);let Ee=u,d;t[2]===Te.SecurityGroups?d=t[3]:(d=Te.SecurityGroups??[],t[2]=Te.SecurityGroups,t[3]=d);let De=d,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=ve(Se),t[4]=f):f=t[4];let p,m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=[],m=[],t[5]=p,t[6]=m):(p=t[5],m=t[6]);let h;t[7]===i?h=t[8]:(h={resolver:f,defaultValues:{cluster:i,taskDefinition:``,count:1,subnets:p,securityGroups:m,assignPublicIp:!1}},t[7]=i,t[8]=h);let{control:g,handleSubmit:Oe,register:_,setValue:ke,getValues:Ae,formState:je}=ge(h),{errors:v,isSubmitting:y}=je,b;t[9]===g?b=t[10]:(b={control:g,name:`taskDefinition`},t[9]=g,t[10]=b);let x=he(b),S;t[11]===x?S=t[12]:(S=fe(x),t[11]=x,t[12]=S);let{data:Me}=n(S),C=Me?.networkMode===`awsvpc`,w;t[13]===g?w=t[14]:(w={control:g,name:`subnets`},t[13]=g,t[14]=w);let T=he(w),E;t[15]===g?E=t[16]:(E={control:g,name:`securityGroups`},t[15]=g,t[16]=E);let D=he(E),O;t[17]===T?O=t[18]:(O=new Set(T),t[17]=T,t[18]=O);let Ne=O,k;t[19]===D?k=t[20]:(k=new Set(D),t[19]=D,t[20]=k);let Pe=k,A;t[21]!==Ae||t[22]!==ke?(A=(e,t)=>{let n=Ae(e);ke(e,n.includes(t)?n.filter(e=>e!==t):[...n,t],{shouldValidate:!0})},t[21]=Ae,t[22]=ke,t[23]=A):A=t[23];let j=A,M;t[24]!==i||t[25]!==a?(M=function(){a({to:`/ecs/list-clusters/$clusterName`,params:{clusterName:i}})},t[24]=i,t[25]=a,t[26]=M):M=t[26];let N=M,P;t[27]!==C||t[28]!==N||t[29]!==s?(P=function(e){s.mutate({cluster:e.cluster,taskDefinition:e.taskDefinition,count:e.count,awsvpc:C,subnets:e.subnets,securityGroups:e.securityGroups,assignPublicIp:e.assignPublicIp},{onSuccess:N})},t[27]=C,t[28]=N,t[29]=s,t[30]=P):P=t[30];let Fe=P,Ie=C&&T.length===0,F;t[31]===i?F=t[32]:(F={clusterName:i},t[31]=i,t[32]=F);let I;t[33]!==i||t[34]!==F?(I=(0,o.jsx)(te,{params:F,to:`/ecs/list-clusters/$clusterName`,children:i}),t[33]=i,t[34]=F,t[35]=I):I=t[35];let Le=`Cluster: ${i}`,L;t[36]===Le?L=t[37]:(L=(0,o.jsx)(be,{subtitle:Le,title:`Run Task`}),t[36]=Le,t[37]=L);let R;t[38]!==s.error||t[39]!==s.isError?(R=s.isError&&(0,o.jsx)(ye,{error:s.error instanceof Error?s.error:void 0,msg:`Failed to run task.`}),t[38]=s.error,t[39]=s.isError,t[40]=R):R=t[40];let z;t[41]!==Oe||t[42]!==Fe?(z=Oe(Fe),t[41]=Oe,t[42]=Fe,t[43]=z):z=t[43];let B;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,o.jsx)(se,{children:(0,o.jsx)(`label`,{htmlFor:`taskDefinition`,children:`Task definition`})}),t[44]=B):B=t[44];let V;t[45]===c?V=t[46]:(V=e=>{let{field:t}=e;return(0,o.jsxs)(ae,{onValueChange:t.onChange,value:t.value,children:[(0,o.jsx)(ie,{className:`w-full`,id:`taskDefinition`,children:(0,o.jsx)(ne,{placeholder:`Select a task definition`})}),(0,o.jsx)(re,{children:c.map(we)})]})},t[45]=c,t[46]=V);let H;t[47]!==g||t[48]!==V?(H=(0,o.jsx)(_e,{control:g,name:`taskDefinition`,render:V}),t[47]=g,t[48]=V,t[49]=H):H=t[49];let U;t[50]===v.taskDefinition?U=t[51]:(U=(0,o.jsx)(ce,{errors:[v.taskDefinition]}),t[50]=v.taskDefinition,t[51]=U);let W;t[52]!==H||t[53]!==U?(W=(0,o.jsxs)(le,{children:[B,H,U]}),t[52]=H,t[53]=U,t[54]=W):W=t[54];let G;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,o.jsx)(se,{children:(0,o.jsx)(`label`,{htmlFor:`count`,children:`Count`})}),t[55]=G):G=t[55];let K;t[56]===_?K=t[57]:(K=_(`count`,{valueAsNumber:!0}),t[56]=_,t[57]=K);let q;t[58]===K?q=t[59]:(q=(0,o.jsx)(oe,{id:`count`,type:`number`,...K}),t[58]=K,t[59]=q);let J;t[60]===v.count?J=t[61]:(J=(0,o.jsx)(ce,{errors:[v.count]}),t[60]=v.count,t[61]=J);let Y;t[62]!==q||t[63]!==J?(Y=(0,o.jsxs)(le,{children:[G,q,J]}),t[62]=q,t[63]=J,t[64]=Y):Y=t[64];let X;t[65]!==C||t[66]!==_||t[67]!==De||t[68]!==Pe||t[69]!==Ne||t[70]!==Ee||t[71]!==j?(X=C&&(0,o.jsxs)(`div`,{className:`space-y-4 rounded-lg border bg-card p-4`,children:[(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This task definition uses awsvpc networking. Select at least one subnet.`}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:`Subnets`}),(0,o.jsx)(`div`,{className:`mt-2 space-y-1`,children:Ee.map(e=>(0,o.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,o.jsx)(`input`,{checked:Ne.has(e.SubnetId??``),onChange:()=>j(`subnets`,e.SubnetId??``),type:`checkbox`}),(0,o.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` (`,e.CidrBlock,`)`]})]},e.SubnetId))})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:`Security groups`}),(0,o.jsx)(`div`,{className:`mt-2 space-y-1`,children:De.map(e=>(0,o.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,o.jsx)(`input`,{checked:Pe.has(e.GroupId??``),onChange:()=>j(`securityGroups`,e.GroupId??``),type:`checkbox`}),(0,o.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),(0,o.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,o.jsx)(`input`,{type:`checkbox`,..._(`assignPublicIp`)}),(0,o.jsx)(`span`,{children:`Assign public IP`})]})]}),t[65]=C,t[66]=_,t[67]=De,t[68]=Pe,t[69]=Ne,t[70]=Ee,t[71]=j,t[72]=X):X=t[72];let Re=s.isPending||Ie,Z;t[73]!==N||t[74]!==y||t[75]!==Re?(Z=(0,o.jsx)(xe,{isPending:Re,isSubmitting:y,onCancel:N,pendingLabel:`Running…`,submitLabel:`Run Task`}),t[73]=N,t[74]=y,t[75]=Re,t[76]=Z):Z=t[76];let Q;t[77]!==z||t[78]!==W||t[79]!==Y||t[80]!==X||t[81]!==Z?(Q=(0,o.jsxs)(`form`,{className:`max-w-2xl space-y-6`,onSubmit:z,children:[W,Y,X,Z]}),t[77]=z,t[78]=W,t[79]=Y,t[80]=X,t[81]=Z,t[82]=Q):Q=t[82];let $;return t[83]!==I||t[84]!==L||t[85]!==R||t[86]!==Q?($=(0,o.jsxs)(o.Fragment,{children:[I,L,R,Q]}),t[83]=I,t[84]=L,t[85]=R,t[86]=Q,t[87]=$):$=t[87],$}function we(e){let t=s(e);return(0,o.jsx)(i,{value:t,children:t},e)}function l(){let e=(0,Ce.c)(2),{cluster:t}=a.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,o.jsx)(c,{cluster:t}),e[0]=t,e[1]=n),n}export{l as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as ee}from"./useNavigate.js";import{t as te}from"./back-link.js";import{c as ne,i,n as re,s as ie,t as ae}from"./select.js";import{t as oe}from"./input.js";import{O as se,w as ce}from"./ec2.js";import{a as le,o as ue}from"./ecs.js";import{c as de}from"./ecs2.js";import{t as a}from"./run-task.js";import{a as fe,i as pe,n as me,t as he}from"./zod.js";import{t as ge}from"./error-banner.js";import{t as _e}from"./form-actions.js";import{t as ve}from"./page-heading.js";import{a as ye,r as be,t as xe}from"./field.js";import{i as Se}from"./ecs3.js";var Ce=t(),o=e();function s(e){return e.split(`/`).at(-1)??e}function c(e){let t=(0,Ce.c)(88),{cluster:i}=e,a=ee(),s=de(),{data:c}=r(ue),{data:l}=r(se),{data:Te}=r(ce),u;t[0]===l.Subnets?u=t[1]:(u=l.Subnets??[],t[0]=l.Subnets,t[1]=u);let Ee=u,d;t[2]===Te.SecurityGroups?d=t[3]:(d=Te.SecurityGroups??[],t[2]=Te.SecurityGroups,t[3]=d);let De=d,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=he(Se),t[4]=f):f=t[4];let p,m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=[],m=[],t[5]=p,t[6]=m):(p=t[5],m=t[6]);let h;t[7]===i?h=t[8]:(h={resolver:f,defaultValues:{cluster:i,taskDefinition:``,count:1,subnets:p,securityGroups:m,assignPublicIp:!1}},t[7]=i,t[8]=h);let{control:g,handleSubmit:Oe,register:_,setValue:ke,getValues:Ae,formState:je}=pe(h),{errors:v,isSubmitting:y}=je,b;t[9]===g?b=t[10]:(b={control:g,name:`taskDefinition`},t[9]=g,t[10]=b);let x=fe(b),S;t[11]===x?S=t[12]:(S=le(x),t[11]=x,t[12]=S);let{data:Me}=n(S),C=Me?.networkMode===`awsvpc`,w;t[13]===g?w=t[14]:(w={control:g,name:`subnets`},t[13]=g,t[14]=w);let T=fe(w),E;t[15]===g?E=t[16]:(E={control:g,name:`securityGroups`},t[15]=g,t[16]=E);let D=fe(E),O;t[17]===T?O=t[18]:(O=new Set(T),t[17]=T,t[18]=O);let Ne=O,k;t[19]===D?k=t[20]:(k=new Set(D),t[19]=D,t[20]=k);let Pe=k,A;t[21]!==Ae||t[22]!==ke?(A=(e,t)=>{let n=Ae(e);ke(e,n.includes(t)?n.filter(e=>e!==t):[...n,t],{shouldValidate:!0})},t[21]=Ae,t[22]=ke,t[23]=A):A=t[23];let j=A,M;t[24]!==i||t[25]!==a?(M=function(){a({to:`/ecs/list-clusters/$clusterName`,params:{clusterName:i}})},t[24]=i,t[25]=a,t[26]=M):M=t[26];let N=M,P;t[27]!==C||t[28]!==N||t[29]!==s?(P=function(e){s.mutate({cluster:e.cluster,taskDefinition:e.taskDefinition,count:e.count,awsvpc:C,subnets:e.subnets,securityGroups:e.securityGroups,assignPublicIp:e.assignPublicIp},{onSuccess:N})},t[27]=C,t[28]=N,t[29]=s,t[30]=P):P=t[30];let Fe=P,Ie=C&&T.length===0,F;t[31]===i?F=t[32]:(F={clusterName:i},t[31]=i,t[32]=F);let I;t[33]!==i||t[34]!==F?(I=(0,o.jsx)(te,{params:F,to:`/ecs/list-clusters/$clusterName`,children:i}),t[33]=i,t[34]=F,t[35]=I):I=t[35];let Le=`Cluster: ${i}`,L;t[36]===Le?L=t[37]:(L=(0,o.jsx)(ve,{subtitle:Le,title:`Run Task`}),t[36]=Le,t[37]=L);let R;t[38]!==s.error||t[39]!==s.isError?(R=s.isError&&(0,o.jsx)(ge,{error:s.error instanceof Error?s.error:void 0,msg:`Failed to run task.`}),t[38]=s.error,t[39]=s.isError,t[40]=R):R=t[40];let z;t[41]!==Oe||t[42]!==Fe?(z=Oe(Fe),t[41]=Oe,t[42]=Fe,t[43]=z):z=t[43];let B;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,o.jsx)(ye,{children:(0,o.jsx)(`label`,{htmlFor:`taskDefinition`,children:`Task definition`})}),t[44]=B):B=t[44];let V;t[45]===c?V=t[46]:(V=e=>{let{field:t}=e;return(0,o.jsxs)(ae,{onValueChange:t.onChange,value:t.value,children:[(0,o.jsx)(ie,{className:`w-full`,id:`taskDefinition`,children:(0,o.jsx)(ne,{placeholder:`Select a task definition`})}),(0,o.jsx)(re,{children:c.map(we)})]})},t[45]=c,t[46]=V);let H;t[47]!==g||t[48]!==V?(H=(0,o.jsx)(me,{control:g,name:`taskDefinition`,render:V}),t[47]=g,t[48]=V,t[49]=H):H=t[49];let U;t[50]===v.taskDefinition?U=t[51]:(U=(0,o.jsx)(be,{errors:[v.taskDefinition]}),t[50]=v.taskDefinition,t[51]=U);let W;t[52]!==H||t[53]!==U?(W=(0,o.jsxs)(xe,{children:[B,H,U]}),t[52]=H,t[53]=U,t[54]=W):W=t[54];let G;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,o.jsx)(ye,{children:(0,o.jsx)(`label`,{htmlFor:`count`,children:`Count`})}),t[55]=G):G=t[55];let K;t[56]===_?K=t[57]:(K=_(`count`,{valueAsNumber:!0}),t[56]=_,t[57]=K);let q;t[58]===K?q=t[59]:(q=(0,o.jsx)(oe,{id:`count`,type:`number`,...K}),t[58]=K,t[59]=q);let J;t[60]===v.count?J=t[61]:(J=(0,o.jsx)(be,{errors:[v.count]}),t[60]=v.count,t[61]=J);let Y;t[62]!==q||t[63]!==J?(Y=(0,o.jsxs)(xe,{children:[G,q,J]}),t[62]=q,t[63]=J,t[64]=Y):Y=t[64];let X;t[65]!==C||t[66]!==_||t[67]!==De||t[68]!==Pe||t[69]!==Ne||t[70]!==Ee||t[71]!==j?(X=C&&(0,o.jsxs)(`div`,{className:`space-y-4 rounded-lg border bg-card p-4`,children:[(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This task definition uses awsvpc networking. Select at least one subnet.`}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:`Subnets`}),(0,o.jsx)(`div`,{className:`mt-2 space-y-1`,children:Ee.map(e=>(0,o.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,o.jsx)(`input`,{checked:Ne.has(e.SubnetId??``),onChange:()=>j(`subnets`,e.SubnetId??``),type:`checkbox`}),(0,o.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` (`,e.CidrBlock,`)`]})]},e.SubnetId))})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:`Security groups`}),(0,o.jsx)(`div`,{className:`mt-2 space-y-1`,children:De.map(e=>(0,o.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,o.jsx)(`input`,{checked:Pe.has(e.GroupId??``),onChange:()=>j(`securityGroups`,e.GroupId??``),type:`checkbox`}),(0,o.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),(0,o.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,o.jsx)(`input`,{type:`checkbox`,..._(`assignPublicIp`)}),(0,o.jsx)(`span`,{children:`Assign public IP`})]})]}),t[65]=C,t[66]=_,t[67]=De,t[68]=Pe,t[69]=Ne,t[70]=Ee,t[71]=j,t[72]=X):X=t[72];let Re=s.isPending||Ie,Z;t[73]!==N||t[74]!==y||t[75]!==Re?(Z=(0,o.jsx)(_e,{isPending:Re,isSubmitting:y,onCancel:N,pendingLabel:`Running…`,submitLabel:`Run Task`}),t[73]=N,t[74]=y,t[75]=Re,t[76]=Z):Z=t[76];let Q;t[77]!==z||t[78]!==W||t[79]!==Y||t[80]!==X||t[81]!==Z?(Q=(0,o.jsxs)(`form`,{className:`max-w-2xl space-y-6`,onSubmit:z,children:[W,Y,X,Z]}),t[77]=z,t[78]=W,t[79]=Y,t[80]=X,t[81]=Z,t[82]=Q):Q=t[82];let $;return t[83]!==I||t[84]!==L||t[85]!==R||t[86]!==Q?($=(0,o.jsxs)(o.Fragment,{children:[I,L,R,Q]}),t[83]=I,t[84]=L,t[85]=R,t[86]=Q,t[87]=$):$=t[87],$}function we(e){let t=s(e);return(0,o.jsx)(i,{value:t,children:t},e)}function l(){let e=(0,Ce.c)(2),{cluster:t}=a.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,o.jsx)(c,{cluster:t}),e[0]=t,e[1]=n),n}export{l as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js b/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js index d75b473e4..a10292ba1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{rn as n}from"./cluster-config.js";import{c as r,i,n as a,s as o,t as s}from"./select.js";import{a as c,n as l,r as u,t as d}from"./field.js";import{n as f}from"./zod.js";import{t as p}from"./picker-notice.js";var m=t(),h=e();function g(e){let t=(0,m.c)(13),{control:n,name:i,id:g,label:v,placeholder:y,options:b,notice:x,description:S,warning:C,onValueChange:w}=e,T;t[0]!==S||t[1]!==g||t[2]!==v||t[3]!==x||t[4]!==w||t[5]!==b||t[6]!==y||t[7]!==C?(T=e=>{let{field:t,fieldState:n}=e,i=typeof t.value==`string`?t.value:``;return(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{children:(0,h.jsx)(`label`,{htmlFor:g,children:v})}),x?(0,h.jsx)(p,{notice:x}):(0,h.jsxs)(s,{onValueChange:e=>(w??t.onChange)(e??``),value:i,children:[(0,h.jsx)(o,{"aria-invalid":!!n.error,className:`w-full`,id:g,children:(0,h.jsx)(r,{placeholder:y})}),(0,h.jsx)(a,{children:b.map(_)})]}),S&&(0,h.jsx)(l,{children:S}),C&&(0,h.jsx)(`p`,{className:`text-xs text-tactical-amber`,children:C}),(0,h.jsx)(u,{errors:[n.error]})]})},t[0]=S,t[1]=g,t[2]=v,t[3]=x,t[4]=w,t[5]=b,t[6]=y,t[7]=C,t[8]=T):T=t[8];let E;return t[9]!==n||t[10]!==i||t[11]!==T?(E=(0,h.jsx)(f,{control:n,name:i,render:T}),t[9]=n,t[10]=i,t[11]=T,t[12]=E):E=t[12],E}function _(e){return(0,h.jsx)(i,{value:e.value,children:e.label},e.value)}function v(e){let t=(0,m.c)(3),{control:n,name:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,h.jsx)(f,{control:n,name:r,render:y}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function y(e){let{field:t,fieldState:n}=e;return(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{children:`Deletion protection`}),(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Enable deletion protection`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),(0,h.jsx)(`span`,{children:`Refuse DeleteDBInstance while this is on`})]}),(0,h.jsx)(u,{errors:[n.error]})]})}function b(e,t,n){let r=new Set(t.filter(e=>e.Engine===n).map(e=>e.DBParameterGroupFamily));return e.filter(e=>r.has(e.DBParameterGroupFamily))}function x(e,t){return t?e.filter(e=>e.VpcId===t):[]}function S(e,t,n){let r=new Set(x(e,t).map(e=>e.GroupId));return n.filter(e=>r.has(e))}function C(e,t){return x(e,t).find(e=>e.GroupName==="default")?.GroupId}function w(e){let t=(0,m.c)(16),{emptyText:r,groups:i,onChange:a,selected:o}=e;if(i.length===0){let e;return t[0]===r?e=t[1]:(e=(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r}),t[0]=r,t[1]=e),e}let s;t[2]===o?s=t[3]:(s=new Set(o),t[2]=o,t[3]=s);let c=s,l;t[4]!==a||t[5]!==o?(l=e=>a(o.includes(e)?o.filter(t=>t!==e):[...o,e]),t[4]=a,t[5]=o,t[6]=l):l=t[6];let u=l,d;if(t[7]!==i||t[8]!==c||t[9]!==u){let e;t[11]!==c||t[12]!==u?(e=e=>(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Security group ${n(e)}`,checked:c.has(e.GroupId??``),onChange:()=>u(e.GroupId??``),type:`checkbox`}),(0,h.jsx)(`span`,{className:`font-mono`,children:n(e)})]},e.GroupId),t[11]=c,t[12]=u,t[13]=e):e=t[13],d=i.map(e),t[7]=i,t[8]=c,t[9]=u,t[10]=d}else d=t[10];let f;return t[14]===d?f=t[15]:(f=(0,h.jsx)(`div`,{className:`space-y-1`,children:d}),t[14]=d,t[15]=f),f}export{v as a,x as i,C as n,g as o,S as r,b as s,w as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{rn as n}from"./cluster-config.js";import{c as r,i,n as a,s as o,t as s}from"./select.js";import{n as c}from"./zod.js";import{a as l,n as u,r as d,t as f}from"./field.js";import{t as p}from"./picker-notice.js";var m=t(),h=e();function g(e){let t=(0,m.c)(13),{control:n,name:i,id:g,label:v,placeholder:y,options:b,notice:x,description:S,warning:C,onValueChange:w}=e,T;t[0]!==S||t[1]!==g||t[2]!==v||t[3]!==x||t[4]!==w||t[5]!==b||t[6]!==y||t[7]!==C?(T=e=>{let{field:t,fieldState:n}=e,i=typeof t.value==`string`?t.value:``;return(0,h.jsxs)(f,{children:[(0,h.jsx)(l,{children:(0,h.jsx)(`label`,{htmlFor:g,children:v})}),x?(0,h.jsx)(p,{notice:x}):(0,h.jsxs)(s,{onValueChange:e=>(w??t.onChange)(e??``),value:i,children:[(0,h.jsx)(o,{"aria-invalid":!!n.error,className:`w-full`,id:g,children:(0,h.jsx)(r,{placeholder:y})}),(0,h.jsx)(a,{children:b.map(_)})]}),S&&(0,h.jsx)(u,{children:S}),C&&(0,h.jsx)(`p`,{className:`text-xs text-tactical-amber`,children:C}),(0,h.jsx)(d,{errors:[n.error]})]})},t[0]=S,t[1]=g,t[2]=v,t[3]=x,t[4]=w,t[5]=b,t[6]=y,t[7]=C,t[8]=T):T=t[8];let E;return t[9]!==n||t[10]!==i||t[11]!==T?(E=(0,h.jsx)(c,{control:n,name:i,render:T}),t[9]=n,t[10]=i,t[11]=T,t[12]=E):E=t[12],E}function _(e){return(0,h.jsx)(i,{value:e.value,children:e.label},e.value)}function v(e){let t=(0,m.c)(3),{control:n,name:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,h.jsx)(c,{control:n,name:r,render:y}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function y(e){let{field:t,fieldState:n}=e;return(0,h.jsxs)(f,{children:[(0,h.jsx)(l,{children:`Deletion protection`}),(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Enable deletion protection`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),(0,h.jsx)(`span`,{children:`Refuse DeleteDBInstance while this is on`})]}),(0,h.jsx)(d,{errors:[n.error]})]})}function b(e,t,n){let r=new Set(t.filter(e=>e.Engine===n).map(e=>e.DBParameterGroupFamily));return e.filter(e=>r.has(e.DBParameterGroupFamily))}function x(e,t){return t?e.filter(e=>e.VpcId===t):[]}function S(e,t,n){let r=new Set(x(e,t).map(e=>e.GroupId));return n.filter(e=>r.has(e))}function C(e,t){return x(e,t).find(e=>e.GroupName==="default")?.GroupId}function w(e){let t=(0,m.c)(16),{emptyText:r,groups:i,onChange:a,selected:o}=e;if(i.length===0){let e;return t[0]===r?e=t[1]:(e=(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r}),t[0]=r,t[1]=e),e}let s;t[2]===o?s=t[3]:(s=new Set(o),t[2]=o,t[3]=s);let c=s,l;t[4]!==a||t[5]!==o?(l=e=>a(o.includes(e)?o.filter(t=>t!==e):[...o,e]),t[4]=a,t[5]=o,t[6]=l):l=t[6];let u=l,d;if(t[7]!==i||t[8]!==c||t[9]!==u){let e;t[11]!==c||t[12]!==u?(e=e=>(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Security group ${n(e)}`,checked:c.has(e.GroupId??``),onChange:()=>u(e.GroupId??``),type:`checkbox`}),(0,h.jsx)(`span`,{className:`font-mono`,children:n(e)})]},e.GroupId),t[11]=c,t[12]=u,t[13]=e):e=t[13],d=i.map(e),t[7]=i,t[8]=c,t[9]=u,t[10]=d}else d=t[10];let f;return t[14]===d?f=t[15]:(f=(0,h.jsx)(`div`,{className:`space-y-1`,children:d}),t[14]=d,t[15]=f),f}export{v as a,x as i,C as n,g as o,S as r,b as s,w as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/select.js b/spinifex/services/spinifexui/frontend/dist/assets/select.js index 5ce4817cb..aaeeb1922 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/select.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/select.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{a as i,f as a,n as o,o as s,r as c,t as l,u}from"./useValueAsRef.js";import{a as d,c as f,f as p,i as m,l as h,n as g,u as _}from"./dist.js";import{Yt as v}from"./cluster-config.js";import{t as y}from"./createLucideIcon.js";import{t as b}from"./check.js";import{t as x}from"./chevron-down.js";import{C as S,D as C,E as w,T,_ as E,b as D,d as O,f as k,g as A,h as j,l as M,m as N,o as P,p as F,r as I,s as L,u as ee,v as R,x as z,y as B}from"./button.js";import{C as te,S as V,_ as H,b as U,f as ne,g as W,l as G,n as K,o as re,t as ie,u as q,v as ae,x as oe,y as se}from"./createBaseUIEventDetails.js";import{a as ce,i as le,n as ue,o as de,r as fe,t as pe}from"./useRegisterFieldControl.js";import{$ as me,A as he,D as J,E as ge,H as _e,I as ve,K as Y,L as ye,M as be,N as xe,P as Se,Q as Ce,T as we,V as Te,W as Ee,X as De,Y as Oe,Z as ke,_t as X,at as Ae,c as je,dt as Me,et as Ne,gt as Pe,ht as Fe,it as Ie,j as Le,m as Re,mt as ze,n as Be,nt as Ve,p as He,pt as Ue,q as We,r as Ge,rt as Ke,st as qe,t as Je,tt as Ye,ut as Xe,vt as Ze,yt as Qe,z as $e}from"./useScrollLock.js";import{t as et}from"./useControlled.js";import{i as tt,n as nt,r as rt,t as it}from"./useCompositeListItem.js";var at=y(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Z=e(n(),1),Q=t(),ot=Math.min,st=Math.max,ct=Math.round,lt=Math.floor,ut=e=>({x:e,y:e}),dt={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ft(e,t,n){return st(e,ot(t,n))}function pt(e,t){return typeof e==`function`?e(t):e}function mt(e){return e.split(`-`)[0]}function ht(e){return e.split(`-`)[1]}function gt(e){return e===`x`?`y`:`x`}function _t(e){return e===`y`?`height`:`width`}function vt(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function yt(e){return gt(vt(e))}function bt(e,t,n){n===void 0&&(n=!1);let r=ht(e),i=yt(e),a=_t(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=kt(o)),[o,kt(o)]}function xt(e){let t=kt(e);return[St(e),t,St(t)]}function St(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ct=[`left`,`right`],wt=[`right`,`left`],Tt=[`top`,`bottom`],Et=[`bottom`,`top`];function Dt(e,t,n){switch(e){case`top`:case`bottom`:return n?t?wt:Ct:t?Ct:wt;case`left`:case`right`:return t?Tt:Et;default:return[]}}function Ot(e,t,n,r){let i=ht(e),a=Dt(mt(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(St)))),a}function kt(e){let t=mt(e);return dt[t]+e.slice(t.length)}function At(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function jt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:At(e)}function Mt(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Nt(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:o=!0,touchOpenDelay:s=0,reason:c=W}=t,l=`rootStore`in e?e.rootStore:e,f=l.context.dataRef,p=Z.useRef(void 0),m=u(),h=Oe(),g=Z.useMemo(()=>{function e(e,t,n,r){let i=ie(c,t,n);e&&r===`touch`&&s>0?h.start(s,()=>{l.setOpen(!0,i)}):l.setOpen(e,i)}function t(e,t,n){let r=f.current.openEvent,a=l.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&o?!n(r.type):!1}return{onPointerDown(e){p.current=Ve(e.pointerType,!0)&&Ie(e.nativeEvent)?`virtual`:e.pointerType},onMouseDown(n){let i=p.current,o=n.nativeEvent,s=l.select(`open`);if(n.button!==0||r===`click`||Ve(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),u=U(o);if(Me(u)){e(c,o,u,i);return}let d=n.currentTarget;m.request(()=>{e(c,o,d,i)})},onClick(n){if(r===`mousedown-only`)return;let i=p.current;if(r===`mousedown`&&i){p.current=void 0;return}Ve(i,!0)&&a||e(t(l.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){p.current=void 0}}},[f,r,a,c,l,o,i,m,h,s]);return Z.useMemo(()=>n?{reference:g}:d,[n,g])}function Pt(e,t,n){let{reference:r,floating:i}=e,a=vt(t),o=yt(t),s=_t(o),c=mt(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=ht(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Ft(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=pt(t,e),p=jt(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Mt(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Mt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var It=50,Lt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ft},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Pt(l,r,c),f=r,p=0,m={};for(let n=0;ne<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===vt(t)||T.every(e=>vt(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=vt(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},zt=new Set([`left`,`top`]);async function Bt(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=mt(n),s=ht(n),c=vt(n)===`y`,l=zt.has(o)?-1:1,u=a&&c?-1:1,d=pt(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Vt=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Bt(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Ht=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=pt(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=vt(i),p=gt(f),m=u[p],h=u[f],g=(e,t)=>ft(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},Ut=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=pt(e,t),u={x:n,y:r},d=vt(i),f=gt(d),p=u[f],m=u[d],h=pt(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=zt.has(mt(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Wt=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=pt(e,t),c=await i.detectOverflow(t,s),l=mt(n),u=ht(n),d=vt(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=ot(p-c[m],g),y=ot(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*st(c.left,c.right):S=p-2*st(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function Gt(e){let t=M(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=D(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ct(n)!==a||ct(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Kt(e){return B(e)?e:e.contextElement}function qt(e){let t=Kt(e);if(!D(t))return ut(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Gt(t),o=(a?ct(n.width):n.width)/r,s=(a?ct(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Jt=ut(0);function Yt(e){let t=E(e);return!C()||!t.visualViewport?Jt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Xt(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===E(e)}function Zt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Kt(e),o=ut(1);t&&(r?B(r)&&(o=qt(r)):o=qt(e));let s=Xt(a,n,r)?Yt(a):ut(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=E(a),t=B(r)?E(r):r,n=e,i=k(n);for(;i&&t!==n;){let e=qt(i),t=i.getBoundingClientRect(),r=M(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=E(i),i=k(n)}}return Mt({width:u,height:d,x:c,y:l})}function Qt(e,t){let n=N(e).scrollLeft;return t?t.left+n:Zt(O(e)).left+n}function $t(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Qt(e,n),y:n.top+t.scrollTop}}function en(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=O(r),s=t?w(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=ut(1),u=ut(0),d=D(r);if((d||!a)&&((F(r)!==`body`||S(o))&&(c=N(r)),d)){let e=Zt(r);l=qt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?$t(o,c):ut(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function tn(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function nn(e){let t=N(e),n=e.ownerDocument.body,r=st(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=st(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Qt(e),o=-t.scrollTop;return M(n).direction===`rtl`&&(a+=st(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var rn=25;function an(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=E(e),a=O(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!C()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Qt(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=rn&&(s-=o)}return{width:s,height:c,x:l,y:u}}function on(e,t){let n=Zt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=qt(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function sn(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=an(e,n,t);else if(t===`document`)r=nn(O(e));else if(B(t))r=on(t,n);else{let n=Yt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Mt(r)}function cn(e,t){let n=t.get(e);if(n)return n;let r=j(e,[],!1).filter(e=>B(e)&&F(e)!==`body`),i=null,a=M(e).position===`fixed`,o=a?A(e):e;for(;B(o)&&!z(o);){let e=M(o),t=R(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=A(o)}return t.set(e,r),r}function ln(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?w(t)?[]:cn(t,this._c):[].concat(n),r],o=sn(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=E(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function bn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Kt(e),u=i||a?[...l?j(l):[],...t?j(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?yn(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Zt(e):null;c&&g();function g(){let t=Zt(e);h&&!vn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var xn=Vt,Sn=Ht,Cn=Rt,wn=Wt,Tn=Ut,En=(e,t,n)=>{let r=new Map,i=n??{},a={..._n,...i.platform,_c:r};return Lt(e,t,{...i,platform:a})},Dn=e(a(),1),On=typeof document<`u`?Z.useLayoutEffect:function(){};function kn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!kn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!kn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function An(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function jn(e,t){let n=An(e);return Math.round(t*n)/n}function Mn(e){let t=Z.useRef(e);return On(()=>{t.current=e}),t}function Nn(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=Z.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=Z.useState(r);kn(f,r)||p(r);let[m,h]=Z.useState(null),[g,_]=Z.useState(null),v=Z.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=Z.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=Z.useRef(null),C=Z.useRef(null),w=Z.useRef(u),T=c!=null,E=Mn(c),D=Mn(i),O=Mn(l),k=Z.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),En(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!kn(w.current,t)&&(w.current=t,Dn.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);On(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=Z.useRef(!1);On(()=>(A.current=!0,()=>{A.current=!1}),[]),On(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=Z.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=Z.useMemo(()=>({reference:b,floating:x}),[b,x]),N=Z.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=jn(M.floating,u.x),r=jn(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...An(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return Z.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var Pn=(e,t)=>{let n=xn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Fn=(e,t)=>{let n=Sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},In=(e,t)=>({fn:Tn(e).fn,options:[e,t]}),Ln=(e,t)=>{let n=Cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Rn=(e,t)=>{let n=wn(e);return{name:n.name,fn:n.fn,options:[e,t]}};function zn(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,i=V(),a=be()!=null,o=h(()=>new we({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new He,floatingId:i,syncOnly:!1,nested:a})).current;return P(()=>{let e={open:t,floatingId:i};r.reference!==void 0&&(e.referenceElement=r.reference,e.domReferenceElement=B(r.reference)?r.reference:null),r.floating!==void 0&&(e.floatingElement=r.floating),o.update(e)},[t,i,r.reference,r.floating,o]),o.context.onOpenChange=n,o.context.nested=a,o}function Bn(e){return Vn(e,e.rootContext)}function Vn(e,t){let{nodeId:n,externalTree:r}=e,i=t.useState(`referenceElement`),a=t.useState(`floatingElement`),o=t.useState(`domReferenceElement`),s=t.useState(`open`),c=t.useState(`floatingId`),[l,u]=Z.useState(null),[d,f]=Z.useState(void 0),[p,m]=Z.useState(void 0),h=Z.useRef(null),g=xe(r),_=Z.useMemo(()=>({reference:i,floating:a,domReference:o}),[i,a,o]),v=Nn({...e,elements:{..._,...l&&{reference:l}}}),y=B(d)?d:null,b=p===void 0?t.state.floatingElement:p;t.useSyncedValue(`referenceElement`,d??null),t.useSyncedValue(`domReferenceElement`,d===void 0?o:y),t.useSyncedValue(`floatingElement`,b);let x=Z.useCallback(e=>{let t=B(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;u(t),v.refs.setReference(t)},[v.refs]),S=Z.useCallback(e=>{(B(e)||e===null)&&(h.current=e,f(e)),(B(v.refs.reference.current)||v.refs.reference.current===null||e!==null&&!B(e))&&v.refs.setReference(e)},[v.refs,f]),C=Z.useCallback(e=>{m(e),v.refs.setFloating(e)},[v.refs]),w=Z.useMemo(()=>({...v.refs,setReference:S,setFloating:C,setPositionReference:x,domReference:h}),[v.refs,S,C,x]),T=Z.useMemo(()=>({...v.elements,domReference:o}),[v.elements,o]),E=Z.useMemo(()=>({...v,dataRef:t.context.dataRef,open:s,onOpenChange:t.setOpen,events:t.context.events,floatingId:c,refs:w,elements:T,nodeId:n,rootStore:t}),[v,w,T,n,t,s,c]);return P(()=>{o&&(h.current=o)},[o]),P(()=>{t.context.dataRef.current.floatingContext=E;let e=g?.nodesRef.current.find(e=>e.id===n);e&&(e.context=E)}),Z.useMemo(()=>({...v,context:E,refs:w,elements:T,rootStore:t}),[v,w,T,E,t])}var Hn=`Escape`;function Un(e){return Ze&&e.movementX===0&&e.movementY===0}function Wn(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function Gn(e,t){return Wn(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function Kn(e,t,n){return Wn(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function qn(e,t,n){return Wn(t,n?e===ze:e===Fe,e===Ue)}function Jn(e,t,n,r){return t===`both`||t===`horizontal`&&r?e===Hn:Wn(t,n?e===Fe:e===ze,e===Pe)}function Yn(e,t){let{listRef:n,activeIndex:r,onNavigate:i=()=>{},enabled:a=!0,selectedIndex:o=null,allowEscape:s=!1,loopFocus:c=!1,nested:d=!1,rtl:f=!1,virtual:p=!1,focusItemOnOpen:m=`auto`,focusItemOnHover:h=!0,openOnArrowKeyDown:g=!0,disabledIndices:_=void 0,orientation:v=`vertical`,parentOrientation:y,id:b,resetOnPointerLeave:x=!0,externalTree:S,grid:C}=t,w=C!=null,T=`rootStore`in e?e.rootStore:e,E=T.useState(`open`),O=T.useState(`floatingElement`),k=T.useState(`domReferenceElement`),A=T.context.dataRef,j=qe(O),M=Xe(k),N=l(j),F=be(),I=xe(S),ee=Z.useRef(m),R=Z.useRef(o??-1),z=Z.useRef(null),B=Z.useRef(!0),V=L(e=>{i(R.current===-1?null:R.current,e)}),H=Z.useRef(!!O),ne=Z.useRef(E),W=Z.useRef(!1),G=Z.useRef(!1),K=Z.useRef(null),oe=l(_),ce=l(E),le=l(o),ue=l(x),de=u(),fe=u(),pe=L(()=>{function e(e){p?I?.events.emit(`virtualfocus`,e):K.current=$e(e,{sync:W.current,preventScroll:!0})}let t=n.current[R.current],r=G.current;t&&e(t),(W.current?e=>e():e=>de.request(e))(()=>{let i=n.current[R.current]||t;i&&(t||e(i),ve&&(r||!B.current)&&i.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});P(()=>{A.current.orientation=v},[A,v]),P(()=>{a&&(E&&O?(R.current=o??-1,ee.current&&o!=null&&(G.current=!0,V())):H.current&&(R.current=-1,V()))},[a,E,O,o,V]),P(()=>{if(a){if(!E){W.current=!1;return}if(O){if(r==null){if(W.current=!1,le.current!=null)return;if(H.current&&(R.current=-1,pe()),(!ne.current||!H.current)&&ee.current&&(z.current!=null||ee.current===!0&&z.current==null)){let e=0,t=()=>{n.current[0]==null?(e<2&&(e?e=>fe.request(e):queueMicrotask)(t),e+=1):(R.current=z.current==null||Kn(z.current,v,f)||d?Ce(n):ke(n),z.current=null,V())};t()}}else Ne(n.current,r)||(R.current=r,pe(),G.current=!1)}}},[a,E,O,r,le,d,n,v,f,V,pe,fe]),P(()=>{if(!a||O||!I||p||!H.current)return;let e=I.nodesRef.current,t=e.find(e=>e.id===F)?.context?.elements.floating,n=ae(te(k??t??null)),r=e.some(e=>e.context&&se(e.context.elements.floating,n));t&&!r&&B.current&&t.focus({preventScroll:!0})},[a,O,k,I,F,p]),P(()=>{ne.current=E,H.current=!!O}),P(()=>{E||(z.current=null,ee.current=m)},[E,m]);let me=r!=null,he=L(e=>{if(!ce.current)return;let t=n.current.indexOf(e.currentTarget);t!==-1&&(R.current!==t||r!==t)&&(R.current=t,V(e))}),J=L(()=>y??I?.nodesRef.current.find(e=>e.id===F)?.context?.dataRef?.current.orientation),ge=L(()=>Ce(n,oe.current)),_e=L(e=>{if(B.current=!1,W.current=!0,e.which===229||!ce.current&&e.currentTarget===N.current)return;if(d&&Jn(e.key,v,f,w)){Gn(e.key,J())||Ae(e),T.setOpen(!1,ie(q,e.nativeEvent)),D(k)&&(p?I?.events.emit(`virtualfocus`,k):k.focus());return}let t=R.current,r=Ce(n,_),i=ke(n,_);if(M||(e.key===`Home`&&(Ae(e),R.current=r,V(e)),e.key===`End`&&(Ae(e),R.current=i,V(e))),C!=null){let t=C(e,R.current,n,v,c,f,_,r,i);if(t!=null&&(R.current=t,V(e)),v===`both`)return}if(Gn(e.key,v)){if(Ae(e),E&&!p&&ae(e.currentTarget.ownerDocument)===e.currentTarget){R.current=Kn(e.key,v,f)?r:i,V(e);return}Kn(e.key,v,f)?c?t>=i?s&&t!==n.current.length?R.current=-1:(W.current=!1,R.current=r):R.current=De(n.current,{startingIndex:t,disabledIndices:_}):R.current=Math.min(i,De(n.current,{startingIndex:t,disabledIndices:_})):c?t<=r?s&&t!==-1?R.current=n.current.length:(W.current=!1,R.current=i):R.current=De(n.current,{startingIndex:t,decrement:!0,disabledIndices:_}):R.current=Math.max(r,De(n.current,{startingIndex:t,decrement:!0,disabledIndices:_})),Ne(n.current,R.current)&&(R.current=-1),V(e)}}),ve=Z.useMemo(()=>({onFocus(e){W.current=!0,he(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){Un(e)||(W.current=!0,G.current=!1,h&&he(e))},onPointerLeave(e){if(!ce.current||!B.current||e.pointerType===`touch`)return;W.current=!0;let t=e.relatedTarget;if(!(!h||n.current.includes(t))&&ue.current&&(K.current?.(),K.current=null,R.current=-1,V(e),!p)){let e=N.current,t=ae(te(e));e&&se(e,t)&&e.focus({preventScroll:!0})}}}),[he,ce,N,h,n,V,ue,p]),Y=Z.useMemo(()=>p&&E&&me&&{"aria-activedescendant":`${b}-${r}`},[p,E,me,b,r]),ye=Z.useMemo(()=>({"aria-orientation":v===`both`?void 0:v,...M?{}:Y,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&E&&!p){let t=U(e.nativeEvent);if(t&&!se(N.current,t))return;Ae(e),T.setOpen(!1,ie(re,e.nativeEvent)),D(k)&&k.focus();return}_e(e)},onPointerMove(e){Un(e)||(B.current=!0)}}),[Y,_e,N,v,M,T,E,p,k]),Se=Z.useMemo(()=>{function e(e){T.setOpen(!0,ie(q,e.nativeEvent,e.currentTarget))}function t(e){m===`auto`&&Ke(e.nativeEvent)&&(ee.current=!p)}function n(e){ee.current=m,m===`auto`&&Ie(e.nativeEvent)&&(ee.current=!0)}return{onKeyDown(t){let n=T.select(`open`);B.current=!1;let r=t.key.startsWith(`Arrow`),i=qn(t.key,J(),f),a=Gn(t.key,v),o=(d?i:a)||t.key===`Enter`||t.key.trim()===``;if(p&&n)return _e(t);if(!(!n&&!g&&r)){if(o){let e=Gn(t.key,J());z.current=d&&e?null:t.key}if(d){i&&(Ae(t),n?(R.current=ge(),V(t)):e(t));return}a&&(le.current!=null&&(R.current=le.current),Ae(t),!n&&g?e(t):_e(t),n&&V(t))}},onFocus(e){T.select(`open`)&&!p&&(R.current=-1,V(e))},onPointerDown:n,onPointerEnter:n,onMouseDown:t,onClick:t}},[_e,m,ge,d,V,T,g,v,J,f,le,p]),we=Z.useMemo(()=>({...Y,...Se}),[Y,Se]);return Z.useMemo(()=>a?{reference:we,floating:ye,item:ve,trigger:Se}:{},[a,we,ye,Se,ve])}function Xn(e,t){let{listRef:n,elementsRef:r,activeIndex:i,onMatch:a,disabledIndices:o,onTyping:s,enabled:c=!0,resetMs:l=750,selectedIndex:u=null}=t,d=`rootStore`in e?e.rootStore:e,f=d.useState(`open`),p=Oe(),h=Z.useRef(``),g=Z.useRef(u??i??-1),_=Z.useRef(null),v=L(e=>{function t(e){return r?.current[e]}function c(e){let n=t(e);return n&&!me(n)||n?.matches(`:disabled`)?!1:o==null||!Ye(m,e,o)}function d(e,t,n=0){if(e.length===0)return-1;let r=(n%e.length+e.length)%e.length,i=t.toLowerCase();for(let t=0;t0&&e.key===` `&&(Ae(e),s?.(!0)),h.current.length>0&&h.current[0]!==` `&&d(v,h.current)===-1&&e.key!==` `&&s?.(!1),v==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;f&&e.key!==` `&&(Ae(e),s?.(!0));let y=h.current===``;y&&(g.current=u??i??-1),v.every((e,t)=>e&&c(t)?e[0]?.toLowerCase()!==e[1]?.toLowerCase():!0)&&h.current===e.key&&(h.current=``,g.current=_.current),h.current+=e.key,p.start(l,()=>{h.current=``,g.current=_.current,s?.(!1)});let b=((y?u??i??-1:g.current)??0)+1,x=d(v,h.current,b);x===-1?e.key!==` `&&(h.current=``,s?.(!1)):(a?.(x),_.current=x)}),y=L(e=>{let t=e.relatedTarget,n=d.select(`domReferenceElement`),r=d.select(`floatingElement`);se(n,t)||se(r,t)||(p.clear(),h.current=``,g.current=_.current,s?.(!1))});P(()=>{!f&&u!==null||(p.clear(),_.current=null,h.current!==``&&(h.current=``))},[f,u,p]);let b=Z.useMemo(()=>({onKeyDown:v,onBlur:y}),[v,y]);return Z.useMemo(()=>c?{reference:b,floating:b}:{},[c,b])}function Zn(e){let t=Z.useRef(``),n=Z.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:Z.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function Qn(e,t){let n=Z.useRef(e),r=L(t);P(()=>{n.current!==e&&r(n.current),n.current=e},[e,r])}function $n(e,t){let{onClick:n,onPointerDown:r}=Zn(L((n,r)=>{(typeof e==`function`?e():e)||t(r||(Qe?`touch`:``))}));return Z.useMemo(()=>({onClick:n,onPointerDown:r}),[n,r])}function er(e){let[t,n]=Z.useState(null),r=$n(e,n);return Qn(e,t=>{t&&!e&&n(null)}),Z.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}var tr=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0,offsetParent:d=`real`}=pt(e,t)||{};if(l==null)return{};let f=jt(u),p={x:n,y:r},m=yt(i),h=_t(m),g=await o.getDimensions(l),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=a.reference[h]+a.reference[m]-p[m]-a.floating[h],S=p[m]-a.reference[m],C=d===`real`?await o.getOffsetParent?.(l):s.floating,w=s.floating[b]||a.floating[h];(!w||!await o.isElement?.(C))&&(w=s.floating[b]||a.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=Math.min(f[v],E),O=Math.min(f[y],E),k=D,A=w-g[h]-O,j=w/2-g[h]/2+T,M=ft(k,j,A),N=!c.arrow&&ht(i)!=null&&j!==M&&a.reference[h]/2-(j({...tr(e),options:[e,t]}),rr={name:`hide`,async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,a=t===0&&n===0&&r===0&&i===0,o=await e.platform.detectOverflow(e,{elementContext:`reference`});return{data:{referenceHidden:o.top-n>=0||o.right-t>=0||o.bottom-n>=0||o.left-t>=0||a}}}},ir={sideX:`left`,sideY:`top`},ar=`--available-width`,or=`--available-height`;function sr(e,t,n){let r=e===`inline-start`||e===`inline-end`;return{top:`top`,right:r?n?`inline-start`:`inline-end`:`right`,bottom:`bottom`,left:r?n?`inline-end`:`inline-start`:`left`}[t]}function cr(e,t,n){let{rects:r,placement:i}=e;return{side:sr(t,mt(i),n),align:ht(i)||`center`,anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function lr(e){return ur(e,Bn)}function ur(e,t){let{anchor:n,positionMethod:r=`absolute`,side:i=`bottom`,sideOffset:a=0,align:o=`center`,alignOffset:s=0,collisionBoundary:c,collisionPadding:u=5,sticky:d=!1,arrowPadding:f=5,disableAnchorTracking:p=!1,inline:m,keepMounted:h=!1,floatingRootContext:g,mounted:_,collisionAvoidance:v,shift:y,nodeId:b,adaptiveOrigin:x,lazyFlip:S=!1,externalTree:C}=e,[w,T]=Z.useState(null);!_&&w!==null&&T(null);let D=v.side||`flip`,O=v.align||`flip`,k=v.fallbackAxisSide||`end`,A=y?.crossAxis??!1,j=y?.rootBoundary,M=typeof n==`function`?n:void 0,N=L(M),F=M?N:n,I=l(n),ee=l(_),R=tt()===`rtl`,z=w||{top:`top`,right:`right`,bottom:`bottom`,left:`left`,"inline-end":R?`left`:`right`,"inline-start":R?`right`:`left`}[i],B=o===`center`?z:`${z}-${o}`,V=u;typeof V==`number`?V={top:V,right:V,bottom:V,left:V}:V&&={top:V.top||0,right:V.right||0,bottom:V.bottom||0,left:V.left||0};let H=+(i===`bottom`),U=+(i===`top`),ne=+(i===`right`),W=+(i===`left`),G={boundary:c===`clipping-ancestors`?`clippingAncestors`:c,padding:V},K=Z.useRef(null),re=l(a),ie=l(s),q=typeof a==`function`?0:a,ae=typeof s==`function`?0:s,oe=[];m&&oe.push(m),oe.push(Pn(e=>{let t=cr(e,i,R),n=typeof re.current==`function`?re.current(t):re.current,r=typeof ie.current==`function`?ie.current(t):ie.current;return{mainAxis:n,crossAxis:r,alignmentAxis:r}},[q,ae,R,i]));let se=O===`none`&&D!==`shift`,ce=!se&&(d||A||D===`shift`),le=D===`none`?null:Ln({...G,padding:{top:V.top+1+H,right:V.right+1+W,bottom:V.bottom+1+U,left:V.left+1+ne},mainAxis:!A&&D===`flip`,crossAxis:O===`flip`&&`alignment`,fallbackAxisSideDirection:k}),ue=se?null:Fn({...G,rootBoundary:j,mainAxis:O!==`none`,crossAxis:ce,limiter:d||A?void 0:In(e=>{if(!K.current)return{};let{width:t,height:n}=K.current.getBoundingClientRect(),r=vt(mt(e.placement)),i=r===`y`?t:n,a=r===`y`?V.left+V.right:V.top+V.bottom;return{offset:i/2+a/2}})},[G,d,A,j,V,O]);D===`shift`||O===`shift`||o===`center`?oe.push(ue,le):oe.push(le,ue),oe.push(Rn({...G,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){if(!ee.current)return;let i=e.style;i.setProperty(ar,`${t}px`),i.setProperty(or,`${n}px`);let a=E(e).devicePixelRatio||1,{x:o,y:s,width:c,height:l}=r.reference,u=(Math.round((o+c)*a)-Math.round(o*a))/a,d=(Math.round((s+l)*a)-Math.round(s*a))/a;i.setProperty(`--anchor-width`,`${u}px`),i.setProperty(`--anchor-height`,`${d}px`)}}),nr(e=>({element:K.current||te(e.elements.floating).createElement(`div`),padding:f,offsetParent:`floating`}),[f]),{name:`transformOrigin`,fn(e){let{elements:t,middlewareData:n,placement:r,rects:o,y:s}=e,c=mt(r),l=vt(c),u=K.current,d=n.arrow?.x||0,f=n.arrow?.y||0,p=u?.clientWidth||0,m=u?.clientHeight||0,h=d+p/2,g=f+m/2,_=Math.abs(n.shift?.y||0),v=o.reference.height/2,y=typeof a==`function`?a(cr(e,i,R)):a,b=_>y,x={top:`${h}px calc(100% + ${y}px)`,bottom:`${h}px ${-y}px`,left:`calc(100% + ${y}px) ${g}px`,right:`${-y}px ${g}px`}[c],S=`${h}px ${o.reference.y+v-s}px`;return t.floating.style.setProperty(`--transform-origin`,ce&&l===`y`&&b?S:x),{}}},rr,x),P(()=>{!_&&g&&g.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[_,g]);let de=Z.useMemo(()=>({elementResize:!p&&typeof ResizeObserver<`u`,layoutShift:!p&&typeof IntersectionObserver<`u`}),[p]),{refs:fe,elements:pe,x:me,y:he,middlewareData:J,update:ge,placement:_e,context:ve,isPositioned:Y,floatingStyles:ye}=t({rootContext:g,open:h?_:void 0,placement:B,middleware:oe,strategy:r,whileElementsMounted:h?void 0:(...e)=>bn(...e,de),nodeId:b,externalTree:C}),{sideX:be,sideY:xe}=J.adaptiveOrigin||ir,Se=Y?r:`fixed`,Ce=Z.useMemo(()=>{let e;return e=Y?x?{position:Se,[be]:me,[xe]:he}:{...ye,position:Se}:{position:Se,top:0,left:0},e[ar]=`100vw`,e[or]=`100vh`,Y||(e.opacity=0),e},[x,Se,be,me,xe,he,ye,Y]),we=Z.useRef(null);P(()=>{if(!_)return;let e=I.current,t=typeof e==`function`?e():e,n=(dr(t)?t.current:t)||null;n!==we.current&&(fe.setPositionReference(n),we.current=n)},[_,fe,F,I]),Z.useEffect(()=>{if(!_)return;let e=I.current;typeof e!=`function`&&dr(e)&&e.current!==we.current&&(fe.setPositionReference(e.current),we.current=e.current)},[_,fe,F,I]),Z.useEffect(()=>{if(h&&_&&pe.reference&&pe.floating)return bn(pe.reference,pe.floating,ge,de)},[h,_,pe,ge,de]);let Te=mt(_e),Ee=sr(i,Te,R),De=ht(_e)||`center`,Oe=!!J.hide?.referenceHidden;P(()=>{S&&_&&Y&&Te!==z&&T(Te)},[S,_,Y,Te,z]);let ke=Z.useMemo(()=>({position:`absolute`,top:J.arrow?.y,left:J.arrow?.x}),[J.arrow]),X=J.arrow?.centerOffset!==0;return Z.useMemo(()=>({positionerStyles:Ce,arrowStyles:ke,arrowRef:K,arrowUncentered:X,side:Ee,align:De,physicalSide:Te,anchorHidden:Oe,refs:fe,context:ve,isPositioned:Y,update:ge}),[Ce,ke,K,X,Ee,De,Te,Oe,fe,ve,Y,ge])}function dr(e){return e!=null&&`current`in e}function fr(e){return e===`starting`?ve:d}function pr(e,t,{styles:n,transitionStatus:r,props:i,refs:a,hidden:o,inert:s=!1}){let c={...n};return s&&(c.pointerEvents=`none`),g(`div`,e,{state:t,ref:a,props:[{role:`presentation`,hidden:o,style:c},fr(r),i],stateAttributesMapping:Ee})}function mr(e){let[t,n]=Z.useState({current:e,previous:null});return Object.is(e,t.current)||n({current:e,previous:t.current}),t.previous}function hr(e){let t=Z.useRef(!0);t.current&&(t.current=!1,e())}var gr=Z.createContext(null);function _r(){let e=Z.useContext(gr);if(e===null)throw Error(_(60));return e}var vr=(e,t)=>Object.is(e,t);function yr(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function br(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e!==void 0&&yr(e,t,n))}function xr(e,t,n){return e.filter(e=>!yr(t,e,n))}function Sr(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function Cr(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function wr(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(Cr(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function Tr(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return Sr(e)}function Er(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?Sr(e.value):Sr(e)}function Dr(e,t,n){function r(){return Tr(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??r();if(Array.isArray(t)){let n=t,i=Cr(n)?n.flatMap(e=>e.items):n;if(typeof e!=`object`||!e){let t=i.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=i.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function Or(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Q.jsx)(Z.Fragment,{children:Dr(r,t,n)},i)),e),[])}var $={id:e=>e.id,labelId:e=>e.labelId,modal:e=>e.modal,items:e=>e.items,itemToStringLabel:e=>e.itemToStringLabel,isItemEqualToValue:e=>e.isItemEqualToValue,value:e=>e.value,hasSelectedValue:e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:Er(t,r)!==``},hasNullItemLabel:(e,t)=>t?wr(e.items):!1,open:e=>e.open,mounted:e=>e.mounted,forceMount:e=>e.forceMount,transitionStatus:e=>e.transitionStatus,openMethod:e=>e.openMethod,activeIndex:e=>e.activeIndex,selectedIndex:e=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let n=e.isItemEqualToValue,r=e.value;return e.multiple?Array.isArray(r)&&r.some(e=>yr(t,e,n)):yr(t,r,n)},isSelectedByFocus:(e,t)=>e.selectedIndex===t,popupProps:e=>e.popupProps,triggerProps:e=>e.triggerProps,triggerElement:e=>e.triggerElement,positionerElement:e=>e.positionerElement,listElement:e=>e.listElement,popupSide:e=>e.popupSide,scrollUpArrowVisible:e=>e.scrollUpArrowVisible,scrollDownArrowVisible:e=>e.scrollDownArrowVisible,hasScrollArrows:e=>e.hasScrollArrows};function kr(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}function Ar(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}function jr(e,t){return Math.max(0,e-t)}function Mr(e,t){if(t<=0)return 0;let n=Ar(e,0,t),r=n,i=t-n,a=r<=1,o=i<=1;return a&&o?r<=i?0:t:a?0:o?t:n}function Nr(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:u,name:g,form:_,autoComplete:v,disabled:y=!1,readOnly:b=!1,required:x=!1,modal:S=!0,actionsRef:C,inputRef:w,onOpenChangeComplete:T,items:E,multiple:D=!1,itemToStringLabel:O,itemToStringValue:k,isItemEqualToValue:A=vr,highlightItemOnHover:j=!0,children:M}=e,{clearErrors:N}=le(),{setDirty:F,setTouched:I,setFocused:ee,validityData:R,setFilled:z,name:B,disabled:te,validation:V,validationMode:H}=ce(),U=ue({id:t}),W=te||y,G=B??g,[K,re]=et({controlled:n,default:D?r??m:r,name:`Select`,state:`value`}),[q,ae]=et({controlled:a,default:o,name:`Select`,state:`open`}),oe=Z.useRef([]),se=Z.useRef([]),de=Z.useRef(null),fe=Z.useRef(null),me=Z.useRef(0),ve=Z.useRef(null),Y=Z.useRef([]),ye=Z.useRef(!1),be=Z.useRef(null),xe=Z.useRef(null),Se=Z.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),Ce=Z.useRef(!1),{mounted:we,setMounted:Ee,transitionStatus:De}=c(q),{openMethod:Oe,triggerProps:ke}=er(q),X=h(()=>new ge({id:U,labelId:void 0,modal:S,multiple:D,itemToStringLabel:O,itemToStringValue:k,isItemEqualToValue:A,value:K,open:q,mounted:we,transitionStatus:De,items:E,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,Ae=J(X,$.activeIndex),je=J(X,$.selectedIndex),Me=J(X,$.triggerElement),Ne=J(X,$.positionerElement),Pe=mr(Oe),Fe=Oe??Pe,Ie=Z.useMemo(()=>D?``:Er(K,k),[D,K,k]),Le=Z.useMemo(()=>D&&Array.isArray(K)?K.map(e=>Er(e,k)):Er(K,k),[D,K,k]),ze=l(Me),Be=L(()=>Le);pe(ze,U,K,Be,!W,g);let Ve=Z.useRef(K),He=D?Array.isArray(K)&&K.length>0:K!=null&&Ie!==``;P(()=>{z(He)},[He,z]),P(function(){let e=K,t=!1;if(D){let n=Array.isArray(K)?K:[];t=n.length===0,e=n[n.length-1]}let n=t?-1:br(Y.current,e,A),r=n===-1?null:n;r===null&&(xe.current=null),!q&&X.set(`selectedIndex`,r)},[D,q,K,A,X]);function Ue(e){let t=R.initialValue;return Array.isArray(e)&&Array.isArray(t)?!kr(e,t,(e,t)=>yr(e,t,A)):e!==t}Qn(K,()=>{N(G),F(Ue(K)),V.change(K)});let We=L((e,t)=>{u?.(e,t),!t.isCanceled&&(ae(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(I(!0),ee(!1),H===`onBlur`&&V.commit(K)))}),Ge=L(()=>{Ee(!1),X.update({activeIndex:null,openMethod:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1}),T?.(!1)});s({enabled:!C,open:q,ref:de,onComplete(){q||Ge()}}),Z.useImperativeHandle(C,()=>({unmount:Ge}),[Ge]);let Ke=L((e,t)=>{i?.(e,t),!t.isCanceled&&re(e)}),qe=L(e=>{let t=jr(e.scrollHeight,e.clientHeight),n=Mr(e.scrollTop,t),r=n>0,i=nrt(oe.current[e]),onMatch(e){q?X.set(`activeIndex`,e):Ke(Y.current[e],ie(ne))},onTyping(e){ye.current=e}}),$e=Z.useMemo(()=>p(Qe.reference,Ze.reference,Xe.reference,Ye.reference,ke),[Ye.reference,Qe.reference,Ze.reference,Xe.reference,ke]),tt=Z.useMemo(()=>p(Re,Qe.floating,Ze.floating,Xe.floating),[Qe.floating,Ze.floating,Xe.floating]),nt=Ze.item??d;hr(()=>{X.update({popupProps:tt,triggerProps:$e})}),X.useSyncedValues({id:U,modal:S,multiple:D,value:K,open:q,mounted:we,transitionStatus:De,popupProps:tt,triggerProps:$e,items:E,itemToStringLabel:O,itemToStringValue:k,isItemEqualToValue:A,openMethod:Fe});let it=Z.useMemo(()=>({store:X,floatingContext:Je,required:x,disabled:W,readOnly:b,multiple:D,highlightItemOnHover:j,setValue:Ke,setOpen:We,listRef:oe,popupRef:de,scrollHandlerRef:fe,handleScrollArrowVisibility:qe,scrollArrowsMountedCountRef:me,itemProps:nt,valueRef:ve,valuesRef:Y,labelsRef:se,typingRef:ye,selectionRef:Se,firstItemTextRef:be,selectedItemTextRef:xe,validation:V,onOpenChangeComplete:T,alignItemWithTriggerActiveRef:Ce,initialValueRef:Ve}),[X,Je,x,W,b,D,j,Ke,We,nt,V,T,qe]),at=f(w,V.inputRef),ot=D?void 0:G,st=Z.useMemo(()=>!D||!Array.isArray(K)||!G?null:K.map(e=>{let t=Er(e,k);return(0,Q.jsx)(`input`,{type:`hidden`,form:_,name:G,value:t,disabled:W},t)}),[D,K,_,G,k,W]);return(0,Q.jsxs)(gr.Provider,{value:it,children:[M,(0,Q.jsx)(`input`,{...V.getValidationProps(W,{onFocus(){X.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented||W||b)return;let t=e.currentTarget.value,n=ie(ne,e.nativeEvent);function r(){if(D)return;let e=t.toLowerCase(),r=Y.current.findIndex(t=>Er(t,k).toLowerCase()===e||Tr(t,O).toLowerCase()===e);r===-1&&(r=Y.current.findIndex((t,n)=>{let r=se.current[n];return r!=null&&r.toLowerCase()===e}));let i=Y.current[r];i!=null&&Ke(i,n)}X.set(`forceMount`,!0),queueMicrotask(r)}}),id:U&&ot==null?`${U}-hidden-input`:void 0,form:_,name:ot,autoComplete:v,value:Ie,disabled:W,required:x&&!(D&&He),readOnly:b,ref:at,style:G?_e:Te,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),st]})}function Pr(e,t){return e??t}var Fr=5;function Ir(e,t){let n=Lr(t);return e.clientX>=n.left-Fr&&e.clientX<=n.right+Fr&&e.clientY>=n.top-Fr&&e.clientY<=n.bottom+Fr}function Lr(e){let t=e.getBoundingClientRect(),n=E(e);if(X)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}var Rr=400,zr={...Y,...de,popupSide:e=>e?{"data-popup-side":e}:null,value:()=>null},Br=Z.forwardRef(function(e,t){let{render:n,className:r,id:i,disabled:a=!1,nativeButton:o=!0,style:s,...c}=e,{setTouched:u,setFocused:d,validationMode:f,state:m,disabled:h}=ce(),{labelId:_}=fe(),{store:v,setOpen:y,selectionRef:b,validation:x,readOnly:S,required:C,alignItemWithTriggerActiveRef:w,disabled:T}=_r(),E=h||T||a,D=J(v,$.open),O=J(v,$.mounted),k=J(v,$.value),A=J(v,$.triggerProps),j=J(v,$.positionerElement),M=J(v,$.listElement),N=J(v,$.popupSide),P=J(v,$.id),F=J(v,$.labelId),L=J(v,$.hasSelectedValue),ee=O&&j?N:null,R=i??P,z=Pr(_,F);ue({id:R});let B=l(j),V=Z.useRef(null),{getButtonProps:H,buttonRef:U}=I({disabled:E,native:o}),W=v.useStateSetter(`triggerElement`),G=Oe(),re=Oe(),q=Oe();Z.useEffect(()=>{if(D)return q.start(Rr,()=>{b.current.allowUnselectedMouseUp=!0,b.current.allowSelectedMouseUp=!0}),()=>{q.clear()};b.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},re.clear()},[D,b,re,q]);let ae=p(A,{id:R,role:`combobox`,"aria-expanded":D,"aria-haspopup":`listbox`,"aria-controls":D?M?.id??qe(j)?.id:void 0,"aria-labelledby":z,"aria-readonly":S||void 0,"aria-required":C||void 0,tabIndex:E?-1:0,onFocus(e){d(!0),D&&w.current&&y(!1,ie(ne,e.nativeEvent)),G.start(0,()=>{v.set(`forceMount`,!0)})},onBlur(e){se(j,e.relatedTarget)||(u(!0),d(!1),f===`onBlur`&&x.commit(k))},onMouseDown(e){if(D)return;let t=te(e.currentTarget);function n(e){if(!V.current)return;let t=e.target;se(V.current,t)||se(B.current,t)||Ir(e,V.current)||y(!1,ie(K,e))}re.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},c,H),oe=x.getValidationProps(E,ae);oe.role=`combobox`;let le={...m,open:D,disabled:E,value:k,readOnly:S,popupSide:ee,placeholder:!L};return g(`button`,e,{ref:[t,V,U,W],state:le,stateAttributesMapping:zr,props:oe})}),Vr={value:()=>null},Hr=Z.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,style:o,...s}=e,{store:c,valueRef:l}=_r(),u=J(c,$.value),d=J(c,$.items),f=J(c,$.itemToStringLabel),p=J(c,$.hasSelectedValue),m=!p&&a!=null&&i==null,h=J(c,$.hasNullItemLabel,m),_={value:u,placeholder:!p},v=null;return v=typeof i==`function`?i(u):i??(m&&!h?a:Array.isArray(u)?Or(u,d,f):Dr(u,d,f)),g(`span`,e,{state:_,ref:[t,l],props:[{children:v},s],stateAttributesMapping:Vr})}),Ur=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o}=_r(),s={open:J(o,$.open)};return g(`span`,e,{state:s,ref:t,props:[{"aria-hidden":!0,children:`▼`},a],stateAttributesMapping:We})}),Wr=Z.forwardRef(function(e,t){let{store:n}=_r(),r=J(n,$.mounted),i=J(n,$.forceMount);return r||i?(0,Q.jsx)(Se,{ref:t,...e}):null}),Gr=Z.createContext(void 0);function Kr(){let e=Z.useContext(Gr);if(!e)throw Error(_(59));return e}function qr(e,t){e&&Object.assign(e.style,t)}var Jr={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},Yr=20;function Xr(e,t,n,r){let[i,a]=Z.useState(!1);P(()=>{if(!e||!t||n==null){a(!1);return}let r=te(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-Yr)},[e,t,n]),Je(e&&(!t||i),r)}var Zr={position:`fixed`},Qr=Z.forwardRef(function(e,t){let{anchor:n,className:r,render:i,positionMethod:a,side:o,align:s,sideOffset:c,alignOffset:l,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f,sticky:p,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=ye,style:_,...v}=e,{store:y,listRef:b,labelsRef:x,alignItemWithTriggerActiveRef:S,selectedItemTextRef:C,valuesRef:w,initialValueRef:T,popupRef:E,setValue:D,floatingContext:O}=_r(),k=J(y,$.open),A=J(y,$.mounted),j=J(y,$.modal),M=J(y,$.value),N=J(y,$.openMethod),F=J(y,$.positionerElement),I=J(y,$.triggerElement),ee=J(y,$.isItemEqualToValue),R=J(y,$.transitionStatus),z=Z.useRef(null),B=Z.useRef(null),[te,V]=Z.useState(h),H=A&&te&&N!==`touch`;!A&&te!==h&&V(h),Z.useImperativeHandle(S,()=>H),Xr((H||j)&&k,N===`touch`,F,I);let U=lr({anchor:n,floatingRootContext:O,positionMethod:a,mounted:A,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??H,collisionAvoidance:g,keepMounted:!0}),W=H?`none`:U.side,G=H?Zr:U.positionerStyles,K={open:k,side:W,align:U.align,anchorHidden:U.anchorHidden};P(()=>{y.set(`popupSide`,U.side)},[y,U.side]);let re=pr(e,K,{styles:G,transitionStatus:R,props:v,refs:[t,y.useStateSetter(`positionerElement`)],hidden:!A,inert:!k}),q=Z.useRef(0),ae=L(e=>{if(w.current.length===0)return;let t=q.current;if(q.current=e.size,e.size===t)return;let n=ie(ne);if(t!==0&&!y.state.multiple&&M!==null&&br(w.current,M,ee)===-1){let e=T.current,t=e!=null&&br(w.current,e,ee)!==-1?e:null;D(t,n),t===null&&(y.set(`selectedIndex`,null),C.current=null)}if(t!==0&&y.state.multiple&&Array.isArray(M)){let e=M.filter(e=>br(w.current,e,ee)!==-1);e.length!==M.length&&(D(e,n),e.length===0&&(y.set(`selectedIndex`,null),C.current=null))}if(k&&H){y.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};qr(F,e),qr(E.current,e)}}),oe=Z.useMemo(()=>({...U,side:W,alignItemWithTriggerActive:H,setControlledAlignItemWithTrigger:V,scrollUpArrowRef:z,scrollDownArrowRef:B}),[U,W,H,V]);return(0,Q.jsx)(nt,{elementsRef:b,labelsRef:x,onMapChange:ae,children:(0,Q.jsxs)(Gr.Provider,{value:oe,children:[A&&j&&(0,Q.jsx)(Be,{inert:Ge(!k),cutout:I}),re]})})}),$r=`base-ui-disable-scrollbar`,ei={className:$r,getElement(e){return(0,Q.jsx)(`style`,{nonce:e,href:$r,precedence:`base-ui:low`,children:`.${$r}{scrollbar-width:none}.${$r}::-webkit-scrollbar{display:none}`})}},ti=Z.createContext(void 0);function ni(e){let t=Z.useContext(ti);if(t===void 0&&!e)throw Error(_(69));return t}var ri=Z.createContext(void 0),ii={disableStyleElements:!1};function ai(){return Z.useContext(ri)??ii}var oi={...Ee,...i},si=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,...c}=e,{store:l,popupRef:d,onOpenChangeComplete:f,setOpen:p,valueRef:m,firstItemTextRef:h,selectedItemTextRef:_,multiple:v,handleScrollArrowVisibility:y,scrollHandlerRef:b,listRef:x,highlightItemOnHover:S,floatingContext:C}=_r(),{side:w,align:T,alignItemWithTriggerActive:D,isPositioned:O,setControlledAlignItemWithTrigger:k}=Kr(),A=ni(!0)!=null,j=tt(),{nonce:M,disableStyleElements:N}=ai(),F=J(l,$.id),I=J(l,$.open),ee=J(l,$.openMethod),R=J(l,$.mounted),z=J(l,$.popupProps),B=J(l,$.transitionStatus),V=J(l,$.triggerElement),U=J(l,$.positionerElement),ne=J(l,$.listElement),W=Z.useRef(!1),G=Z.useRef(!1),K=Z.useRef({}),re=u(),q=L(e=>{if(!U||!d.current||!G.current)return;let t=U.style.top===`0px`,n=U.style.bottom===`0px`;if(W.current||!D||!t&&!n){y(e);return}let r=ui(U),i=di(U.getBoundingClientRect().height,`y`,r),a=te(U),o=E(U),s=o.getComputedStyle(U),c=parseFloat(s.marginTop),l=parseFloat(s.marginBottom),u=ci(o.getComputedStyle(d.current)),f=Math.min(a.documentElement.clientHeight-c-l,u),p=e.scrollTop,m=li(e),h=null,g=e=>{U.style.height=`${e}px`},_=t?m-p:p,v=Math.min(i+_,f);if(_<=1){let n=Ar(_,0,f-i);n>0&&g(i+n),e.scrollTop=t?m:0,f-(i+n)<=1&&(W.current=!0),y(e);return}f-v>1?h=t?1/0:0:n&&p1&&(e.scrollTop=t)}b>=f-1&&(W.current=!0),y(e)});Z.useImperativeHandle(b,()=>q,[q]),s({open:I,ref:d,onComplete(){I&&f?.(!0)}});let ae={open:I,transitionStatus:B,side:w,align:T};P(()=>{!U||!d.current||Object.keys(K.current).length||(K.current={top:U.style.top||`0`,left:U.style.left||`0`,right:U.style.right,height:U.style.height,bottom:U.style.bottom,minHeight:U.style.minHeight,maxHeight:U.style.maxHeight,marginTop:U.style.marginTop,marginBottom:U.style.marginBottom})},[d,U]),P(()=>{I||D||(G.current=!1,W.current=!1,qr(U,K.current))},[I,D,U,d]),P(()=>{let e=d.current;if(!I||!V||!U||!e||D&&!O||l.state.transitionStatus===`ending`)return;if(G.current=!0,e.style.removeProperty(`--transform-origin`),!D){re.request(()=>y(ne||e));return}let t=mi(e);try{let t=_.current;t?.isConnected||(t=!$.hasSelectedValue(l.state)&&h.current?.isConnected?h.current:null);let n=m.current,r=E(U),i=r.getComputedStyle(U),a=r.getComputedStyle(e),o=te(V),s=ui(V),c=fi(V.getBoundingClientRect(),s),u=fi(U.getBoundingClientRect(),s),d=c.height,f=ne||e,p=f.scrollHeight,g=parseFloat(a.borderBottomWidth),v=parseFloat(i.marginTop)||10,b=parseFloat(i.marginBottom)||10,C=parseFloat(i.minHeight)||100,w=ci(a),T=o.documentElement.clientHeight-v-b,D=o.documentElement.clientWidth,O=T-c.bottom+d,A,M=j===`rtl`?c.right-u.width:c.left,N=0;if(t&&n){let e=fi(n.getBoundingClientRect(),s);A=fi(t.getBoundingClientRect(),s),M=u.left+(j===`rtl`?e.right-A.right:e.left-A.left);let r=e.top-c.top+e.height/2;N=A.top-u.top+A.height/2-r}let P=O+N+b+g,F=Math.min(T,P),I=T-v-b,L=P-F,ee=D-5;U.style.left=`${Ar(M,5,ee-u.width)}px`,U.style.height=`${F}px`,U.style.maxHeight=`none`,U.style.marginTop=`${v}px`,U.style.marginBottom=`${b}px`,e.style.height=`100%`;let R=li(f),z=L>=R-1;z&&(F=Math.min(T,u.height)-(L-R));let B=c.top<20||c.bottom>T-20||Math.ceil(F)+1=I?`0`:`${e}px`,U.style.height=`${F}px`,f.scrollTop=li(f)}else U.style.bottom=`0`,f.scrollTop=L;if(A){let t=u.top,n=u.height,r=A.top+A.height/2,i=Ar(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(`--transform-origin`,`50% ${i}%`)}(G===T||F>=w)&&(W.current=!0),y(f),S&&l.state.selectedIndex===null&&l.state.activeIndex===null&&x.current[0]!=null&&l.set(`activeIndex`,0)}finally{t()}},[l,I,U,V,m,h,_,d,y,D,k,re,ne,x,S,j,O]),Z.useEffect(()=>{if(!D||!U||!I)return;let e=E(U);function t(e){p(!1,ie(H,e))}return o(e,`resize`,t)},[p,D,U,I]);let oe={...ne?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":v||void 0,id:`${F}-list`},onKeyDown(e){A&&je.has(e.key)&&e.stopPropagation()},onScroll(e){ne||q(e.currentTarget)},...D&&{style:ne?{height:`100%`}:Jr},className:!ne&&D?ei.className:void 0},se=g(`div`,e,{ref:[t,d],state:ae,stateAttributesMapping:oi,props:[z,oe,fr(B),c]});return(0,Q.jsxs)(Z.Fragment,{children:[!N&&ei.getElement(M),(0,Q.jsx)(Le,{context:C,modal:!1,disabled:!R,openInteractionType:ee,returnFocus:a,restoreFocus:!0,children:se})]})});function ci(e){let t=e.maxHeight;return t.endsWith(`px`)&&parseFloat(t)||1/0}function li(e){return jr(e.scrollHeight,e.clientHeight)}function ui(e){return _n.getScale(e)}function di(e,t,n){return e/n[t]}function fi(e,t){return Mt({x:di(e.x,`x`,t),y:di(e.y,`y`,t),width:di(e.width,`x`,t),height:di(e.height,`y`,t)})}var pi=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function mi(e){let{style:t}=e,n={};for(let[e,r]of pi)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of pi){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}var hi=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o,scrollHandlerRef:s,multiple:c}=_r(),{alignItemWithTriggerActive:l}=Kr(),u=J(o,$.hasScrollArrows),d=J(o,$.openMethod),f={id:`${J(o,$.id)}-list`,role:`listbox`,"aria-multiselectable":c||void 0,onScroll(e){s.current?.(e.currentTarget)},...l&&{style:Jr},className:u&&d!==`touch`?ei.className:void 0},p=o.useStateSetter(`listElement`);return g(`div`,e,{ref:[t,p],props:[f,a]})}),gi=Z.createContext(void 0);function _i(){let e=Z.useContext(gi);if(!e)throw Error(_(57));return e}var vi=Z.memo(Z.forwardRef(function(e,t){let{render:n,className:r,style:i,value:a=null,label:o,disabled:s=!1,nativeButton:c=!1,...l}=e,u=Z.useRef(null),d=it({guess:!0,label:o,textRef:u}),{store:f,itemProps:p,setOpen:m,setValue:h,selectionRef:_,typingRef:v,valuesRef:y,multiple:b,selectedItemTextRef:x,disabled:S,readOnly:C}=_r(),w=S||s,T=J(f,$.isActive,d.index),E=J(f,$.open),D=J(f,$.isSelected,a),O=J(f,$.isSelectedByFocus,d.index),k=J(f,$.isItemEqualToValue),A=d.index,j=Z.useRef(null);P(()=>{let e=y.current;return e[A]=a,()=>{delete e[A]}},[A,a,y]),P(()=>{let e=f.state.value,t=e;b&&Array.isArray(e)&&(t=e.length>0?e[e.length-1]:void 0),t!==void 0&&yr(a,t,k)&&(f.set(`selectedIndex`,A),u.current&&(x.current=u.current))},[A,b,k,f,a,x]);let M=Z.useRef(`mouse`),N=Z.useRef(!1),{getButtonProps:F,buttonRef:L}=I({disabled:w,focusableWhenDisabled:!0,native:c,composite:!0}),ee={disabled:w,selected:D,highlighted:T};function R(e){if(S||C)return;let t=f.state.value;if(b){let n=Array.isArray(t)?t:[],r=D?xr(n,a,k):[...n,a];h(r,ie(G,e))}else h(a,ie(G,e)),m(!1,ie(G,e))}function z(){_.current.dragY=0}let B={role:`option`,"aria-selected":D,tabIndex:E&&T?0:-1,onKeyDown(e){f.set(`activeIndex`,A),e.key===` `&&v.current&&e.preventDefault()},onClick(e){let t=M.current!==`touch`,n=e.nativeEvent.pointerType,r=t&&Ke(e.nativeEvent)&&(n!==void 0||T),i=t&&!r&&!N.current;N.current=!1,!(w||i)&&R(e.nativeEvent)},onPointerEnter(e){M.current=e.pointerType},onPointerMove(e){if(e.pointerType===`mouse`&&e.buttons===1){let t=_.current;t.dragY+=e.movementY,t.dragY**2>=64&&(t.allowUnselectedMouseUp=!0)}},onPointerDown(e){M.current=e.pointerType,N.current=!0,z()},onMouseUp(){if(z(),w||M.current===`touch`||N.current)return;let e=!_.current.allowSelectedMouseUp&&D,t=!_.current.allowUnselectedMouseUp&&!D;e||t||(N.current=!0,j.current?.click(),N.current=!1)}},te=g(`div`,e,{ref:[L,t,d.ref,j],state:ee,props:[p,B,l,F]}),V=Z.useMemo(()=>({selected:D,index:A,textRef:u,selectedByFocus:O}),[D,A,u,O]);return(0,Q.jsx)(gi.Provider,{value:V,children:te})})),yi=Z.forwardRef(function(e,t){let{selected:n}=_i();return e.keepMounted||n?(0,Q.jsx)(bi,{...e,ref:t}):null}),bi=Z.memo(Z.forwardRef((e,t)=>{let{render:n,className:r,style:a,keepMounted:o,...l}=e,{selected:u}=_i(),d=Z.useRef(null),{transitionStatus:f,setMounted:p}=c(u),m=g(`span`,e,{ref:[t,d],state:{selected:u,transitionStatus:f},props:[{"aria-hidden":!0,children:`✔️`},l],stateAttributesMapping:i});return s({open:u,ref:d,onComplete(){u||p(!1)}}),m})),xi=Z.memo(Z.forwardRef(function(e,t){let{index:n,textRef:r,selectedByFocus:i}=_i(),{firstItemTextRef:a,selectedItemTextRef:o}=_r(),{render:s,className:c,style:l,...u}=e,d=Z.useCallback(e=>{e&&(n===0&&(a.current=e),i&&(o.current=e))},[a,o,n,i]);return g(`div`,e,{ref:[d,t,r],props:u})})),Si=Z.forwardRef(function(e,t){let{render:n,className:r,style:a,direction:o,keepMounted:l,...u}=e,d=o===`up`,{store:f,popupRef:p,listRef:m,handleScrollArrowVisibility:h,scrollArrowsMountedCountRef:_}=_r(),{side:v,scrollDownArrowRef:y,scrollUpArrowRef:b}=Kr(),x=d?$.scrollUpArrowVisible:$.scrollDownArrowVisible,S=J(f,x),C=J(f,$.openMethod),w=S&&C!==`touch`,T=Oe(),E=d?b:y,{mounted:D,transitionStatus:O,setMounted:k}=c(w);P(()=>(_.current+=1,f.set(`hasScrollArrows`,!0),()=>{_.current=Math.max(0,_.current-1),_.current===0&&f.set(`hasScrollArrows`,!1)}),[f,_]),s({open:w,ref:E,onComplete(){w||k(!1)}});let A=g(`div`,e,{ref:[t,E],state:{direction:o,visible:w,side:v,transitionStatus:O},props:[{"aria-hidden":!0,children:d?`▲`:`▼`,style:{position:`absolute`},onMouseMove(e){if(e.movementX===0&&e.movementY===0||T.isStarted())return;f.set(`activeIndex`,null);function t(){let e=f.state.listElement??p.current;if(!e)return;f.set(`activeIndex`,null),h(e);let n=jr(e.scrollHeight,e.clientHeight),r=Mr(e.scrollTop,n),i=r===(d?0:n),a=m.current;if(r!==e.scrollTop&&(e.scrollTop=r),i){T.clear();return}if(a.length>0){let t=E.current?.offsetHeight||0;e.scrollTop=Ci(a,d,r,e.clientHeight,t,n)}T.start(40,t)}T.start(40,t)},onMouseLeave(){T.clear()}},u],stateAttributesMapping:i});return D||l?A:null});function Ci(e,t,n,r,i,a){if(t){let t=0,r=n+i-1;for(let n=0;n=r){t=n;break}}let o=Math.max(0,t-1),s=e[o];return os){o=Math.max(0,t-1);break}}let c=Math.min(e.length-1,o+1),l=e[c];return c>o&&l?Mr(l.offsetTop+l.offsetHeight-r+i,a):a}var wi=Z.forwardRef(function(e,t){return(0,Q.jsx)(Si,{...e,ref:t,direction:`down`})}),Ti=Z.forwardRef(function(e,t){return(0,Q.jsx)(Si,{...e,ref:t,direction:`up`})}),Ei=Z.createContext(void 0);function Di(){let e=Z.useContext(Ei);if(e===void 0)throw Error(_(56));return e}var Oi=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,[o,s]=Z.useState(),c=Z.useMemo(()=>({labelId:o,setLabelId:s}),[o,s]),l=g(`div`,e,{ref:t,props:[{role:`group`,"aria-labelledby":o},a]});return(0,Q.jsx)(Ei.Provider,{value:c,children:l})}),ki=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,{setLabelId:s}=Di(),c=oe(a);return P(()=>(s(c),()=>{s(e=>e===c?void 0:e)}),[c,s]),g(`div`,e,{ref:t,props:[{id:c},o]})}),Ai=Z.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return g(`div`,e,{state:{orientation:i},ref:t,props:[{role:`presentation`},o]})}),ji=r(),Mi=Nr;function Ni(e){let t=(0,ji.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=v(`scroll-my-1 p-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Oi,{className:i,"data-slot":`select-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Pi(e){let t=(0,ji.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=v(`flex flex-1 text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Hr,{className:i,"data-slot":`select-value`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Fi(e){let t=(0,ji.c)(15),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,size:o,id:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=o===void 0?`default`:o,c;t[6]===r?c=t[7]:(c=v(`flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-input/20 px-2 py-1.5 text-xs/relaxed whitespace-nowrap transition-colors outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-7 data-[size=sm]:h-6 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,r),t[6]=r,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(Ur,{render:(0,Q.jsx)(x,{className:`pointer-events-none size-3.5 text-muted-foreground`})}),t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==c?(u=(0,Q.jsxs)(Br,{className:c,"data-size":s,"data-slot":`select-trigger`,id:i,...a,children:[n,l]}),t[9]=n,t[10]=i,t[11]=a,t[12]=s,t[13]=c,t[14]=u):u=t[14],u}function Ii(e){let t=(0,ji.c)(26),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({className:r,children:n,side:a,sideOffset:o,align:s,alignOffset:c,alignItemWithTrigger:l,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=a===void 0?`bottom`:a,d=o===void 0?4:o,f=s===void 0?`center`:s,p=c===void 0?0:c,m=l===void 0||l,h;t[9]===r?h=t[10]:(h=v(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 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-closed:animate-out data-open:animate-in relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100`,r),t[9]=r,t[10]=h);let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(Bi,{}),t[11]=g):g=t[11];let _;t[12]===n?_=t[13]:(_=(0,Q.jsx)(hi,{children:n}),t[12]=n,t[13]=_);let y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(Vi,{}),t[14]=y):y=t[14];let b;t[15]!==i||t[16]!==h||t[17]!==_?(b=(0,Q.jsxs)(si,{className:h,"data-slot":`select-content`,...i,children:[g,_,y]}),t[15]=i,t[16]=h,t[17]=_,t[18]=b):b=t[18];let x;return t[19]!==f||t[20]!==m||t[21]!==p||t[22]!==u||t[23]!==d||t[24]!==b?(x=(0,Q.jsx)(Wr,{children:(0,Q.jsx)(Qr,{align:f,alignItemWithTrigger:m,alignOffset:p,className:`isolate z-50`,side:u,sideOffset:d,children:b})}),t[19]=f,t[20]=m,t[21]=p,t[22]=u,t[23]=d,t[24]=b,t[25]=x):x=t[25],x}function Li(e){let t=(0,ji.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=v(`px-2 py-1.5 text-xs text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(ki,{className:i,"data-slot":`select-label`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ri(e){let t=(0,ji.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=v(`relative flex min-h-7 w-full cursor-default items-center gap-2 rounded-md px-2 py-1 text-xs/relaxed outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]: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-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,r),t[4]=r,t[5]=a);let o;t[6]===n?o=t[7]:(o=(0,Q.jsx)(xi,{className:`flex flex-1 shrink-0 gap-2 whitespace-nowrap`,children:n}),t[6]=n,t[7]=o);let s;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(yi,{render:(0,Q.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`}),children:(0,Q.jsx)(b,{className:`pointer-events-none`})}),t[8]=s):s=t[8];let c;return t[9]!==i||t[10]!==a||t[11]!==o?(c=(0,Q.jsxs)(vi,{className:a,"data-slot":`select-item`,...i,children:[o,s]}),t[9]=i,t[10]=a,t[11]=o,t[12]=c):c=t[12],c}function zi(e){let t=(0,ji.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=v(`pointer-events-none -mx-1 my-1 h-px bg-border/50`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Ai,{className:i,"data-slot":`select-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Bi(e){let t=(0,ji.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=v(`top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(at,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(Ti,{className:i,"data-slot":`select-scroll-up-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}function Vi(e){let t=(0,ji.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=v(`bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(x,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(wi,{className:i,"data-slot":`select-scroll-down-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}export{Li as a,Pi as c,lr as d,Ri as i,pr as l,Ii as n,zi as o,Ni as r,Fi as s,Mi as t,fr as u}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{a as i,n as a,o,r as s,t as c,u as l}from"./useValueAsRef.js";import{a as u,c as d,f,i as p,l as m,n as h,u as g}from"./dist.js";import{Yt as _}from"./cluster-config.js";import{t as v}from"./createLucideIcon.js";import{t as y}from"./check.js";import{t as b}from"./chevron-down.js";import{_ as x,b as ee,o as S,r as te,s as C,y as w}from"./button.js";import{C as T,S as E,_ as D,b as O,f as k,g as A,l as j,n as M,o as N,t as P,u as F,v as I,x as ne,y as L}from"./createBaseUIEventDetails.js";import{a as re,i as ie,n as ae,o as R,r as z,t as B}from"./useRegisterFieldControl.js";import{$ as V,A as H,D as U,E as oe,H as se,K as W,L as G,M as ce,N as le,P as K,Q as q,T as J,V as ue,W as de,X as Y,Y as fe,Z as pe,_t as me,at as he,c as ge,dt as _e,et as ve,gt as ye,ht as be,it as xe,j as Se,m as Ce,mt as we,n as Te,nt as Ee,p as De,pt as Oe,q as ke,r as Ae,rt as X,st as je,t as Me,tt as Ne,ut as Pe,vt as Fe,yt as Ie,z as Le}from"./useScrollLock.js";import{a as Re,i as ze,n as Be,r as Ve,t as He}from"./usePositioner.js";import{t as Ue}from"./useControlled.js";import{t as We}from"./DirectionContext.js";import{n as Ge,r as Ke,t as qe}from"./useCompositeListItem.js";var Je=v(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Z=e(n(),1);function Ye(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:o=!0,touchOpenDelay:s=0,reason:c=A}=t,d=`rootStore`in e?e.rootStore:e,f=d.context.dataRef,p=Z.useRef(void 0),m=l(),h=fe(),g=Z.useMemo(()=>{function e(e,t,n,r){let i=P(c,t,n);e&&r===`touch`&&s>0?h.start(s,()=>{d.setOpen(!0,i)}):d.setOpen(e,i)}function t(e,t,n){let r=f.current.openEvent,a=d.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&o?!n(r.type):!1}return{onPointerDown(e){p.current=Ee(e.pointerType,!0)&&xe(e.nativeEvent)?`virtual`:e.pointerType},onMouseDown(n){let i=p.current,o=n.nativeEvent,s=d.select(`open`);if(n.button!==0||r===`click`||Ee(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),l=O(o);if(_e(l)){e(c,o,l,i);return}let u=n.currentTarget;m.request(()=>{e(c,o,u,i)})},onClick(n){if(r===`mousedown-only`)return;let i=p.current;if(r===`mousedown`&&i){p.current=void 0;return}Ee(i,!0)&&a||e(t(d.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){p.current=void 0}}},[f,r,a,c,d,o,i,m,h,s]);return Z.useMemo(()=>n?{reference:g}:u,[n,g])}function Xe(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,i=E(),a=ce()!=null,o=m(()=>new J({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new De,floatingId:i,syncOnly:!1,nested:a})).current;return S(()=>{let e={open:t,floatingId:i};r.reference!==void 0&&(e.referenceElement=r.reference,e.domReferenceElement=w(r.reference)?r.reference:null),r.floating!==void 0&&(e.floatingElement=r.floating),o.update(e)},[t,i,r.reference,r.floating,o]),o.context.onOpenChange=n,o.context.nested=a,o}var Ze=`Escape`;function Qe(e){return Fe&&e.movementX===0&&e.movementY===0}function $e(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function et(e,t){return $e(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function tt(e,t,n){return $e(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function nt(e,t,n){return $e(t,n?e===we:e===be,e===Oe)}function rt(e,t,n,r){return t===`both`||t===`horizontal`&&r?e===Ze:$e(t,n?e===be:e===we,e===ye)}function it(e,t){let{listRef:n,activeIndex:r,onNavigate:i=()=>{},enabled:a=!0,selectedIndex:o=null,allowEscape:s=!1,loopFocus:u=!1,nested:d=!1,rtl:f=!1,virtual:p=!1,focusItemOnOpen:m=`auto`,focusItemOnHover:h=!0,openOnArrowKeyDown:g=!0,disabledIndices:_=void 0,orientation:v=`vertical`,parentOrientation:y,id:b,resetOnPointerLeave:x=!0,externalTree:te,grid:w}=t,E=w!=null,D=`rootStore`in e?e.rootStore:e,k=D.useState(`open`),A=D.useState(`floatingElement`),j=D.useState(`domReferenceElement`),M=D.context.dataRef,ne=je(A),re=Pe(j),ie=c(ne),ae=ce(),R=le(te),z=Z.useRef(m),B=Z.useRef(o??-1),V=Z.useRef(null),H=Z.useRef(!0),U=C(e=>{i(B.current===-1?null:B.current,e)}),oe=Z.useRef(!!A),se=Z.useRef(k),W=Z.useRef(!1),G=Z.useRef(!1),K=Z.useRef(null),J=c(_),ue=c(k),de=c(o),fe=c(x),me=l(),ge=l(),_e=C(()=>{function e(e){p?R?.events.emit(`virtualfocus`,e):K.current=Le(e,{sync:W.current,preventScroll:!0})}let t=n.current[B.current],r=G.current;t&&e(t),(W.current?e=>e():e=>me.request(e))(()=>{let i=n.current[B.current]||t;i&&(t||e(i),Te&&(r||!H.current)&&i.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});S(()=>{M.current.orientation=v},[M,v]),S(()=>{a&&(k&&A?(B.current=o??-1,z.current&&o!=null&&(G.current=!0,U())):oe.current&&(B.current=-1,U()))},[a,k,A,o,U]),S(()=>{if(a){if(!k){W.current=!1;return}if(A){if(r==null){if(W.current=!1,de.current!=null)return;if(oe.current&&(B.current=-1,_e()),(!se.current||!oe.current)&&z.current&&(V.current!=null||z.current===!0&&V.current==null)){let e=0,t=()=>{n.current[0]==null?(e<2&&(e?e=>ge.request(e):queueMicrotask)(t),e+=1):(B.current=V.current==null||tt(V.current,v,f)||d?q(n):pe(n),V.current=null,U())};t()}}else ve(n.current,r)||(B.current=r,_e(),G.current=!1)}}},[a,k,A,r,de,d,n,v,f,U,_e,ge]),S(()=>{if(!a||A||!R||p||!oe.current)return;let e=R.nodesRef.current,t=e.find(e=>e.id===ae)?.context?.elements.floating,n=I(T(j??t??null)),r=e.some(e=>e.context&&L(e.context.elements.floating,n));t&&!r&&H.current&&t.focus({preventScroll:!0})},[a,A,j,R,ae,p]),S(()=>{se.current=k,oe.current=!!A}),S(()=>{k||(V.current=null,z.current=m)},[k,m]);let ye=r!=null,be=C(e=>{if(!ue.current)return;let t=n.current.indexOf(e.currentTarget);t!==-1&&(B.current!==t||r!==t)&&(B.current=t,U(e))}),Se=C(()=>y??R?.nodesRef.current.find(e=>e.id===ae)?.context?.dataRef?.current.orientation),Ce=C(()=>q(n,J.current)),we=C(e=>{if(H.current=!1,W.current=!0,e.which===229||!ue.current&&e.currentTarget===ie.current)return;if(d&&rt(e.key,v,f,E)){et(e.key,Se())||he(e),D.setOpen(!1,P(F,e.nativeEvent)),ee(j)&&(p?R?.events.emit(`virtualfocus`,j):j.focus());return}let t=B.current,r=q(n,_),i=pe(n,_);if(re||(e.key===`Home`&&(he(e),B.current=r,U(e)),e.key===`End`&&(he(e),B.current=i,U(e))),w!=null){let t=w(e,B.current,n,v,u,f,_,r,i);if(t!=null&&(B.current=t,U(e)),v===`both`)return}if(et(e.key,v)){if(he(e),k&&!p&&I(e.currentTarget.ownerDocument)===e.currentTarget){B.current=tt(e.key,v,f)?r:i,U(e);return}tt(e.key,v,f)?u?t>=i?s&&t!==n.current.length?B.current=-1:(W.current=!1,B.current=r):B.current=Y(n.current,{startingIndex:t,disabledIndices:_}):B.current=Math.min(i,Y(n.current,{startingIndex:t,disabledIndices:_})):u?t<=r?s&&t!==-1?B.current=n.current.length:(W.current=!1,B.current=i):B.current=Y(n.current,{startingIndex:t,decrement:!0,disabledIndices:_}):B.current=Math.max(r,Y(n.current,{startingIndex:t,decrement:!0,disabledIndices:_})),ve(n.current,B.current)&&(B.current=-1),U(e)}}),Te=Z.useMemo(()=>({onFocus(e){W.current=!0,be(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){Qe(e)||(W.current=!0,G.current=!1,h&&be(e))},onPointerLeave(e){if(!ue.current||!H.current||e.pointerType===`touch`)return;W.current=!0;let t=e.relatedTarget;if(!(!h||n.current.includes(t))&&fe.current&&(K.current?.(),K.current=null,B.current=-1,U(e),!p)){let e=ie.current,t=I(T(e));e&&L(e,t)&&e.focus({preventScroll:!0})}}}),[be,ue,ie,h,n,U,fe,p]),Ee=Z.useMemo(()=>p&&k&&ye&&{"aria-activedescendant":`${b}-${r}`},[p,k,ye,b,r]),De=Z.useMemo(()=>({"aria-orientation":v===`both`?void 0:v,...re?{}:Ee,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&k&&!p){let t=O(e.nativeEvent);if(t&&!L(ie.current,t))return;he(e),D.setOpen(!1,P(N,e.nativeEvent)),ee(j)&&j.focus();return}we(e)},onPointerMove(e){Qe(e)||(H.current=!0)}}),[Ee,we,ie,v,re,D,k,p,j]),Oe=Z.useMemo(()=>{function e(e){D.setOpen(!0,P(F,e.nativeEvent,e.currentTarget))}function t(e){m===`auto`&&X(e.nativeEvent)&&(z.current=!p)}function n(e){z.current=m,m===`auto`&&xe(e.nativeEvent)&&(z.current=!0)}return{onKeyDown(t){let n=D.select(`open`);H.current=!1;let r=t.key.startsWith(`Arrow`),i=nt(t.key,Se(),f),a=et(t.key,v),o=(d?i:a)||t.key===`Enter`||t.key.trim()===``;if(p&&n)return we(t);if(!(!n&&!g&&r)){if(o){let e=et(t.key,Se());V.current=d&&e?null:t.key}if(d){i&&(he(t),n?(B.current=Ce(),U(t)):e(t));return}a&&(de.current!=null&&(B.current=de.current),he(t),!n&&g?e(t):we(t),n&&U(t))}},onFocus(e){D.select(`open`)&&!p&&(B.current=-1,U(e))},onPointerDown:n,onPointerEnter:n,onMouseDown:t,onClick:t}},[we,m,Ce,d,U,D,g,v,Se,f,de,p]),ke=Z.useMemo(()=>({...Ee,...Oe}),[Ee,Oe]);return Z.useMemo(()=>a?{reference:ke,floating:De,item:Te,trigger:Oe}:{},[a,ke,De,Oe,Te])}function at(e,t){let{listRef:n,elementsRef:r,activeIndex:i,onMatch:a,disabledIndices:o,onTyping:s,enabled:c=!0,resetMs:l=750,selectedIndex:u=null}=t,d=`rootStore`in e?e.rootStore:e,f=d.useState(`open`),m=fe(),h=Z.useRef(``),g=Z.useRef(u??i??-1),_=Z.useRef(null),v=C(e=>{function t(e){return r?.current[e]}function c(e){let n=t(e);return n&&!V(n)||n?.matches(`:disabled`)?!1:o==null||!Ne(p,e,o)}function d(e,t,n=0){if(e.length===0)return-1;let r=(n%e.length+e.length)%e.length,i=t.toLowerCase();for(let t=0;t0&&e.key===` `&&(he(e),s?.(!0)),h.current.length>0&&h.current[0]!==` `&&d(v,h.current)===-1&&e.key!==` `&&s?.(!1),v==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;f&&e.key!==` `&&(he(e),s?.(!0));let y=h.current===``;y&&(g.current=u??i??-1),v.every((e,t)=>e&&c(t)?e[0]?.toLowerCase()!==e[1]?.toLowerCase():!0)&&h.current===e.key&&(h.current=``,g.current=_.current),h.current+=e.key,m.start(l,()=>{h.current=``,g.current=_.current,s?.(!1)});let b=((y?u??i??-1:g.current)??0)+1,x=d(v,h.current,b);x===-1?e.key!==` `&&(h.current=``,s?.(!1)):(a?.(x),_.current=x)}),y=C(e=>{let t=e.relatedTarget,n=d.select(`domReferenceElement`),r=d.select(`floatingElement`);L(n,t)||L(r,t)||(m.clear(),h.current=``,g.current=_.current,s?.(!1))});S(()=>{!f&&u!==null||(m.clear(),_.current=null,h.current!==``&&(h.current=``))},[f,u,m]);let b=Z.useMemo(()=>({onKeyDown:v,onBlur:y}),[v,y]);return Z.useMemo(()=>c?{reference:b,floating:b}:{},[c,b])}var Q=t();function ot(e){let t=Z.useRef(``),n=Z.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:Z.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function st(e,t){let n=Z.useRef(e),r=C(t);S(()=>{n.current!==e&&r(n.current),n.current=e},[e,r])}function ct(e,t){let{onClick:n,onPointerDown:r}=ot(C((n,r)=>{(typeof e==`function`?e():e)||t(r||(Ie?`touch`:``))}));return Z.useMemo(()=>({onClick:n,onPointerDown:r}),[n,r])}function lt(e){let[t,n]=Z.useState(null),r=ct(e,n);return st(e,t=>{t&&!e&&n(null)}),Z.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}function ut(e){let[t,n]=Z.useState({current:e,previous:null});return Object.is(e,t.current)||n({current:e,previous:t.current}),t.previous}function dt(e){let t=Z.useRef(!0);t.current&&(t.current=!1,e())}var ft=Z.createContext(null);function pt(){let e=Z.useContext(ft);if(e===null)throw Error(g(60));return e}var mt=(e,t)=>Object.is(e,t);function ht(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function gt(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e!==void 0&&ht(e,t,n))}function _t(e,t,n){return e.filter(e=>!ht(t,e,n))}function vt(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function yt(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function bt(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(yt(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function xt(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return vt(e)}function St(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?vt(e.value):vt(e)}function Ct(e,t,n){function r(){return xt(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??r();if(Array.isArray(t)){let n=t,i=yt(n)?n.flatMap(e=>e.items):n;if(typeof e!=`object`||!e){let t=i.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=i.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function wt(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Q.jsx)(Z.Fragment,{children:Ct(r,t,n)},i)),e),[])}var $={id:e=>e.id,labelId:e=>e.labelId,modal:e=>e.modal,items:e=>e.items,itemToStringLabel:e=>e.itemToStringLabel,isItemEqualToValue:e=>e.isItemEqualToValue,value:e=>e.value,hasSelectedValue:e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:St(t,r)!==``},hasNullItemLabel:(e,t)=>t?bt(e.items):!1,open:e=>e.open,mounted:e=>e.mounted,forceMount:e=>e.forceMount,transitionStatus:e=>e.transitionStatus,openMethod:e=>e.openMethod,activeIndex:e=>e.activeIndex,selectedIndex:e=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let n=e.isItemEqualToValue,r=e.value;return e.multiple?Array.isArray(r)&&r.some(e=>ht(t,e,n)):ht(t,r,n)},isSelectedByFocus:(e,t)=>e.selectedIndex===t,popupProps:e=>e.popupProps,triggerProps:e=>e.triggerProps,triggerElement:e=>e.triggerElement,positionerElement:e=>e.positionerElement,listElement:e=>e.listElement,popupSide:e=>e.popupSide,scrollUpArrowVisible:e=>e.scrollUpArrowVisible,scrollDownArrowVisible:e=>e.scrollDownArrowVisible,hasScrollArrows:e=>e.hasScrollArrows};function Tt(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}function Et(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}function Dt(e,t){return Math.max(0,e-t)}function Ot(e,t){if(t<=0)return 0;let n=Et(e,0,t),r=n,i=t-n,a=r<=1,o=i<=1;return a&&o?r<=i?0:t:a?0:o?t:n}function kt(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:l=!1,onOpenChange:h,name:g,form:_,autoComplete:v,disabled:y=!1,readOnly:b=!1,required:x=!1,modal:ee=!0,actionsRef:te,inputRef:w,onOpenChangeComplete:T,items:E,multiple:D=!1,itemToStringLabel:O,itemToStringValue:A,isItemEqualToValue:j=mt,highlightItemOnHover:M=!0,children:N}=e,{clearErrors:F}=ie(),{setDirty:I,setTouched:ne,setFocused:L,validityData:R,setFilled:z,name:V,disabled:W,validation:G,validationMode:ce}=re(),le=ae({id:t}),K=W||y,q=V??g,[J,de]=Ue({controlled:n,default:D?r??p:r,name:`Select`,state:`value`}),[Y,fe]=Ue({controlled:a,default:l,name:`Select`,state:`open`}),pe=Z.useRef([]),me=Z.useRef([]),he=Z.useRef(null),ge=Z.useRef(null),_e=Z.useRef(0),ve=Z.useRef(null),ye=Z.useRef([]),be=Z.useRef(!1),xe=Z.useRef(null),Se=Z.useRef(null),we=Z.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),Te=Z.useRef(!1),{mounted:Ee,setMounted:De,transitionStatus:Oe}=s(Y),{openMethod:ke,triggerProps:Ae}=lt(Y),X=m(()=>new oe({id:le,labelId:void 0,modal:ee,multiple:D,itemToStringLabel:O,itemToStringValue:A,isItemEqualToValue:j,value:J,open:Y,mounted:Ee,transitionStatus:Oe,items:E,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,je=U(X,$.activeIndex),Me=U(X,$.selectedIndex),Ne=U(X,$.triggerElement),Pe=U(X,$.positionerElement),Fe=ut(ke),Ie=ke??Fe,Le=Z.useMemo(()=>D?``:St(J,A),[D,J,A]),Re=Z.useMemo(()=>D&&Array.isArray(J)?J.map(e=>St(e,A)):St(J,A),[D,J,A]),ze=c(Ne),Be=C(()=>Re);B(ze,le,J,Be,!K,g);let Ve=Z.useRef(J),He=D?Array.isArray(J)&&J.length>0:J!=null&&Le!==``;S(()=>{z(He)},[He,z]),S(function(){let e=J,t=!1;if(D){let n=Array.isArray(J)?J:[];t=n.length===0,e=n[n.length-1]}let n=t?-1:gt(ye.current,e,j),r=n===-1?null:n;r===null&&(Se.current=null),!Y&&X.set(`selectedIndex`,r)},[D,Y,J,j,X]);function We(e){let t=R.initialValue;return Array.isArray(e)&&Array.isArray(t)?!Tt(e,t,(e,t)=>ht(e,t,j)):e!==t}st(J,()=>{F(q),I(We(J)),G.change(J)});let Ge=C((e,t)=>{h?.(e,t),!t.isCanceled&&(fe(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(ne(!0),L(!1),ce===`onBlur`&&G.commit(J)))}),qe=C(()=>{De(!1),X.update({activeIndex:null,openMethod:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1}),T?.(!1)});o({enabled:!te,open:Y,ref:he,onComplete(){Y||qe()}}),Z.useImperativeHandle(te,()=>({unmount:qe}),[qe]);let Je=C((e,t)=>{i?.(e,t),!t.isCanceled&&de(e)}),Ze=C(e=>{let t=Dt(e.scrollHeight,e.clientHeight),n=Ot(e.scrollTop,t),r=n>0,i=nKe(pe.current[e]),onMatch(e){Y?X.set(`activeIndex`,e):Je(ye.current[e],P(k))},onTyping(e){be.current=e}}),rt=Z.useMemo(()=>f(nt.reference,tt.reference,et.reference,$e.reference,Ae),[$e.reference,nt.reference,tt.reference,et.reference,Ae]),ot=Z.useMemo(()=>f(Ce,nt.floating,tt.floating,et.floating),[nt.floating,tt.floating,et.floating]),ct=tt.item??u;dt(()=>{X.update({popupProps:ot,triggerProps:rt})}),X.useSyncedValues({id:le,modal:ee,multiple:D,value:J,open:Y,mounted:Ee,transitionStatus:Oe,popupProps:ot,triggerProps:rt,items:E,itemToStringLabel:O,itemToStringValue:A,isItemEqualToValue:j,openMethod:Ie});let pt=Z.useMemo(()=>({store:X,floatingContext:Qe,required:x,disabled:K,readOnly:b,multiple:D,highlightItemOnHover:M,setValue:Je,setOpen:Ge,listRef:pe,popupRef:he,scrollHandlerRef:ge,handleScrollArrowVisibility:Ze,scrollArrowsMountedCountRef:_e,itemProps:ct,valueRef:ve,valuesRef:ye,labelsRef:me,typingRef:be,selectionRef:we,firstItemTextRef:xe,selectedItemTextRef:Se,validation:G,onOpenChangeComplete:T,alignItemWithTriggerActiveRef:Te,initialValueRef:Ve}),[X,Qe,x,K,b,D,M,Je,Ge,ct,G,T,Ze]),_t=d(w,G.inputRef),vt=D?void 0:q,yt=Z.useMemo(()=>!D||!Array.isArray(J)||!q?null:J.map(e=>{let t=St(e,A);return(0,Q.jsx)(`input`,{type:`hidden`,form:_,name:q,value:t,disabled:K},t)}),[D,J,_,q,A,K]);return(0,Q.jsxs)(ft.Provider,{value:pt,children:[N,(0,Q.jsx)(`input`,{...G.getValidationProps(K,{onFocus(){X.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented||K||b)return;let t=e.currentTarget.value,n=P(k,e.nativeEvent);function r(){if(D)return;let e=t.toLowerCase(),r=ye.current.findIndex(t=>St(t,A).toLowerCase()===e||xt(t,O).toLowerCase()===e);r===-1&&(r=ye.current.findIndex((t,n)=>{let r=me.current[n];return r!=null&&r.toLowerCase()===e}));let i=ye.current[r];i!=null&&Je(i,n)}X.set(`forceMount`,!0),queueMicrotask(r)}}),id:le&&vt==null?`${le}-hidden-input`:void 0,form:_,name:vt,autoComplete:v,value:Le,disabled:K,required:x&&!(D&&He),readOnly:b,ref:_t,style:q?se:ue,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),yt]})}function At(e,t){return e??t}var jt=5;function Mt(e,t){let n=Nt(t);return e.clientX>=n.left-jt&&e.clientX<=n.right+jt&&e.clientY>=n.top-jt&&e.clientY<=n.bottom+jt}function Nt(e){let t=e.getBoundingClientRect(),n=x(e);if(me)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}var Pt=400,Ft={...W,...R,popupSide:e=>e?{"data-popup-side":e}:null,value:()=>null},It=Z.forwardRef(function(e,t){let{render:n,className:r,id:i,disabled:a=!1,nativeButton:o=!0,style:s,...l}=e,{setTouched:u,setFocused:d,validationMode:p,state:m,disabled:g}=re(),{labelId:_}=z(),{store:v,setOpen:y,selectionRef:b,validation:x,readOnly:ee,required:S,alignItemWithTriggerActiveRef:C,disabled:w}=pt(),E=g||w||a,D=U(v,$.open),O=U(v,$.mounted),A=U(v,$.value),j=U(v,$.triggerProps),N=U(v,$.positionerElement),F=U(v,$.listElement),I=U(v,$.popupSide),ne=U(v,$.id),ie=U(v,$.labelId),R=U(v,$.hasSelectedValue),B=O&&N?I:null,V=i??ne,H=At(_,ie);ae({id:V});let oe=c(N),se=Z.useRef(null),{getButtonProps:W,buttonRef:G}=te({disabled:E,native:o}),ce=v.useStateSetter(`triggerElement`),le=fe(),K=fe(),q=fe();Z.useEffect(()=>{if(D)return q.start(Pt,()=>{b.current.allowUnselectedMouseUp=!0,b.current.allowSelectedMouseUp=!0}),()=>{q.clear()};b.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},K.clear()},[D,b,K,q]);let J=f(j,{id:V,role:`combobox`,"aria-expanded":D,"aria-haspopup":`listbox`,"aria-controls":D?F?.id??je(N)?.id:void 0,"aria-labelledby":H,"aria-readonly":ee||void 0,"aria-required":S||void 0,tabIndex:E?-1:0,onFocus(e){d(!0),D&&C.current&&y(!1,P(k,e.nativeEvent)),le.start(0,()=>{v.set(`forceMount`,!0)})},onBlur(e){L(N,e.relatedTarget)||(u(!0),d(!1),p===`onBlur`&&x.commit(A))},onMouseDown(e){if(D)return;let t=T(e.currentTarget);function n(e){if(!se.current)return;let t=e.target;L(se.current,t)||L(oe.current,t)||Mt(e,se.current)||y(!1,P(M,e))}K.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},l,W),ue=x.getValidationProps(E,J);ue.role=`combobox`;let de={...m,open:D,disabled:E,value:A,readOnly:ee,popupSide:B,placeholder:!R};return h(`button`,e,{ref:[t,se,G,ce],state:de,stateAttributesMapping:Ft,props:ue})}),Lt={value:()=>null},Rt=Z.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,style:o,...s}=e,{store:c,valueRef:l}=pt(),u=U(c,$.value),d=U(c,$.items),f=U(c,$.itemToStringLabel),p=U(c,$.hasSelectedValue),m=!p&&a!=null&&i==null,g=U(c,$.hasNullItemLabel,m),_={value:u,placeholder:!p},v=null;return v=typeof i==`function`?i(u):i??(m&&!g?a:Array.isArray(u)?wt(u,d,f):Ct(u,d,f)),h(`span`,e,{state:_,ref:[t,l],props:[{children:v},s],stateAttributesMapping:Lt})}),zt=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o}=pt(),s={open:U(o,$.open)};return h(`span`,e,{state:s,ref:t,props:[{"aria-hidden":!0,children:`▼`},a],stateAttributesMapping:ke})}),Bt=Z.forwardRef(function(e,t){let{store:n}=pt(),r=U(n,$.mounted),i=U(n,$.forceMount);return r||i?(0,Q.jsx)(K,{ref:t,...e}):null}),Vt=Z.createContext(void 0);function Ht(){let e=Z.useContext(Vt);if(!e)throw Error(g(59));return e}function Ut(e,t){e&&Object.assign(e.style,t)}var Wt={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},Gt=20;function Kt(e,t,n,r){let[i,a]=Z.useState(!1);S(()=>{if(!e||!t||n==null){a(!1);return}let r=T(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-Gt)},[e,t,n]),Me(e&&(!t||i),r)}var qt={position:`fixed`},Jt=Z.forwardRef(function(e,t){let{anchor:n,className:r,render:i,positionMethod:a,side:o,align:s,sideOffset:c,alignOffset:l,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f,sticky:p,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=G,style:_,...v}=e,{store:y,listRef:b,labelsRef:x,alignItemWithTriggerActiveRef:ee,selectedItemTextRef:te,valuesRef:w,initialValueRef:T,popupRef:E,setValue:D,floatingContext:O}=pt(),A=U(y,$.open),j=U(y,$.mounted),M=U(y,$.modal),N=U(y,$.value),F=U(y,$.openMethod),I=U(y,$.positionerElement),ne=U(y,$.triggerElement),L=U(y,$.isItemEqualToValue),re=U(y,$.transitionStatus),ie=Z.useRef(null),ae=Z.useRef(null),[R,z]=Z.useState(h),B=j&&R&&F!==`touch`;!j&&R!==h&&z(h),Z.useImperativeHandle(ee,()=>B),Kt((B||M)&&A,F===`touch`,I,ne);let V=Ve({anchor:n,floatingRootContext:O,positionMethod:a,mounted:j,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??B,collisionAvoidance:g,keepMounted:!0}),H=B?`none`:V.side,oe=B?qt:V.positionerStyles,se={open:A,side:H,align:V.align,anchorHidden:V.anchorHidden};S(()=>{y.set(`popupSide`,V.side)},[y,V.side]);let W=y.useStateSetter(`positionerElement`),ce=He(e,se,{styles:oe,transitionStatus:re,props:v,refs:[t,W],hidden:!j,inert:!A}),le=Z.useRef(0),K=C(e=>{if(w.current.length===0)return;let t=le.current;if(le.current=e.size,e.size===t)return;let n=P(k);if(t!==0&&!y.state.multiple&&N!==null&>(w.current,N,L)===-1){let e=T.current,t=e!=null&>(w.current,e,L)!==-1?e:null;D(t,n),t===null&&(y.set(`selectedIndex`,null),te.current=null)}if(t!==0&&y.state.multiple&&Array.isArray(N)){let e=N.filter(e=>gt(w.current,e,L)!==-1);e.length!==N.length&&(D(e,n),e.length===0&&(y.set(`selectedIndex`,null),te.current=null))}if(A&&B){y.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};Ut(I,e),Ut(E.current,e)}}),q=Z.useMemo(()=>({...V,side:H,alignItemWithTriggerActive:B,setControlledAlignItemWithTrigger:z,scrollUpArrowRef:ie,scrollDownArrowRef:ae}),[V,H,B,z]);return(0,Q.jsx)(Ge,{elementsRef:b,labelsRef:x,onMapChange:K,children:(0,Q.jsxs)(Vt.Provider,{value:q,children:[j&&M&&(0,Q.jsx)(Te,{inert:Ae(!A),cutout:ne}),ce]})})}),Yt=`base-ui-disable-scrollbar`,Xt={className:Yt,getElement(e){return(0,Q.jsx)(`style`,{nonce:e,href:Yt,precedence:`base-ui:low`,children:`.${Yt}{scrollbar-width:none}.${Yt}::-webkit-scrollbar{display:none}`})}},Zt=Z.createContext(void 0);function Qt(e){let t=Z.useContext(Zt);if(t===void 0&&!e)throw Error(g(69));return t}var $t=Z.createContext(void 0),en={disableStyleElements:!1};function tn(){return Z.useContext($t)??en}var nn={...de,...i},rn=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:s,...c}=e,{store:u,popupRef:d,onOpenChangeComplete:f,setOpen:p,valueRef:m,firstItemTextRef:g,selectedItemTextRef:_,multiple:v,handleScrollArrowVisibility:y,scrollHandlerRef:b,listRef:ee,highlightItemOnHover:te,floatingContext:w}=pt(),{side:E,align:O,alignItemWithTriggerActive:k,isPositioned:A,setControlledAlignItemWithTrigger:j}=Ht(),M=Qt(!0)!=null,N=We(),{nonce:F,disableStyleElements:I}=tn(),ne=U(u,$.id),L=U(u,$.open),re=U(u,$.openMethod),ie=U(u,$.mounted),ae=U(u,$.popupProps),R=U(u,$.transitionStatus),z=U(u,$.triggerElement),B=U(u,$.positionerElement),V=U(u,$.listElement),H=Z.useRef(!1),oe=Z.useRef(!1),se=Z.useRef({}),W=l(),G=C(e=>{if(!B||!d.current||!oe.current)return;let t=B.style.top===`0px`,n=B.style.bottom===`0px`;if(H.current||!k||!t&&!n){y(e);return}let r=sn(B),i=cn(B.getBoundingClientRect().height,`y`,r),a=T(B),o=x(B),s=o.getComputedStyle(B),c=parseFloat(s.marginTop),l=parseFloat(s.marginBottom),u=an(o.getComputedStyle(d.current)),f=Math.min(a.documentElement.clientHeight-c-l,u),p=e.scrollTop,m=on(e),h=null,g=e=>{B.style.height=`${e}px`},_=t?m-p:p,v=Math.min(i+_,f);if(_<=1){let n=Et(_,0,f-i);n>0&&g(i+n),e.scrollTop=t?m:0,f-(i+n)<=1&&(H.current=!0),y(e);return}f-v>1?h=t?1/0:0:n&&p1&&(e.scrollTop=t)}b>=f-1&&(H.current=!0),y(e)});Z.useImperativeHandle(b,()=>G,[G]),o({open:L,ref:d,onComplete(){L&&f?.(!0)}});let ce={open:L,transitionStatus:R,side:E,align:O};S(()=>{!B||!d.current||Object.keys(se.current).length||(se.current={top:B.style.top||`0`,left:B.style.left||`0`,right:B.style.right,height:B.style.height,bottom:B.style.bottom,minHeight:B.style.minHeight,maxHeight:B.style.maxHeight,marginTop:B.style.marginTop,marginBottom:B.style.marginBottom})},[d,B]),S(()=>{L||k||(oe.current=!1,H.current=!1,Ut(B,se.current))},[L,k,B,d]),S(()=>{let e=d.current;if(!L||!z||!B||!e||k&&!A||u.state.transitionStatus===`ending`)return;if(oe.current=!0,e.style.removeProperty(`--transform-origin`),!k){W.request(()=>y(V||e));return}let t=dn(e);try{let t=_.current;t?.isConnected||(t=!$.hasSelectedValue(u.state)&&g.current?.isConnected?g.current:null);let n=m.current,r=x(B),i=r.getComputedStyle(B),a=r.getComputedStyle(e),o=T(z),s=sn(z),c=ln(z.getBoundingClientRect(),s),l=ln(B.getBoundingClientRect(),s),d=c.height,f=V||e,p=f.scrollHeight,h=parseFloat(a.borderBottomWidth),v=parseFloat(i.marginTop)||10,b=parseFloat(i.marginBottom)||10,S=parseFloat(i.minHeight)||100,C=an(a),w=o.documentElement.clientHeight-v-b,E=o.documentElement.clientWidth,D=w-c.bottom+d,O,k=N===`rtl`?c.right-l.width:c.left,A=0;if(t&&n){let e=ln(n.getBoundingClientRect(),s);O=ln(t.getBoundingClientRect(),s),k=l.left+(N===`rtl`?e.right-O.right:e.left-O.left);let r=e.top-c.top+e.height/2;A=O.top-l.top+O.height/2-r}let M=D+A+b+h,P=Math.min(w,M),F=w-v-b,I=M-P,ne=E-5;B.style.left=`${Et(k,5,ne-l.width)}px`,B.style.height=`${P}px`,B.style.maxHeight=`none`,B.style.marginTop=`${v}px`,B.style.marginBottom=`${b}px`,e.style.height=`100%`;let L=on(f),re=I>=L-1;re&&(P=Math.min(w,l.height)-(I-L));let ie=c.top<20||c.bottom>w-20||Math.ceil(P)+1=F?`0`:`${e}px`,B.style.height=`${P}px`,f.scrollTop=on(f)}else B.style.bottom=`0`,f.scrollTop=I;if(O){let t=l.top,n=l.height,r=O.top+O.height/2,i=Et(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(`--transform-origin`,`50% ${i}%`)}(R===w||P>=C)&&(H.current=!0),y(f),te&&u.state.selectedIndex===null&&u.state.activeIndex===null&&ee.current[0]!=null&&u.set(`activeIndex`,0)}finally{t()}},[u,L,B,z,m,g,_,d,y,k,j,W,V,ee,te,N,A]),Z.useEffect(()=>{if(!k||!B||!L)return;let e=x(B);function t(e){p(!1,P(D,e))}return a(e,`resize`,t)},[p,k,B,L]);let le={...V?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":v||void 0,id:`${ne}-list`},onKeyDown(e){M&&ge.has(e.key)&&e.stopPropagation()},onScroll(e){V||G(e.currentTarget)},...k&&{style:V?{height:`100%`}:Wt},className:!V&&k?Xt.className:void 0},K=h(`div`,e,{ref:[t,d],state:ce,stateAttributesMapping:nn,props:[ae,le,Be(R),c]});return(0,Q.jsxs)(Z.Fragment,{children:[!I&&Xt.getElement(F),(0,Q.jsx)(Se,{context:w,modal:!1,disabled:!ie,openInteractionType:re,returnFocus:s,restoreFocus:!0,children:K})]})});function an(e){let t=e.maxHeight;return t.endsWith(`px`)&&parseFloat(t)||1/0}function on(e){return Dt(e.scrollHeight,e.clientHeight)}function sn(e){return ze.getScale(e)}function cn(e,t,n){return e/n[t]}function ln(e,t){return Re({x:cn(e.x,`x`,t),y:cn(e.y,`y`,t),width:cn(e.width,`x`,t),height:cn(e.height,`y`,t)})}var un=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function dn(e){let{style:t}=e,n={};for(let[e,r]of un)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of un){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}var fn=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o,scrollHandlerRef:s,multiple:c}=pt(),{alignItemWithTriggerActive:l}=Ht(),u=U(o,$.hasScrollArrows),d=U(o,$.openMethod),f={id:`${U(o,$.id)}-list`,role:`listbox`,"aria-multiselectable":c||void 0,onScroll(e){s.current?.(e.currentTarget)},...l&&{style:Wt},className:u&&d!==`touch`?Xt.className:void 0},p=o.useStateSetter(`listElement`);return h(`div`,e,{ref:[t,p],props:[f,a]})}),pn=Z.createContext(void 0);function mn(){let e=Z.useContext(pn);if(!e)throw Error(g(57));return e}var hn=Z.memo(Z.forwardRef(function(e,t){let{render:n,className:r,style:i,value:a=null,label:o,disabled:s=!1,nativeButton:c=!1,...l}=e,u=Z.useRef(null),d=qe({guess:!0,label:o,textRef:u}),{store:f,itemProps:p,setOpen:m,setValue:g,selectionRef:_,typingRef:v,valuesRef:y,multiple:b,selectedItemTextRef:x,disabled:ee,readOnly:C}=pt(),w=ee||s,T=U(f,$.isActive,d.index),E=U(f,$.open),D=U(f,$.isSelected,a),O=U(f,$.isSelectedByFocus,d.index),k=U(f,$.isItemEqualToValue),A=d.index,M=Z.useRef(null);S(()=>{let e=y.current;return e[A]=a,()=>{delete e[A]}},[A,a,y]),S(()=>{let e=f.state.value,t=e;b&&Array.isArray(e)&&(t=e.length>0?e[e.length-1]:void 0),t!==void 0&&ht(a,t,k)&&(f.set(`selectedIndex`,A),u.current&&(x.current=u.current))},[A,b,k,f,a,x]);let N=Z.useRef(`mouse`),F=Z.useRef(!1),{getButtonProps:I,buttonRef:ne}=te({disabled:w,focusableWhenDisabled:!0,native:c,composite:!0}),L={disabled:w,selected:D,highlighted:T};function re(e){if(ee||C)return;let t=f.state.value;if(b){let n=Array.isArray(t)?t:[],r=D?_t(n,a,k):[...n,a];g(r,P(j,e))}else g(a,P(j,e)),m(!1,P(j,e))}function ie(){_.current.dragY=0}let ae={role:`option`,"aria-selected":D,tabIndex:E&&T?0:-1,onKeyDown(e){f.set(`activeIndex`,A),e.key===` `&&v.current&&e.preventDefault()},onClick(e){let t=N.current!==`touch`,n=e.nativeEvent.pointerType,r=t&&X(e.nativeEvent)&&(n!==void 0||T),i=t&&!r&&!F.current;F.current=!1,!(w||i)&&re(e.nativeEvent)},onPointerEnter(e){N.current=e.pointerType},onPointerMove(e){if(e.pointerType===`mouse`&&e.buttons===1){let t=_.current;t.dragY+=e.movementY,t.dragY**2>=64&&(t.allowUnselectedMouseUp=!0)}},onPointerDown(e){N.current=e.pointerType,F.current=!0,ie()},onMouseUp(){if(ie(),w||N.current===`touch`||F.current)return;let e=!_.current.allowSelectedMouseUp&&D,t=!_.current.allowUnselectedMouseUp&&!D;e||t||(F.current=!0,M.current?.click(),F.current=!1)}},R=h(`div`,e,{ref:[ne,t,d.ref,M],state:L,props:[p,ae,l,I]}),z=Z.useMemo(()=>({selected:D,index:A,textRef:u,selectedByFocus:O}),[D,A,u,O]);return(0,Q.jsx)(pn.Provider,{value:z,children:R})})),gn=Z.forwardRef(function(e,t){let{selected:n}=mn();return e.keepMounted||n?(0,Q.jsx)(_n,{...e,ref:t}):null}),_n=Z.memo(Z.forwardRef((e,t)=>{let{render:n,className:r,style:a,keepMounted:c,...l}=e,{selected:u}=mn(),d=Z.useRef(null),{transitionStatus:f,setMounted:p}=s(u),m=h(`span`,e,{ref:[t,d],state:{selected:u,transitionStatus:f},props:[{"aria-hidden":!0,children:`✔️`},l],stateAttributesMapping:i});return o({open:u,ref:d,onComplete(){u||p(!1)}}),m})),vn=Z.memo(Z.forwardRef(function(e,t){let{index:n,textRef:r,selectedByFocus:i}=mn(),{firstItemTextRef:a,selectedItemTextRef:o}=pt(),{render:s,className:c,style:l,...u}=e,d=Z.useCallback(e=>{e&&(n===0&&(a.current=e),i&&(o.current=e))},[a,o,n,i]);return h(`div`,e,{ref:[d,t,r],props:u})})),yn=Z.forwardRef(function(e,t){let{render:n,className:r,style:a,direction:c,keepMounted:l,...u}=e,d=c===`up`,{store:f,popupRef:p,listRef:m,handleScrollArrowVisibility:g,scrollArrowsMountedCountRef:_}=pt(),{side:v,scrollDownArrowRef:y,scrollUpArrowRef:b}=Ht(),x=d?$.scrollUpArrowVisible:$.scrollDownArrowVisible,ee=U(f,x),te=U(f,$.openMethod),C=ee&&te!==`touch`,w=fe(),T=d?b:y,{mounted:E,transitionStatus:D,setMounted:O}=s(C);S(()=>(_.current+=1,f.set(`hasScrollArrows`,!0),()=>{_.current=Math.max(0,_.current-1),_.current===0&&f.set(`hasScrollArrows`,!1)}),[f,_]),o({open:C,ref:T,onComplete(){C||O(!1)}});let k=h(`div`,e,{ref:[t,T],state:{direction:c,visible:C,side:v,transitionStatus:D},props:[{"aria-hidden":!0,children:d?`▲`:`▼`,style:{position:`absolute`},onMouseMove(e){if(e.movementX===0&&e.movementY===0||w.isStarted())return;f.set(`activeIndex`,null);function t(){let e=f.state.listElement??p.current;if(!e)return;f.set(`activeIndex`,null),g(e);let n=Dt(e.scrollHeight,e.clientHeight),r=Ot(e.scrollTop,n),i=r===(d?0:n),a=m.current;if(r!==e.scrollTop&&(e.scrollTop=r),i){w.clear();return}if(a.length>0){let t=T.current?.offsetHeight||0;e.scrollTop=bn(a,d,r,e.clientHeight,t,n)}w.start(40,t)}w.start(40,t)},onMouseLeave(){w.clear()}},u],stateAttributesMapping:i});return E||l?k:null});function bn(e,t,n,r,i,a){if(t){let t=0,r=n+i-1;for(let n=0;n=r){t=n;break}}let o=Math.max(0,t-1),s=e[o];return os){o=Math.max(0,t-1);break}}let c=Math.min(e.length-1,o+1),l=e[c];return c>o&&l?Ot(l.offsetTop+l.offsetHeight-r+i,a):a}var xn=Z.forwardRef(function(e,t){return(0,Q.jsx)(yn,{...e,ref:t,direction:`down`})}),Sn=Z.forwardRef(function(e,t){return(0,Q.jsx)(yn,{...e,ref:t,direction:`up`})}),Cn=Z.createContext(void 0);function wn(){let e=Z.useContext(Cn);if(e===void 0)throw Error(g(56));return e}var Tn=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,[o,s]=Z.useState(),c=Z.useMemo(()=>({labelId:o,setLabelId:s}),[o,s]),l=h(`div`,e,{ref:t,props:[{role:`group`,"aria-labelledby":o},a]});return(0,Q.jsx)(Cn.Provider,{value:c,children:l})}),En=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,{setLabelId:s}=wn(),c=ne(a);return S(()=>(s(c),()=>{s(e=>e===c?void 0:e)}),[c,s]),h(`div`,e,{ref:t,props:[{id:c},o]})}),Dn=Z.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return h(`div`,e,{state:{orientation:i},ref:t,props:[{role:`presentation`},o]})}),On=r(),kn=kt;function An(e){let t=(0,On.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`scroll-my-1 p-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Tn,{className:i,"data-slot":`select-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function jn(e){let t=(0,On.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`flex flex-1 text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Rt,{className:i,"data-slot":`select-value`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Mn(e){let t=(0,On.c)(15),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,size:o,id:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=o===void 0?`default`:o,c;t[6]===r?c=t[7]:(c=_(`flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-input/20 px-2 py-1.5 text-xs/relaxed whitespace-nowrap transition-colors outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-7 data-[size=sm]:h-6 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,r),t[6]=r,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(zt,{render:(0,Q.jsx)(b,{className:`pointer-events-none size-3.5 text-muted-foreground`})}),t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==c?(u=(0,Q.jsxs)(It,{className:c,"data-size":s,"data-slot":`select-trigger`,id:i,...a,children:[n,l]}),t[9]=n,t[10]=i,t[11]=a,t[12]=s,t[13]=c,t[14]=u):u=t[14],u}function Nn(e){let t=(0,On.c)(26),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({className:r,children:n,side:a,sideOffset:o,align:s,alignOffset:c,alignItemWithTrigger:l,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=a===void 0?`bottom`:a,d=o===void 0?4:o,f=s===void 0?`center`:s,p=c===void 0?0:c,m=l===void 0||l,h;t[9]===r?h=t[10]:(h=_(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 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-closed:animate-out data-open:animate-in relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100`,r),t[9]=r,t[10]=h);let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(Ln,{}),t[11]=g):g=t[11];let v;t[12]===n?v=t[13]:(v=(0,Q.jsx)(fn,{children:n}),t[12]=n,t[13]=v);let y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(Rn,{}),t[14]=y):y=t[14];let b;t[15]!==i||t[16]!==h||t[17]!==v?(b=(0,Q.jsxs)(rn,{className:h,"data-slot":`select-content`,...i,children:[g,v,y]}),t[15]=i,t[16]=h,t[17]=v,t[18]=b):b=t[18];let x;return t[19]!==f||t[20]!==m||t[21]!==p||t[22]!==u||t[23]!==d||t[24]!==b?(x=(0,Q.jsx)(Bt,{children:(0,Q.jsx)(Jt,{align:f,alignItemWithTrigger:m,alignOffset:p,className:`isolate z-50`,side:u,sideOffset:d,children:b})}),t[19]=f,t[20]=m,t[21]=p,t[22]=u,t[23]=d,t[24]=b,t[25]=x):x=t[25],x}function Pn(e){let t=(0,On.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`px-2 py-1.5 text-xs text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(En,{className:i,"data-slot":`select-label`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Fn(e){let t=(0,On.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=_(`relative flex min-h-7 w-full cursor-default items-center gap-2 rounded-md px-2 py-1 text-xs/relaxed outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]: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-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,r),t[4]=r,t[5]=a);let o;t[6]===n?o=t[7]:(o=(0,Q.jsx)(vn,{className:`flex flex-1 shrink-0 gap-2 whitespace-nowrap`,children:n}),t[6]=n,t[7]=o);let s;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(gn,{render:(0,Q.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`}),children:(0,Q.jsx)(y,{className:`pointer-events-none`})}),t[8]=s):s=t[8];let c;return t[9]!==i||t[10]!==a||t[11]!==o?(c=(0,Q.jsxs)(hn,{className:a,"data-slot":`select-item`,...i,children:[o,s]}),t[9]=i,t[10]=a,t[11]=o,t[12]=c):c=t[12],c}function In(e){let t=(0,On.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`pointer-events-none -mx-1 my-1 h-px bg-border/50`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Dn,{className:i,"data-slot":`select-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ln(e){let t=(0,On.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(Je,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(Sn,{className:i,"data-slot":`select-scroll-up-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}function Rn(e){let t=(0,On.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(b,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(xn,{className:i,"data-slot":`select-scroll-down-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}export{Pn as a,jn as c,Fn as i,Nn as n,In as o,An as r,Mn as s,kn as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/separator.js b/spinifex/services/spinifexui/frontend/dist/assets/separator.js new file mode 100644 index 000000000..4680d1364 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/separator.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./dist.js";import{Yt as a}from"./cluster-config.js";var o=e(n(),1).forwardRef(function(e,t){let{className:n,render:r,orientation:a=`horizontal`,style:o,...s}=e;return i(`div`,e,{state:{orientation:a},ref:t,props:[{role:`separator`,"aria-orientation":a},s]})}),s=r(),c=t();function l(e){let t=(0,s.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let l=i===void 0?`horizontal`:i,u;t[4]===n?u=t[5]:(u=a(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,n),t[4]=n,t[5]=u);let d;return t[6]!==l||t[7]!==r||t[8]!==u?(d=(0,c.jsx)(o,{className:u,"data-slot":`separator`,orientation:l,...r}),t[6]=l,t[7]=r,t[8]=u,t[9]=d):d=t[9],d}export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/tabs.js b/spinifex/services/spinifexui/frontend/dist/assets/tabs.js index f3bbfe953..c9391dcc4 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/tabs.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/tabs.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{a as i,o as a,r as o}from"./useValueAsRef.js";import{a as s,c,i as l,n as u,u as d}from"./dist.js";import{Yt as f}from"./cluster-config.js";import{a as p,i as m,o as h,r as g,s as _}from"./button.js";import{C as v,b as y,c as b,d as x,f as S,i as C,t as w,v as T,x as E,y as D}from"./createBaseUIEventDetails.js";import{Q as O,X as k,Z as A,a as j,c as M,d as N,et as P,f as F,i as I,o as L,r as R,s as z,tt as B,u as V}from"./useScrollLock.js";import{t as H}from"./useControlled.js";import{i as U,n as W,r as G,t as K}from"./useCompositeListItem.js";var q=e(n(),1),J=q.createContext(void 0);function Y(){let e=q.useContext(J);if(e===void 0)throw Error(d(64));return e}var X={tabActivationDirection:e=>({"data-activation-direction":e})},Z=t(),Q=q.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,style:c,...l}=e,d=e.defaultValue!==void 0,f=q.useRef([]),[p,m]=q.useState(()=>new Map),[g,v]=H({controlled:s,default:r,name:`Tabs`,state:`value`}),y=s!==void 0,[S,T]=q.useState(()=>new Map),E=q.useRef(void 0),D=q.useCallback(e=>ee(S,e),[S]),[O,k]=q.useState(()=>({previousValue:g,tabActivationDirection:`none`})),{previousValue:A,tabActivationDirection:j}=O,M=j,N=!1;A!==g&&(M=te(A,g,a,S),N=A!=null&&g!=null&&D(g)==null);let P=N?A:g,F=A!==P||j!==M;h(()=>{F&&k({previousValue:P,tabActivationDirection:M})},[P,F,M]);let I=_((e,t)=>{t.activationDirection=te(g,e,a,S),i?.(e,t),!t.isCanceled&&v(e)}),L=_((e,t)=>{i?.(e,w(t,void 0,void 0,{activationDirection:`none`}))}),R=_((e,t)=>(m(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{m(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),z=q.useCallback(e=>p.get(e),[p]),B=q.useCallback(e=>{for(let t of S.values())if(e===t.value)return t.id},[S]),V=q.useMemo(()=>({getTabElementBySelectedValue:D,getTabIdByPanelValue:B,getTabPanelIdByValue:z,onValueChange:I,orientation:a,registerMountedTabPanel:R,setTabMap:T,tabActivationDirection:M,value:g}),[D,B,z,I,a,R,T,M,g]),U=q.useMemo(()=>{for(let e of S.values())if(e.value===g)return e},[S,g]),G=q.useMemo(()=>{for(let e of S.values())if(!e.disabled)return e.value},[S]),K=q.useRef(!d),Y=q.useRef(r),Q=q.useRef(d),ne=q.useRef(!1);h(()=>{if(y)return;function e(e,t){v(e),k({previousValue:e,tabActivationDirection:`none`}),L(e,t),K.current=!1}if(S.size===0){ne.current&&g!==null&&!E.current?.isConnected&&e(null,x);return}ne.current=!0,E.current=S.keys().next().value;let t=U?.disabled,n=U==null&&g!==null;if(!t&&g===Y.current&&(Q.current=!1),Q.current&&t&&g===Y.current)return;let r=K.current;if(t||n){let n=G??null;if(g===n){K.current=!1;return}let i=x;r?i=b:t&&(i=C),e(n,i);return}r&&U!=null&&(L(g,b),K.current=!1)},[G,y,L,U,v,S,g]);let re=u(`div`,e,{state:{orientation:a,tabActivationDirection:M},ref:t,props:l,stateAttributesMapping:X});return(0,Z.jsx)(J.Provider,{value:V,children:(0,Z.jsx)(W,{elementsRef:f,children:re})})});function ee(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function te(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=ee(r,e),c=ee(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return ul?o:`none`}var ne=`data-composite-item-active`;function re(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=p(),{ref:i,index:a}=K(e),o=n===a,s=q.useRef(null),l=c(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:l,index:a}}var ie=q.createContext(void 0);function ae(){let e=q.useContext(ie);if(e===void 0)throw Error(d(65));return e}var oe=q.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:d,getTabPanelIdByValue:f,onValueChange:m,orientation:y,tabActivationDirection:b}=Y(),{activateOnFocus:x,registerTabResizeObserverElement:C,tabsListElement:O}=ae(),{highlightedIndex:k,onHighlightedIndexChange:A}=p(),j=E(o),{compositeProps:M,compositeRef:N,index:P}=re({metadata:q.useMemo(()=>({disabled:r,id:j,value:a}),[r,j,a])}),F=a===d,I=q.useRef(!1),L=q.useRef(null),R=_(e=>{L.current?.(),L.current=e?C(e):null});h(()=>{if(I.current){I.current=!1;return}if(!(F&&P>-1&&k!==P))return;let e=O;if(e!=null){let t=T(v(e));if(t&&D(e,t))return}r||A(P)},[F,P,k,A,r,O]);let{getButtonProps:z,buttonRef:B}=g({disabled:r,native:s,focusableWhenDisabled:!0}),V=f(a),H=q.useRef(!1),U=q.useRef(!1);function W(e){m(a,w(S,e.nativeEvent,void 0,{activationDirection:`none`}))}function G(e){F||r||W(e)}function K(e){F||r||x&&(!H.current||U.current)&&W(e)}function J(e){if(F||r)return;H.current=!0,U.current=e.button===0;let t=v(e.currentTarget);function n(){H.current=!1,U.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return u(`button`,e,{state:{disabled:r,active:F,orientation:y,tabActivationDirection:b},ref:[t,B,N,R],props:[M,{role:`tab`,"aria-controls":V,"aria-selected":F,id:j,onClick:G,onFocus:K,onPointerDown:J,[ne]:F?``:void 0,onKeyDownCapture(){I.current=!0}},l,z],stateAttributesMapping:X})}),se={...X,...i},ce=q.forwardRef(function(e,t){let{className:n,value:r,render:i,keepMounted:s=!1,style:c,...l}=e,{value:d,getTabIdByPanelValue:f,orientation:p,tabActivationDirection:m,registerMountedTabPanel:g}=Y(),_=E(),{ref:v,index:y}=K(),b=r===d,{mounted:x,transitionStatus:S,setMounted:C}=o(b),w=!x,T=f(r),D={hidden:w,orientation:p,tabActivationDirection:m,transitionStatus:S},O=q.useRef(null),k=u(`div`,e,{state:D,ref:[t,v,O],props:[{"aria-labelledby":T,hidden:w,id:_,role:`tabpanel`,tabIndex:b?0:-1,inert:R(!b),"data-index":y},l],stateAttributesMapping:se});return a({open:b,ref:O,onComplete(){b||C(!1)}}),h(()=>{if(!(_==null||w&&!s))return g(r,_)},[w,s,r,_,g]),s||x?k:null}),le=[];function ue(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:l,enableHomeAndEndKeys:u=!1,stopEventPropagation:d,disabledIndices:f,modifierKeys:p=le}=e,[m,g]=q.useState(0),v=r!=null,b=q.useRef(null),x=c(b,l),S=q.useRef([]),C=q.useRef(!1),w=o??m,T=_((e,t=!1)=>{if((s??g)(e),t){let t=S.current[e];F(b.current,t,a,n)}}),E=_(e=>{if(e.size===0||C.current)return;C.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)T(i);else if(B(t,w,f)){let e=k(t,{disabledIndices:f});P(t,e)||T(e)}F(b.current,r,a,n)});h(()=>{if(f==null||o!=null||!C.current)return;let e=S.current;if(B(e,w,f)){let t=k(e,{disabledIndices:f});P(e,t)||T(t)}},[f,o,w,S,T]);let D=_((e,t,n)=>i?i(e,t,n,S):n),R=_(e=>{let o=e.key===`Home`||e.key===`End`;if(!M.has(e.key)||!u&&o||de(e,p)||!b.current)return;let s=a===`rtl`,c=s?j:L,l=s?L:j,m=n===`vertical`?I:c,h=n===`vertical`?z:l,g=y(e.nativeEvent);if(g!=null&&N(g)&&!G(g)){let t=g.selectionStart,n=g.selectionEnd,r=g.value;if(t==null||e.shiftKey||t!==n||e.key!==h&&t0)return}let _=w,x=O(S,f),C=A(S,f);r!=null&&(_=r({disabledIndices:f,elementsRef:S,event:e,highlightedIndex:w,loopFocus:t,maxIndex:C,minIndex:x,onLoop:D,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,F=n!==`vertical`&&e.key===l||n!==`horizontal`&&e.key===`ArrowUp`;u&&(e.key===`Home`?_=x:e.key===`End`&&(_=C)),_===w&&(E||F)&&(t&&_===C&&E?(_=x,i&&(_=i(e,w,_,S))):t&&_===x&&F?(_=C,i&&(_=i(e,w,_,S))):_=k(S.current,{startingIndex:_,decrement:F,disabledIndices:f})),_!==w&&!P(S.current,_)&&(d&&e.stopPropagation(),(v||o||E||F)&&e.preventDefault(),T(_,!0),queueMicrotask(()=>{S.current[_]?.focus()}))});return{props:{ref:x,onFocus(e){let t=b.current,n=y(e.nativeEvent);!t||n==null||!N(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:R},highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:S,onMapChange:E,relayKeyboardEvent:R}}function de(e,t){for(let n of V)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function fe(e){let{render:t,className:n,style:r,refs:i=l,props:a=l,state:o=s,stateAttributesMapping:c,highlightedIndex:d,onHighlightedIndexChange:f,orientation:p,grid:h,loopFocus:g,onLoop:_,enableHomeAndEndKeys:v,onMapChange:y,stopEventPropagation:b=!0,rootRef:x,disabledIndices:S,modifierKeys:C,highlightItemOnHover:w=!1,tag:T=`div`,...E}=e,{props:D,highlightedIndex:O,onHighlightedIndexChange:k,elementsRef:A,onMapChange:j,relayKeyboardEvent:M}=ue({grid:h,loopFocus:g,onLoop:_,orientation:p,highlightedIndex:d,onHighlightedIndexChange:f,rootRef:x,stopEventPropagation:b,enableHomeAndEndKeys:v,direction:U(),disabledIndices:S,modifierKeys:C}),N=u(T,e,{state:o,ref:i,props:[D,...a,E],stateAttributesMapping:c}),P=q.useMemo(()=>({highlightedIndex:O,onHighlightedIndexChange:k,highlightItemOnHover:w,relayKeyboardEvent:M}),[O,k,w,M]);return(0,Z.jsx)(m.Provider,{value:P,children:(0,Z.jsx)(W,{elementsRef:A,onMapChange:e=>{y?.(e),j(e)},children:N})})}var pe=q.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:u,tabActivationDirection:d}=Y(),[f,p]=q.useState(0),[m,g]=q.useState(null),v=q.useRef(new Set),y=q.useRef(new Set),b=q.useRef(null);h(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{v.current.forEach(e=>{e()})});return b.current=e,m&&e.observe(m),y.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),b.current=null}},[m]);let x=_(e=>(v.current.add(e),()=>{v.current.delete(e)})),S=_(e=>(y.current.add(e),b.current?.observe(e),()=>{y.current.delete(e),b.current?.unobserve(e)})),C={orientation:c,tabActivationDirection:d},w={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},T=q.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:x,registerTabResizeObserverElement:S,tabsListElement:m}),[n,x,S,m]);return(0,Z.jsx)(ie.Provider,{value:T,children:(0,Z.jsx)(fe,{render:a,className:r,style:o,state:C,refs:[t,g],props:[w,s],stateAttributesMapping:X,highlightedIndex:f,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:p,onMapChange:u,disabledIndices:l})})}),$=r();function me(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`flex flex-col gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(Q,{className:i,"data-slot":`tabs`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function he(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`inline-flex items-center gap-1 border-b`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(pe,{className:i,"data-slot":`tabs-list`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ge(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`inline-flex items-center justify-center border-b-2 border-transparent px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-selected:border-primary data-selected:text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(oe,{className:i,"data-slot":`tabs-tab`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function _e(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`focus-visible:outline-none`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(ce,{className:i,"data-slot":`tabs-panel`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}export{ge as i,he as n,_e as r,me as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{a as i,o as a,r as o}from"./useValueAsRef.js";import{a as s,c,i as l,n as u,u as d}from"./dist.js";import{Yt as f}from"./cluster-config.js";import{a as p,i as m,o as h,r as g,s as _}from"./button.js";import{C as v,b as y,c as b,d as x,f as S,i as C,t as w,v as T,x as E,y as D}from"./createBaseUIEventDetails.js";import{Q as O,X as k,Z as A,a as j,c as M,d as N,et as P,f as F,i as I,o as L,r as R,s as z,tt as B,u as V}from"./useScrollLock.js";import{t as H}from"./useControlled.js";import{t as U}from"./DirectionContext.js";import{n as W,r as G,t as K}from"./useCompositeListItem.js";var q=e(n(),1),J=q.createContext(void 0);function Y(){let e=q.useContext(J);if(e===void 0)throw Error(d(64));return e}var X={tabActivationDirection:e=>({"data-activation-direction":e})},Z=t(),Q=q.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,style:c,...l}=e,d=e.defaultValue!==void 0,f=q.useRef([]),[p,m]=q.useState(()=>new Map),[g,v]=H({controlled:s,default:r,name:`Tabs`,state:`value`}),y=s!==void 0,[S,T]=q.useState(()=>new Map),E=q.useRef(void 0),D=q.useCallback(e=>ee(S,e),[S]),[O,k]=q.useState(()=>({previousValue:g,tabActivationDirection:`none`})),{previousValue:A,tabActivationDirection:j}=O,M=j,N=!1;A!==g&&(M=te(A,g,a,S),N=A!=null&&g!=null&&D(g)==null);let P=N?A:g,F=A!==P||j!==M;h(()=>{F&&k({previousValue:P,tabActivationDirection:M})},[P,F,M]);let I=_((e,t)=>{t.activationDirection=te(g,e,a,S),i?.(e,t),!t.isCanceled&&v(e)}),L=_((e,t)=>{i?.(e,w(t,void 0,void 0,{activationDirection:`none`}))}),R=_((e,t)=>(m(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{m(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),z=q.useCallback(e=>p.get(e),[p]),B=q.useCallback(e=>{for(let t of S.values())if(e===t.value)return t.id},[S]),V=q.useMemo(()=>({getTabElementBySelectedValue:D,getTabIdByPanelValue:B,getTabPanelIdByValue:z,onValueChange:I,orientation:a,registerMountedTabPanel:R,setTabMap:T,tabActivationDirection:M,value:g}),[D,B,z,I,a,R,T,M,g]),U=q.useMemo(()=>{for(let e of S.values())if(e.value===g)return e},[S,g]),G=q.useMemo(()=>{for(let e of S.values())if(!e.disabled)return e.value},[S]),K=q.useRef(!d),Y=q.useRef(r),Q=q.useRef(d),ne=q.useRef(!1);h(()=>{if(y)return;function e(e,t){v(e),k({previousValue:e,tabActivationDirection:`none`}),L(e,t),K.current=!1}if(S.size===0){ne.current&&g!==null&&!E.current?.isConnected&&e(null,x);return}ne.current=!0,E.current=S.keys().next().value;let t=U?.disabled,n=U==null&&g!==null;if(!t&&g===Y.current&&(Q.current=!1),Q.current&&t&&g===Y.current)return;let r=K.current;if(t||n){let n=G??null;if(g===n){K.current=!1;return}let i=x;r?i=b:t&&(i=C),e(n,i);return}r&&U!=null&&(L(g,b),K.current=!1)},[G,y,L,U,v,S,g]);let re=u(`div`,e,{state:{orientation:a,tabActivationDirection:M},ref:t,props:l,stateAttributesMapping:X});return(0,Z.jsx)(J.Provider,{value:V,children:(0,Z.jsx)(W,{elementsRef:f,children:re})})});function ee(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function te(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=ee(r,e),c=ee(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return ul?o:`none`}var ne=`data-composite-item-active`;function re(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=p(),{ref:i,index:a}=K(e),o=n===a,s=q.useRef(null),l=c(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:l,index:a}}var ie=q.createContext(void 0);function ae(){let e=q.useContext(ie);if(e===void 0)throw Error(d(65));return e}var oe=q.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:d,getTabPanelIdByValue:f,onValueChange:m,orientation:y,tabActivationDirection:b}=Y(),{activateOnFocus:x,registerTabResizeObserverElement:C,tabsListElement:O}=ae(),{highlightedIndex:k,onHighlightedIndexChange:A}=p(),j=E(o),{compositeProps:M,compositeRef:N,index:P}=re({metadata:q.useMemo(()=>({disabled:r,id:j,value:a}),[r,j,a])}),F=a===d,I=q.useRef(!1),L=q.useRef(null),R=_(e=>{L.current?.(),L.current=e?C(e):null});h(()=>{if(I.current){I.current=!1;return}if(!(F&&P>-1&&k!==P))return;let e=O;if(e!=null){let t=T(v(e));if(t&&D(e,t))return}r||A(P)},[F,P,k,A,r,O]);let{getButtonProps:z,buttonRef:B}=g({disabled:r,native:s,focusableWhenDisabled:!0}),V=f(a),H=q.useRef(!1),U=q.useRef(!1);function W(e){m(a,w(S,e.nativeEvent,void 0,{activationDirection:`none`}))}function G(e){F||r||W(e)}function K(e){F||r||x&&(!H.current||U.current)&&W(e)}function J(e){if(F||r)return;H.current=!0,U.current=e.button===0;let t=v(e.currentTarget);function n(){H.current=!1,U.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return u(`button`,e,{state:{disabled:r,active:F,orientation:y,tabActivationDirection:b},ref:[t,B,N,R],props:[M,{role:`tab`,"aria-controls":V,"aria-selected":F,id:j,onClick:G,onFocus:K,onPointerDown:J,[ne]:F?``:void 0,onKeyDownCapture(){I.current=!0}},l,z],stateAttributesMapping:X})}),se={...X,...i},ce=q.forwardRef(function(e,t){let{className:n,value:r,render:i,keepMounted:s=!1,style:c,...l}=e,{value:d,getTabIdByPanelValue:f,orientation:p,tabActivationDirection:m,registerMountedTabPanel:g}=Y(),_=E(),{ref:v,index:y}=K(),b=r===d,{mounted:x,transitionStatus:S,setMounted:C}=o(b),w=!x,T=f(r),D={hidden:w,orientation:p,tabActivationDirection:m,transitionStatus:S},O=q.useRef(null),k=u(`div`,e,{state:D,ref:[t,v,O],props:[{"aria-labelledby":T,hidden:w,id:_,role:`tabpanel`,tabIndex:b?0:-1,inert:R(!b),"data-index":y},l],stateAttributesMapping:se});return a({open:b,ref:O,onComplete(){b||C(!1)}}),h(()=>{if(!(_==null||w&&!s))return g(r,_)},[w,s,r,_,g]),s||x?k:null}),le=[];function ue(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:l,enableHomeAndEndKeys:u=!1,stopEventPropagation:d,disabledIndices:f,modifierKeys:p=le}=e,[m,g]=q.useState(0),v=r!=null,b=q.useRef(null),x=c(b,l),S=q.useRef([]),C=q.useRef(!1),w=o??m,T=_((e,t=!1)=>{if((s??g)(e),t){let t=S.current[e];F(b.current,t,a,n)}}),E=_(e=>{if(e.size===0||C.current)return;C.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)T(i);else if(B(t,w,f)){let e=k(t,{disabledIndices:f});P(t,e)||T(e)}F(b.current,r,a,n)});h(()=>{if(f==null||o!=null||!C.current)return;let e=S.current;if(B(e,w,f)){let t=k(e,{disabledIndices:f});P(e,t)||T(t)}},[f,o,w,S,T]);let D=_((e,t,n)=>i?i(e,t,n,S):n),R=_(e=>{let o=e.key===`Home`||e.key===`End`;if(!M.has(e.key)||!u&&o||de(e,p)||!b.current)return;let s=a===`rtl`,c=s?j:L,l=s?L:j,m=n===`vertical`?I:c,h=n===`vertical`?z:l,g=y(e.nativeEvent);if(g!=null&&N(g)&&!G(g)){let t=g.selectionStart,n=g.selectionEnd,r=g.value;if(t==null||e.shiftKey||t!==n||e.key!==h&&t0)return}let _=w,x=O(S,f),C=A(S,f);r!=null&&(_=r({disabledIndices:f,elementsRef:S,event:e,highlightedIndex:w,loopFocus:t,maxIndex:C,minIndex:x,onLoop:D,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,F=n!==`vertical`&&e.key===l||n!==`horizontal`&&e.key===`ArrowUp`;u&&(e.key===`Home`?_=x:e.key===`End`&&(_=C)),_===w&&(E||F)&&(t&&_===C&&E?(_=x,i&&(_=i(e,w,_,S))):t&&_===x&&F?(_=C,i&&(_=i(e,w,_,S))):_=k(S.current,{startingIndex:_,decrement:F,disabledIndices:f})),_!==w&&!P(S.current,_)&&(d&&e.stopPropagation(),(v||o||E||F)&&e.preventDefault(),T(_,!0),queueMicrotask(()=>{S.current[_]?.focus()}))});return{props:{ref:x,onFocus(e){let t=b.current,n=y(e.nativeEvent);!t||n==null||!N(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:R},highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:S,onMapChange:E,relayKeyboardEvent:R}}function de(e,t){for(let n of V)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function fe(e){let{render:t,className:n,style:r,refs:i=l,props:a=l,state:o=s,stateAttributesMapping:c,highlightedIndex:d,onHighlightedIndexChange:f,orientation:p,grid:h,loopFocus:g,onLoop:_,enableHomeAndEndKeys:v,onMapChange:y,stopEventPropagation:b=!0,rootRef:x,disabledIndices:S,modifierKeys:C,highlightItemOnHover:w=!1,tag:T=`div`,...E}=e,{props:D,highlightedIndex:O,onHighlightedIndexChange:k,elementsRef:A,onMapChange:j,relayKeyboardEvent:M}=ue({grid:h,loopFocus:g,onLoop:_,orientation:p,highlightedIndex:d,onHighlightedIndexChange:f,rootRef:x,stopEventPropagation:b,enableHomeAndEndKeys:v,direction:U(),disabledIndices:S,modifierKeys:C}),N=u(T,e,{state:o,ref:i,props:[D,...a,E],stateAttributesMapping:c}),P=q.useMemo(()=>({highlightedIndex:O,onHighlightedIndexChange:k,highlightItemOnHover:w,relayKeyboardEvent:M}),[O,k,w,M]);return(0,Z.jsx)(m.Provider,{value:P,children:(0,Z.jsx)(W,{elementsRef:A,onMapChange:e=>{y?.(e),j(e)},children:N})})}var pe=q.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:u,tabActivationDirection:d}=Y(),[f,p]=q.useState(0),[m,g]=q.useState(null),v=q.useRef(new Set),y=q.useRef(new Set),b=q.useRef(null);h(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{v.current.forEach(e=>{e()})});return b.current=e,m&&e.observe(m),y.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),b.current=null}},[m]);let x=_(e=>(v.current.add(e),()=>{v.current.delete(e)})),S=_(e=>(y.current.add(e),b.current?.observe(e),()=>{y.current.delete(e),b.current?.unobserve(e)})),C={orientation:c,tabActivationDirection:d},w={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},T=q.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:x,registerTabResizeObserverElement:S,tabsListElement:m}),[n,x,S,m]);return(0,Z.jsx)(ie.Provider,{value:T,children:(0,Z.jsx)(fe,{render:a,className:r,style:o,state:C,refs:[t,g],props:[w,s],stateAttributesMapping:X,highlightedIndex:f,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:p,onMapChange:u,disabledIndices:l})})}),$=r();function me(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`flex flex-col gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(Q,{className:i,"data-slot":`tabs`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function he(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`inline-flex items-center gap-1 border-b`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(pe,{className:i,"data-slot":`tabs-list`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ge(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`inline-flex items-center justify-center border-b-2 border-transparent px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-selected:border-primary data-selected:text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(oe,{className:i,"data-slot":`tabs-tab`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function _e(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`focus-visible:outline-none`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(ce,{className:i,"data-slot":`tabs-panel`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}export{ge as i,he as n,_e as r,me as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js b/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js index 186fe4e9a..3ea4462c1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./plus.js";import{t as r}from"./trash-2.js";import{t as i}from"./button.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{n as l,r as u}from"./zod.js";var d=t(),f=e();function p(e){let t=(0,d.c)(21),{control:a,name:s}=e,p;t[0]!==a||t[1]!==s?(p={control:a,name:s},t[0]=a,t[1]=s,t[2]=p):p=t[2];let{fields:g,append:_,remove:v}=u(p),y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,f.jsx)(o,{children:`Tags`}),t[3]=y):y=t[3];let b;if(t[4]!==a||t[5]!==g||t[6]!==s||t[7]!==v){let e;t[9]!==a||t[10]!==s||t[11]!==v?(e=(e,t)=>(0,f.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,f.jsx)(l,{control:a,name:`${s}.${t}.key`,render:h}),(0,f.jsx)(l,{control:a,name:`${s}.${t}.value`,render:m}),(0,f.jsx)(i,{"aria-label":`Remove tag ${t+1}`,onClick:()=>v(t),size:`icon`,type:`button`,variant:`ghost`,children:(0,f.jsx)(r,{className:`size-3.5`})})]},e.id),t[9]=a,t[10]=s,t[11]=v,t[12]=e):e=t[12],b=g.map(e),t[4]=a,t[5]=g,t[6]=s,t[7]=v,t[8]=b}else b=t[8];let x;t[13]===_?x=t[14]:(x=()=>_({key:``,value:``}),t[13]=_,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,f.jsx)(n,{className:`size-3.5`}),t[15]=S):S=t[15];let C;t[16]===x?C=t[17]:(C=(0,f.jsxs)(i,{onClick:x,size:`sm`,type:`button`,variant:`outline`,children:[S,`Add Tag`]}),t[16]=x,t[17]=C);let w;return t[18]!==b||t[19]!==C?(w=(0,f.jsxs)(c,{children:[y,(0,f.jsxs)(`div`,{className:`space-y-2`,children:[b,C]})]}),t[18]=b,t[19]=C,t[20]=w):w=t[20],w}function m(e){let{field:t,fieldState:n}=e;return(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(a,{"aria-invalid":!!n.error,placeholder:`Value`,...t}),(0,f.jsx)(s,{errors:[n.error]})]})}function h(e){let{field:t,fieldState:n}=e;return(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(a,{"aria-invalid":!!n.error,placeholder:`Key`,...t}),(0,f.jsx)(s,{errors:[n.error]})]})}export{p as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./plus.js";import{t as r}from"./trash-2.js";import{t as i}from"./button.js";import{t as a}from"./input.js";import{n as o,r as s}from"./zod.js";import{a as c,r as l,t as u}from"./field.js";var d=t(),f=e();function p(e){let t=(0,d.c)(21),{control:a,name:l}=e,p;t[0]!==a||t[1]!==l?(p={control:a,name:l},t[0]=a,t[1]=l,t[2]=p):p=t[2];let{fields:g,append:_,remove:v}=s(p),y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,f.jsx)(c,{children:`Tags`}),t[3]=y):y=t[3];let b;if(t[4]!==a||t[5]!==g||t[6]!==l||t[7]!==v){let e;t[9]!==a||t[10]!==l||t[11]!==v?(e=(e,t)=>(0,f.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,f.jsx)(o,{control:a,name:`${l}.${t}.key`,render:h}),(0,f.jsx)(o,{control:a,name:`${l}.${t}.value`,render:m}),(0,f.jsx)(i,{"aria-label":`Remove tag ${t+1}`,onClick:()=>v(t),size:`icon`,type:`button`,variant:`ghost`,children:(0,f.jsx)(r,{className:`size-3.5`})})]},e.id),t[9]=a,t[10]=l,t[11]=v,t[12]=e):e=t[12],b=g.map(e),t[4]=a,t[5]=g,t[6]=l,t[7]=v,t[8]=b}else b=t[8];let x;t[13]===_?x=t[14]:(x=()=>_({key:``,value:``}),t[13]=_,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,f.jsx)(n,{className:`size-3.5`}),t[15]=S):S=t[15];let C;t[16]===x?C=t[17]:(C=(0,f.jsxs)(i,{onClick:x,size:`sm`,type:`button`,variant:`outline`,children:[S,`Add Tag`]}),t[16]=x,t[17]=C);let w;return t[18]!==b||t[19]!==C?(w=(0,f.jsxs)(u,{children:[y,(0,f.jsxs)(`div`,{className:`space-y-2`,children:[b,C]})]}),t[18]=b,t[19]=C,t[20]=w):w=t[20],w}function m(e){let{field:t,fieldState:n}=e;return(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(a,{"aria-invalid":!!n.error,placeholder:`Value`,...t}),(0,f.jsx)(l,{errors:[n.error]})]})}function h(e){let{field:t,fieldState:n}=e;return(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(a,{"aria-invalid":!!n.error,placeholder:`Key`,...t}),(0,f.jsx)(l,{errors:[n.error]})]})}export{p as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js b/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js index 2f838f0df..e433dadc0 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{tn as ee}from"./cluster-config.js";import{c as te,i as n,n as ne,s as re,t as ie}from"./select.js";import{t as r}from"./input.js";import{a as i,r as a,t as o}from"./field.js";import{a as ae,n as oe}from"./zod.js";import{n as se,r as ce,t as le}from"./collapsible.js";import{t as ue}from"./tags-field-array.js";var de=t(),s=e(),fe=[`HTTP`,`HTTPS`,`TCP`,`UDP`,`TLS`,`TCP_UDP`];function pe(e){let t=(0,de.c)(126),{form:ee,vpcs:n,allowedProtocols:pe}=e,ge=pe===void 0?fe:pe,{control:c,register:l,setValue:u,formState:_e}=ee,{errors:d}=_e,ve;t[0]===c?ve=t[1]:(ve={control:c,name:`protocol`},t[0]=c,t[1]=ve);let ye=ae(ve),f=ye===`HTTP`||ye===`HTTPS`,be;t[2]===u?be=t[3]:(be=e=>{e&&(u(`protocol`,e),u(`healthCheck.protocol`,e===`HTTP`||e===`HTTPS`?`HTTP`:`TCP`))},t[2]=u,t[3]=be);let xe=be,Se;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-name`,children:`Name`})}),t[4]=Se):Se=t[4];let Ce=!!d.name,p;t[5]===l?p=t[6]:(p=l(`name`),t[5]=l,t[6]=p);let m;t[7]!==Ce||t[8]!==p?(m=(0,s.jsx)(r,{"aria-invalid":Ce,id:`tg-name`,placeholder:`my-target-group`,...p}),t[7]=Ce,t[8]=p,t[9]=m):m=t[9];let h;t[10]===d.name?h=t[11]:(h=(0,s.jsx)(a,{errors:[d.name]}),t[10]=d.name,t[11]=h);let g;t[12]!==m||t[13]!==h?(g=(0,s.jsxs)(o,{children:[Se,m,h]}),t[12]=m,t[13]=h,t[14]=g):g=t[14];let we;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-protocol`,children:`Protocol`})}),t[15]=we):we=t[15];let _;t[16]!==ge||t[17]!==xe?(_=e=>{let{field:t}=e;return(0,s.jsxs)(ie,{onValueChange:xe,value:t.value,children:[(0,s.jsx)(re,{className:`w-full`,id:`tg-protocol`,children:(0,s.jsx)(te,{})}),(0,s.jsx)(ne,{children:ge.map(he)})]})},t[16]=ge,t[17]=xe,t[18]=_):_=t[18];let v;t[19]!==c||t[20]!==_?(v=(0,s.jsxs)(o,{children:[we,(0,s.jsx)(oe,{control:c,name:`protocol`,render:_})]}),t[19]=c,t[20]=_,t[21]=v):v=t[21];let Te;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-port`,children:`Port`})}),t[22]=Te):Te=t[22];let Ee=!!d.port,y;t[23]===l?y=t[24]:(y=l(`port`,{valueAsNumber:!0}),t[23]=l,t[24]=y);let b;t[25]!==Ee||t[26]!==y?(b=(0,s.jsx)(r,{"aria-invalid":Ee,id:`tg-port`,inputMode:`numeric`,placeholder:`80`,type:`number`,...y}),t[25]=Ee,t[26]=y,t[27]=b):b=t[27];let x;t[28]===d.port?x=t[29]:(x=(0,s.jsx)(a,{errors:[d.port]}),t[28]=d.port,t[29]=x);let S;t[30]!==b||t[31]!==x?(S=(0,s.jsxs)(o,{children:[Te,b,x]}),t[30]=b,t[31]=x,t[32]=S):S=t[32];let De;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-vpc`,children:`VPC`})}),t[33]=De):De=t[33];let C;t[34]!==d.vpcId||t[35]!==n?(C=e=>{let{field:t}=e;return(0,s.jsxs)(ie,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,s.jsx)(re,{"aria-invalid":!!d.vpcId,className:`w-full`,id:`tg-vpc`,children:(0,s.jsx)(te,{placeholder:`Select VPC`})}),(0,s.jsx)(ne,{children:n.map(me)})]})},t[34]=d.vpcId,t[35]=n,t[36]=C):C=t[36];let w;t[37]!==c||t[38]!==C?(w=(0,s.jsx)(oe,{control:c,name:`vpcId`,render:C}),t[37]=c,t[38]=C,t[39]=w):w=t[39];let T;t[40]===d.vpcId?T=t[41]:(T=(0,s.jsx)(a,{errors:[d.vpcId]}),t[40]=d.vpcId,t[41]=T);let E;t[42]!==w||t[43]!==T?(E=(0,s.jsxs)(o,{children:[De,w,T]}),t[42]=w,t[43]=T,t[44]=E):E=t[44];let D;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,s.jsx)(ce,{className:`text-left text-sm font-medium text-muted-foreground hover:text-foreground`,render:(0,s.jsx)(`button`,{"aria-label":`Health check settings`,type:`button`}),children:`Health check settings`}),t[45]=D):D=t[45];let O;t[46]!==d.healthCheck?.path||t[47]!==f||t[48]!==l?(O=f&&(0,s.jsxs)(o,{children:[(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-path`,children:`Path`})}),(0,s.jsx)(r,{"aria-invalid":!!d.healthCheck?.path,id:`hc-path`,placeholder:`/`,...l(`healthCheck.path`)}),(0,s.jsx)(a,{errors:[d.healthCheck?.path]})]}),t[46]=d.healthCheck?.path,t[47]=f,t[48]=l,t[49]=O):O=t[49];let k;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-port`,children:`Port`})}),t[50]=k):k=t[50];let Oe=!!d.healthCheck?.port,A;t[51]===l?A=t[52]:(A=l(`healthCheck.port`),t[51]=l,t[52]=A);let j;t[53]!==Oe||t[54]!==A?(j=(0,s.jsx)(r,{"aria-invalid":Oe,id:`hc-port`,placeholder:`traffic-port or numeric`,...A}),t[53]=Oe,t[54]=A,t[55]=j):j=t[55];let ke=d.healthCheck?.port,M;t[56]===ke?M=t[57]:(M=(0,s.jsx)(a,{errors:[ke]}),t[56]=ke,t[57]=M);let N;t[58]!==j||t[59]!==M?(N=(0,s.jsxs)(o,{children:[k,j,M]}),t[58]=j,t[59]=M,t[60]=N):N=t[60];let Ae;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-interval`,children:`Interval (seconds)`})}),t[61]=Ae):Ae=t[61];let je=!!d.healthCheck?.intervalSeconds,P;t[62]===l?P=t[63]:(P=l(`healthCheck.intervalSeconds`,{valueAsNumber:!0}),t[62]=l,t[63]=P);let F;t[64]!==je||t[65]!==P?(F=(0,s.jsx)(r,{"aria-invalid":je,id:`hc-interval`,inputMode:`numeric`,type:`number`,...P}),t[64]=je,t[65]=P,t[66]=F):F=t[66];let Me=d.healthCheck?.intervalSeconds,I;t[67]===Me?I=t[68]:(I=(0,s.jsx)(a,{errors:[Me]}),t[67]=Me,t[68]=I);let L;t[69]!==F||t[70]!==I?(L=(0,s.jsxs)(o,{children:[Ae,F,I]}),t[69]=F,t[70]=I,t[71]=L):L=t[71];let Ne;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-timeout`,children:`Timeout (seconds)`})}),t[72]=Ne):Ne=t[72];let Pe=!!d.healthCheck?.timeoutSeconds,R;t[73]===l?R=t[74]:(R=l(`healthCheck.timeoutSeconds`,{valueAsNumber:!0}),t[73]=l,t[74]=R);let z;t[75]!==Pe||t[76]!==R?(z=(0,s.jsx)(r,{"aria-invalid":Pe,id:`hc-timeout`,inputMode:`numeric`,type:`number`,...R}),t[75]=Pe,t[76]=R,t[77]=z):z=t[77];let Fe=d.healthCheck?.timeoutSeconds,B;t[78]===Fe?B=t[79]:(B=(0,s.jsx)(a,{errors:[Fe]}),t[78]=Fe,t[79]=B);let V;t[80]!==z||t[81]!==B?(V=(0,s.jsxs)(o,{children:[Ne,z,B]}),t[80]=z,t[81]=B,t[82]=V):V=t[82];let Ie;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-healthy`,children:`Healthy threshold`})}),t[83]=Ie):Ie=t[83];let Le=!!d.healthCheck?.healthyThresholdCount,H;t[84]===l?H=t[85]:(H=l(`healthCheck.healthyThresholdCount`,{valueAsNumber:!0}),t[84]=l,t[85]=H);let U;t[86]!==Le||t[87]!==H?(U=(0,s.jsx)(r,{"aria-invalid":Le,id:`hc-healthy`,inputMode:`numeric`,type:`number`,...H}),t[86]=Le,t[87]=H,t[88]=U):U=t[88];let Re=d.healthCheck?.healthyThresholdCount,W;t[89]===Re?W=t[90]:(W=(0,s.jsx)(a,{errors:[Re]}),t[89]=Re,t[90]=W);let G;t[91]!==U||t[92]!==W?(G=(0,s.jsxs)(o,{children:[Ie,U,W]}),t[91]=U,t[92]=W,t[93]=G):G=t[93];let ze;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-unhealthy`,children:`Unhealthy threshold`})}),t[94]=ze):ze=t[94];let Be=!!d.healthCheck?.unhealthyThresholdCount,K;t[95]===l?K=t[96]:(K=l(`healthCheck.unhealthyThresholdCount`,{valueAsNumber:!0}),t[95]=l,t[96]=K);let q;t[97]!==Be||t[98]!==K?(q=(0,s.jsx)(r,{"aria-invalid":Be,id:`hc-unhealthy`,inputMode:`numeric`,type:`number`,...K}),t[97]=Be,t[98]=K,t[99]=q):q=t[99];let Ve=d.healthCheck?.unhealthyThresholdCount,J;t[100]===Ve?J=t[101]:(J=(0,s.jsx)(a,{errors:[Ve]}),t[100]=Ve,t[101]=J);let Y;t[102]!==q||t[103]!==J?(Y=(0,s.jsxs)(o,{children:[ze,q,J]}),t[102]=q,t[103]=J,t[104]=Y):Y=t[104];let X;t[105]!==d.healthCheck?.matcher||t[106]!==f||t[107]!==l?(X=f&&(0,s.jsxs)(o,{children:[(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-matcher`,children:`Matcher (HTTP codes)`})}),(0,s.jsx)(r,{"aria-invalid":!!d.healthCheck?.matcher,id:`hc-matcher`,placeholder:`200 or 200-299 or 200,201`,...l(`healthCheck.matcher`)}),(0,s.jsx)(a,{errors:[d.healthCheck?.matcher]})]}),t[105]=d.healthCheck?.matcher,t[106]=f,t[107]=l,t[108]=X):X=t[108];let Z;t[109]!==O||t[110]!==N||t[111]!==L||t[112]!==V||t[113]!==G||t[114]!==Y||t[115]!==X?(Z=(0,s.jsxs)(le,{children:[D,(0,s.jsxs)(se,{className:`mt-3 space-y-4 border-l-2 border-muted pl-4`,children:[O,N,L,V,G,Y,X]})]}),t[109]=O,t[110]=N,t[111]=L,t[112]=V,t[113]=G,t[114]=Y,t[115]=X,t[116]=Z):Z=t[116];let Q;t[117]===c?Q=t[118]:(Q=(0,s.jsx)(ue,{control:c,name:`tags`}),t[117]=c,t[118]=Q);let $;return t[119]!==g||t[120]!==v||t[121]!==S||t[122]!==E||t[123]!==Z||t[124]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[g,v,S,E,Z,Q]}),t[119]=g,t[120]=v,t[121]=S,t[122]=E,t[123]=Z,t[124]=Q,t[125]=$):$=t[125],$}function me(e){let t=ee(e.Tags);return(0,s.jsx)(n,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function he(e){return(0,s.jsx)(n,{value:e,children:e},e)}export{pe as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{tn as ee}from"./cluster-config.js";import{c as te,i as n,n as ne,s as re,t as ie}from"./select.js";import{t as r}from"./input.js";import{a as ae,n as oe}from"./zod.js";import{a as i,r as a,t as o}from"./field.js";import{n as se,r as ce,t as le}from"./collapsible.js";import{t as ue}from"./tags-field-array.js";var de=t(),s=e(),fe=[`HTTP`,`HTTPS`,`TCP`,`UDP`,`TLS`,`TCP_UDP`];function pe(e){let t=(0,de.c)(126),{form:ee,vpcs:n,allowedProtocols:pe}=e,ge=pe===void 0?fe:pe,{control:c,register:l,setValue:u,formState:_e}=ee,{errors:d}=_e,ve;t[0]===c?ve=t[1]:(ve={control:c,name:`protocol`},t[0]=c,t[1]=ve);let ye=ae(ve),f=ye===`HTTP`||ye===`HTTPS`,be;t[2]===u?be=t[3]:(be=e=>{e&&(u(`protocol`,e),u(`healthCheck.protocol`,e===`HTTP`||e===`HTTPS`?`HTTP`:`TCP`))},t[2]=u,t[3]=be);let xe=be,Se;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-name`,children:`Name`})}),t[4]=Se):Se=t[4];let Ce=!!d.name,p;t[5]===l?p=t[6]:(p=l(`name`),t[5]=l,t[6]=p);let m;t[7]!==Ce||t[8]!==p?(m=(0,s.jsx)(r,{"aria-invalid":Ce,id:`tg-name`,placeholder:`my-target-group`,...p}),t[7]=Ce,t[8]=p,t[9]=m):m=t[9];let h;t[10]===d.name?h=t[11]:(h=(0,s.jsx)(a,{errors:[d.name]}),t[10]=d.name,t[11]=h);let g;t[12]!==m||t[13]!==h?(g=(0,s.jsxs)(o,{children:[Se,m,h]}),t[12]=m,t[13]=h,t[14]=g):g=t[14];let we;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-protocol`,children:`Protocol`})}),t[15]=we):we=t[15];let _;t[16]!==ge||t[17]!==xe?(_=e=>{let{field:t}=e;return(0,s.jsxs)(ie,{onValueChange:xe,value:t.value,children:[(0,s.jsx)(re,{className:`w-full`,id:`tg-protocol`,children:(0,s.jsx)(te,{})}),(0,s.jsx)(ne,{children:ge.map(he)})]})},t[16]=ge,t[17]=xe,t[18]=_):_=t[18];let v;t[19]!==c||t[20]!==_?(v=(0,s.jsxs)(o,{children:[we,(0,s.jsx)(oe,{control:c,name:`protocol`,render:_})]}),t[19]=c,t[20]=_,t[21]=v):v=t[21];let Te;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-port`,children:`Port`})}),t[22]=Te):Te=t[22];let Ee=!!d.port,y;t[23]===l?y=t[24]:(y=l(`port`,{valueAsNumber:!0}),t[23]=l,t[24]=y);let b;t[25]!==Ee||t[26]!==y?(b=(0,s.jsx)(r,{"aria-invalid":Ee,id:`tg-port`,inputMode:`numeric`,placeholder:`80`,type:`number`,...y}),t[25]=Ee,t[26]=y,t[27]=b):b=t[27];let x;t[28]===d.port?x=t[29]:(x=(0,s.jsx)(a,{errors:[d.port]}),t[28]=d.port,t[29]=x);let S;t[30]!==b||t[31]!==x?(S=(0,s.jsxs)(o,{children:[Te,b,x]}),t[30]=b,t[31]=x,t[32]=S):S=t[32];let De;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`tg-vpc`,children:`VPC`})}),t[33]=De):De=t[33];let C;t[34]!==d.vpcId||t[35]!==n?(C=e=>{let{field:t}=e;return(0,s.jsxs)(ie,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,s.jsx)(re,{"aria-invalid":!!d.vpcId,className:`w-full`,id:`tg-vpc`,children:(0,s.jsx)(te,{placeholder:`Select VPC`})}),(0,s.jsx)(ne,{children:n.map(me)})]})},t[34]=d.vpcId,t[35]=n,t[36]=C):C=t[36];let w;t[37]!==c||t[38]!==C?(w=(0,s.jsx)(oe,{control:c,name:`vpcId`,render:C}),t[37]=c,t[38]=C,t[39]=w):w=t[39];let T;t[40]===d.vpcId?T=t[41]:(T=(0,s.jsx)(a,{errors:[d.vpcId]}),t[40]=d.vpcId,t[41]=T);let E;t[42]!==w||t[43]!==T?(E=(0,s.jsxs)(o,{children:[De,w,T]}),t[42]=w,t[43]=T,t[44]=E):E=t[44];let D;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,s.jsx)(ce,{className:`text-left text-sm font-medium text-muted-foreground hover:text-foreground`,render:(0,s.jsx)(`button`,{"aria-label":`Health check settings`,type:`button`}),children:`Health check settings`}),t[45]=D):D=t[45];let O;t[46]!==d.healthCheck?.path||t[47]!==f||t[48]!==l?(O=f&&(0,s.jsxs)(o,{children:[(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-path`,children:`Path`})}),(0,s.jsx)(r,{"aria-invalid":!!d.healthCheck?.path,id:`hc-path`,placeholder:`/`,...l(`healthCheck.path`)}),(0,s.jsx)(a,{errors:[d.healthCheck?.path]})]}),t[46]=d.healthCheck?.path,t[47]=f,t[48]=l,t[49]=O):O=t[49];let k;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-port`,children:`Port`})}),t[50]=k):k=t[50];let Oe=!!d.healthCheck?.port,A;t[51]===l?A=t[52]:(A=l(`healthCheck.port`),t[51]=l,t[52]=A);let j;t[53]!==Oe||t[54]!==A?(j=(0,s.jsx)(r,{"aria-invalid":Oe,id:`hc-port`,placeholder:`traffic-port or numeric`,...A}),t[53]=Oe,t[54]=A,t[55]=j):j=t[55];let ke=d.healthCheck?.port,M;t[56]===ke?M=t[57]:(M=(0,s.jsx)(a,{errors:[ke]}),t[56]=ke,t[57]=M);let N;t[58]!==j||t[59]!==M?(N=(0,s.jsxs)(o,{children:[k,j,M]}),t[58]=j,t[59]=M,t[60]=N):N=t[60];let Ae;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-interval`,children:`Interval (seconds)`})}),t[61]=Ae):Ae=t[61];let je=!!d.healthCheck?.intervalSeconds,P;t[62]===l?P=t[63]:(P=l(`healthCheck.intervalSeconds`,{valueAsNumber:!0}),t[62]=l,t[63]=P);let F;t[64]!==je||t[65]!==P?(F=(0,s.jsx)(r,{"aria-invalid":je,id:`hc-interval`,inputMode:`numeric`,type:`number`,...P}),t[64]=je,t[65]=P,t[66]=F):F=t[66];let Me=d.healthCheck?.intervalSeconds,I;t[67]===Me?I=t[68]:(I=(0,s.jsx)(a,{errors:[Me]}),t[67]=Me,t[68]=I);let L;t[69]!==F||t[70]!==I?(L=(0,s.jsxs)(o,{children:[Ae,F,I]}),t[69]=F,t[70]=I,t[71]=L):L=t[71];let Ne;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-timeout`,children:`Timeout (seconds)`})}),t[72]=Ne):Ne=t[72];let Pe=!!d.healthCheck?.timeoutSeconds,R;t[73]===l?R=t[74]:(R=l(`healthCheck.timeoutSeconds`,{valueAsNumber:!0}),t[73]=l,t[74]=R);let z;t[75]!==Pe||t[76]!==R?(z=(0,s.jsx)(r,{"aria-invalid":Pe,id:`hc-timeout`,inputMode:`numeric`,type:`number`,...R}),t[75]=Pe,t[76]=R,t[77]=z):z=t[77];let Fe=d.healthCheck?.timeoutSeconds,B;t[78]===Fe?B=t[79]:(B=(0,s.jsx)(a,{errors:[Fe]}),t[78]=Fe,t[79]=B);let V;t[80]!==z||t[81]!==B?(V=(0,s.jsxs)(o,{children:[Ne,z,B]}),t[80]=z,t[81]=B,t[82]=V):V=t[82];let Ie;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-healthy`,children:`Healthy threshold`})}),t[83]=Ie):Ie=t[83];let Le=!!d.healthCheck?.healthyThresholdCount,H;t[84]===l?H=t[85]:(H=l(`healthCheck.healthyThresholdCount`,{valueAsNumber:!0}),t[84]=l,t[85]=H);let U;t[86]!==Le||t[87]!==H?(U=(0,s.jsx)(r,{"aria-invalid":Le,id:`hc-healthy`,inputMode:`numeric`,type:`number`,...H}),t[86]=Le,t[87]=H,t[88]=U):U=t[88];let Re=d.healthCheck?.healthyThresholdCount,W;t[89]===Re?W=t[90]:(W=(0,s.jsx)(a,{errors:[Re]}),t[89]=Re,t[90]=W);let G;t[91]!==U||t[92]!==W?(G=(0,s.jsxs)(o,{children:[Ie,U,W]}),t[91]=U,t[92]=W,t[93]=G):G=t[93];let ze;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-unhealthy`,children:`Unhealthy threshold`})}),t[94]=ze):ze=t[94];let Be=!!d.healthCheck?.unhealthyThresholdCount,K;t[95]===l?K=t[96]:(K=l(`healthCheck.unhealthyThresholdCount`,{valueAsNumber:!0}),t[95]=l,t[96]=K);let q;t[97]!==Be||t[98]!==K?(q=(0,s.jsx)(r,{"aria-invalid":Be,id:`hc-unhealthy`,inputMode:`numeric`,type:`number`,...K}),t[97]=Be,t[98]=K,t[99]=q):q=t[99];let Ve=d.healthCheck?.unhealthyThresholdCount,J;t[100]===Ve?J=t[101]:(J=(0,s.jsx)(a,{errors:[Ve]}),t[100]=Ve,t[101]=J);let Y;t[102]!==q||t[103]!==J?(Y=(0,s.jsxs)(o,{children:[ze,q,J]}),t[102]=q,t[103]=J,t[104]=Y):Y=t[104];let X;t[105]!==d.healthCheck?.matcher||t[106]!==f||t[107]!==l?(X=f&&(0,s.jsxs)(o,{children:[(0,s.jsx)(i,{children:(0,s.jsx)(`label`,{htmlFor:`hc-matcher`,children:`Matcher (HTTP codes)`})}),(0,s.jsx)(r,{"aria-invalid":!!d.healthCheck?.matcher,id:`hc-matcher`,placeholder:`200 or 200-299 or 200,201`,...l(`healthCheck.matcher`)}),(0,s.jsx)(a,{errors:[d.healthCheck?.matcher]})]}),t[105]=d.healthCheck?.matcher,t[106]=f,t[107]=l,t[108]=X):X=t[108];let Z;t[109]!==O||t[110]!==N||t[111]!==L||t[112]!==V||t[113]!==G||t[114]!==Y||t[115]!==X?(Z=(0,s.jsxs)(le,{children:[D,(0,s.jsxs)(se,{className:`mt-3 space-y-4 border-l-2 border-muted pl-4`,children:[O,N,L,V,G,Y,X]})]}),t[109]=O,t[110]=N,t[111]=L,t[112]=V,t[113]=G,t[114]=Y,t[115]=X,t[116]=Z):Z=t[116];let Q;t[117]===c?Q=t[118]:(Q=(0,s.jsx)(ue,{control:c,name:`tags`}),t[117]=c,t[118]=Q);let $;return t[119]!==g||t[120]!==v||t[121]!==S||t[122]!==E||t[123]!==Z||t[124]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[g,v,S,E,Z,Q]}),t[119]=g,t[120]=v,t[121]=S,t[122]=E,t[123]=Z,t[124]=Q,t[125]=$):$=t[125],$}function me(e){let t=ee(e.Tags);return(0,s.jsx)(n,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function he(e){return(0,s.jsx)(n,{value:e,children:e},e)}export{pe as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/useBaseQuery.js b/spinifex/services/spinifexui/frontend/dist/assets/useBaseQuery.js index bff26d0c8..f61402de4 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/useBaseQuery.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/useBaseQuery.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{A as r,C as i,D as a,E as o,M as s,O as c,T as l,a as u,c as d,d as f,f as p,i as m,j as h,k as g,l as _,m as v,n as y,o as b,p as x,r as S,u as C,v as w,w as T,x as E}from"./QueryClientProvider.js";function D(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{f(e,()=>t.signal,()=>n=!0)},u=v(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?x:p;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?k:O,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:O(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function O(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function k(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var A=class extends S{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=N(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=N(this.options);e.data!==void 0&&(this.setState(M(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=i(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(E).catch(E):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>T(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===c||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>l(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!g(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=v(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?D(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=b({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof m&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof m){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...j(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...M(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),d.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function j(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:u(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function M(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function N(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var P=class extends s{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=_(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),I(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return L(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return L(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof T(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!o(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&R(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||T(this.options.enabled,this.#t)!==T(t.enabled,this.#t)||l(this.options.staleTime,this.#t)!==l(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||T(this.options.enabled,this.#t)!==T(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return B(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(E)),t}#g(){this.#b();let e=l(this.options.staleTime,this.#t);if(C.isServer()||this.#r.isStale||!w(e))return;let t=g(this.#r.dataUpdatedAt,e)+1;this.#d=r.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(C.isServer()||T(this.options.enabled,this.#t)===!1||!w(this.#p)||this.#p===0)&&(this.#f=r.setInterval(()=>{(this.options.refetchIntervalInBackground||h.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(r.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(r.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,a=this.#r,o=this.#i,s=this.#a,c=e===n?this.#n:e.state,{state:l}=e,u={...l},d=!1,f;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&I(e,t),o=i&&R(e,n,t,r);(a||o)&&(u={...u,...j(l.data,e.options)}),t._optimisticResults===`isRestoring`&&(u.fetchStatus=`idle`)}let{error:p,errorUpdatedAt:m,status:h}=u;f=u.data;let g=!1;if(t.placeholderData!==void 0&&f===void 0&&h===`pending`){let e;a?.isPlaceholderData&&t.placeholderData===s?.placeholderData?(e=a.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(h=`success`,f=i(a?.data,e,t),d=!0)}if(t.select&&f!==void 0&&!g){if(a&&f===o?.data&&t.select===this.#c)f=this.#l;else try{this.#c=t.select,f=t.select(f),f=i(a?.data,f,t),this.#l=f,this.#s=null}catch(e){this.#s=e}}this.#s&&(p=this.#s,f=this.#l,m=Date.now(),h=`error`);let v=u.fetchStatus===`fetching`,y=h===`pending`,b=h===`error`,x=y&&v,S=f!==void 0,C={status:h,fetchStatus:u.fetchStatus,isPending:y,isSuccess:h===`success`,isError:b,isInitialLoading:x,isLoading:x,data:f,dataUpdatedAt:u.dataUpdatedAt,error:p,errorUpdatedAt:m,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:u.dataUpdateCount>c.dataUpdateCount||u.errorUpdateCount>c.errorUpdateCount,isFetching:v,isRefetching:v&&!y,isLoadingError:b&&!S,isPaused:u.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:b&&S,isStale:z(e,t),refetch:this.refetch,promise:this.#o,isEnabled:T(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=C.data!==void 0,r=C.status===`error`&&!t,i=e=>{r?e.reject(C.error):t&&e.resolve(C.data)},a=()=>{let e=this.#o=C.promise=_();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||C.data!==o.value)&&a();break;case`rejected`:(!r||C.error!==o.reason)&&a()}}return C}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!o(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){d.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function F(e,t){return T(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||T(t.retryOnMount,e)!==!1)}function I(e,t){return F(e,t)||e.state.data!==void 0&&L(e,t,t.refetchOnMount)}function L(e,t,n){if(T(t.enabled,e)!==!1&&l(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&z(e,t)}return!1}function R(e,t,n,r){return(e!==t||T(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&z(e,n)}function z(e,t){return T(t.enabled,e)!==!1&&e.isStaleByTime(l(t.staleTime,e))}function B(e,t){return!o(e.getCurrentResult(),t)}t();var V=e(n(),1),H=V.createContext(!1),U=()=>V.useContext(H);H.Provider;function W(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var G=V.createContext(W()),K=()=>V.useContext(G),q=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?a(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},J=e=>{V.useEffect(()=>{e.clearReset()},[e])},Y=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||a(n,[e.error,r])),X=(e,t)=>t.state.data===void 0,Z=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Q=(e,t)=>e.isLoading&&e.isFetching&&!t,ee=(e,t)=>e?.suspense&&t.isPending,$=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function te(e,t,n){let r=U(),i=K(),a=y(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Z(o),q(o,i,s),J(i);let l=!a.getQueryCache().get(o.queryHash),[u]=V.useState(()=>new t(a,o)),f=u.getOptimisticResult(o),p=!r&&c;if(V.useSyncExternalStore(V.useCallback(e=>{let t=p?u.subscribe(d.batchCalls(e)):E;return u.updateResult(),t},[u,p]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),V.useEffect(()=>{u.setOptions(o)},[o,u]),ee(o,f))throw $(o,u,i);if(Y({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw f.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,f),o.experimental_prefetchInRender&&!C.isServer()&&Q(f,r)&&(l?$(o,u,i):s?.promise)?.catch(E).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?f:u.trackResult(f)}export{A as i,X as n,P as r,te as t}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{A as r,C as i,D as a,E as o,M as s,T as c,c as l,j as u,k as d,l as f,n as p,u as m,v as h,w as g,x as _}from"./QueryClientProvider.js";import{n as v}from"./query.js";var y=class extends s{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=f(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof g(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!o(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||g(this.options.enabled,this.#t)!==g(t.enabled,this.#t)||c(this.options.staleTime,this.#t)!==c(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||g(this.options.enabled,this.#t)!==g(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(_)),t}#g(){this.#b();let e=c(this.options.staleTime,this.#t);if(m.isServer()||this.#r.isStale||!h(e))return;let t=d(this.#r.dataUpdatedAt,e)+1;this.#d=r.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(m.isServer()||g(this.options.enabled,this.#t)===!1||!h(this.#p)||this.#p===0)&&(this.#f=r.setInterval(()=>{(this.options.refetchIntervalInBackground||u.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(r.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(r.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,a=this.#r,o=this.#i,s=this.#a,c=e===n?this.#n:e.state,{state:l}=e,u={...l},d=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(u={...u,...v(l.data,e.options)}),t._optimisticResults===`isRestoring`&&(u.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:h,status:_}=u;p=u.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&_===`pending`){let e;a?.isPlaceholderData&&t.placeholderData===s?.placeholderData?(e=a.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(_=`success`,p=i(a?.data,e,t),d=!0)}if(t.select&&p!==void 0&&!y){if(a&&p===o?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=i(a?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}}this.#s&&(m=this.#s,p=this.#l,h=Date.now(),_=`error`);let b=u.fetchStatus===`fetching`,S=_===`pending`,T=_===`error`,E=S&&b,D=p!==void 0,O={status:_,fetchStatus:u.fetchStatus,isPending:S,isSuccess:_===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:u.dataUpdatedAt,error:m,errorUpdatedAt:h,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:u.dataUpdateCount>c.dataUpdateCount||u.errorUpdateCount>c.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:u.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:g(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},a=()=>{let e=this.#o=O.promise=f();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||O.data!==o.value)&&a();break;case`rejected`:(!r||O.error!==o.reason)&&a()}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!o(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){l.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return g(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||g(t.retryOnMount,e)!==!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(g(t.enabled,e)!==!1&&c(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||g(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return g(t.enabled,e)!==!1&&e.isStaleByTime(c(t.staleTime,e))}function T(e,t){return!o(e.getCurrentResult(),t)}t();var E=e(n(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider;function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?a(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||a(n,[e.error,r])),F=(e,t)=>t.state.data===void 0,I=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},L=(e,t)=>e.isLoading&&e.isFetching&&!t,R=(e,t)=>e?.suspense&&t.isPending,z=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function B(e,t,n){let r=O(),i=j(),a=p(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,I(o),M(o,i,s),N(i);let u=!a.getQueryCache().get(o.queryHash),[d]=E.useState(()=>new t(a,o)),f=d.getOptimisticResult(o),h=!r&&c;if(E.useSyncExternalStore(E.useCallback(e=>{let t=h?d.subscribe(l.batchCalls(e)):_;return d.updateResult(),t},[d,h]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),E.useEffect(()=>{d.setOptions(o)},[o,d]),R(o,f))throw z(o,d,i);if(P({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw f.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,f),o.experimental_prefetchInRender&&!m.isServer()&&L(f,r)&&(u?z(o,d,i):s?.promise)?.catch(_).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?f:d.trackResult(f)}export{F as n,y as r,B as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/useCompositeListItem.js b/spinifex/services/spinifexui/frontend/dist/assets/useCompositeListItem.js index 8d6089375..10b23bf95 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/useCompositeListItem.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/useCompositeListItem.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{l as r}from"./dist.js";import{o as i,s as a}from"./button.js";var o=e(n(),1),s=o.createContext(void 0);function c(){return o.useContext(s)?.direction??`ltr`}function l(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var u=o.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function d(){return o.useContext(u)}var f=t();function p(e){let{children:t,elementsRef:n,labelsRef:s,onMapChange:c}=e,l=a(c),[,d]=o.useState(!1),p=r(h).current,b=r(m).current,x=o.useRef(0),S=o.useRef(!0),C=o.useRef([]),w=o.useRef(null),T=a(()=>{S.current||(S.current=!0,d(e=>!e))}),E=a((e,t)=>{b.set(e,t),T()}),D=a(e=>{b.delete(e),T()}),O=a(e=>{let t=new Map;return n.current.length=0,s&&(s.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,s&&(s.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),x.current=n.current.length,t});function k(e){if(w.current?.disconnect(),w.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!v(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&y(r,n)>0){t.disconnect(),T();return}r=n}});w.current=t;let n=new Set;for(let t=1;tt.observe(e,{childList:!0}))}let A=a(()=>{let[e,t]=g(b),n=O(e);k(t),C.current=e,S.current=!1,p.forEach(e=>e(n)),l(n)});i(()=>(S.current||O(C.current),()=>{n.current=[],s&&(s.current=[])}),[n,s,O]),i(()=>{S.current&&A()}),i(()=>()=>{w.current?.disconnect(),S.current=!0},[]);let j=a(e=>(p.add(e),()=>{p.delete(e)})),M=o.useMemo(()=>({register:E,unregister:D,subscribeMapChange:j,nextIndexRef:x}),[E,D,j,x]);return(0,f.jsx)(u.Provider,{value:M,children:t})}function m(){return new Map}function h(){return new Set}function g(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>y(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function _(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function v(e){for(let t of e)for(let e=0;e{if(p.current===-1){let e=f.current;f.current+=1,p.current=e}return p.current}:-1),g=s??m,_=o.useRef(null),v=o.useCallback(e=>{let t=_.current;t&&l(t),_.current=e,e&&c(e,{metadata:r??null,index:s??null,label:n,textRef:a})},[s,c,l,r,n,a]);return i(()=>{if(s==null)return u(e=>{let t=_.current?e.get(_.current)?.index:null;t!=null&&h(t)})},[s,u]),{ref:v,index:g}}export{c as i,p as n,l as r,b as t}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{l as r}from"./dist.js";import{o as i,s as a}from"./button.js";function o(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var s=e(n(),1),c=s.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function l(){return s.useContext(c)}var u=t();function d(e){let{children:t,elementsRef:n,labelsRef:o,onMapChange:l}=e,d=a(l),[,v]=s.useState(!1),y=r(p).current,b=r(f).current,x=s.useRef(0),S=s.useRef(!0),C=s.useRef([]),w=s.useRef(null),T=a(()=>{S.current||(S.current=!0,v(e=>!e))}),E=a((e,t)=>{b.set(e,t),T()}),D=a(e=>{b.delete(e),T()}),O=a(e=>{let t=new Map;return n.current.length=0,o&&(o.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,o&&(o.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),x.current=n.current.length,t});function k(e){if(w.current?.disconnect(),w.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!g(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&_(r,n)>0){t.disconnect(),T();return}r=n}});w.current=t;let n=new Set;for(let t=1;tt.observe(e,{childList:!0}))}let A=a(()=>{let[e,t]=m(b),n=O(e);k(t),C.current=e,S.current=!1,y.forEach(e=>e(n)),d(n)});i(()=>(S.current||O(C.current),()=>{n.current=[],o&&(o.current=[])}),[n,o,O]),i(()=>{S.current&&A()}),i(()=>()=>{w.current?.disconnect(),S.current=!0},[]);let j=a(e=>(y.add(e),()=>{y.delete(e)})),M=s.useMemo(()=>({register:E,unregister:D,subscribeMapChange:j,nextIndexRef:x}),[E,D,j,x]);return(0,u.jsx)(c.Provider,{value:M,children:t})}function f(){return new Map}function p(){return new Set}function m(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>_(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function h(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function g(e){for(let t of e)for(let e=0;e{if(p.current===-1){let e=f.current;f.current+=1,p.current=e}return p.current}:-1),g=o??m,_=s.useRef(null),v=s.useCallback(e=>{let t=_.current;t&&u(t),_.current=e,e&&c(e,{metadata:r??null,index:o??null,label:n,textRef:a})},[o,c,u,r,n,a]);return i(()=>{if(o==null)return d(e=>{let t=_.current?e.get(_.current)?.index:null;t!=null&&h(t)})},[o,d]),{ref:v,index:g}}export{d as n,o as r,v as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/useMutation.js b/spinifex/services/spinifexui/frontend/dist/assets/useMutation.js index 456336fff..70508f70e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/useMutation.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/useMutation.js @@ -1 +1 @@ -import{a as e,r as t}from"./compiler-runtime.js";import{D as n,E as r,M as i,c as a,g as o,n as s,o as c,r as l,x as u}from"./QueryClientProvider.js";var d=class extends l{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||f(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=c({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),a.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function f(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var p=class extends i{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),r(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&o(t.mutationKey)!==o(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??f();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){a.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},m=e(t(),1);function h(e,t){let r=s(t),[i]=m.useState(()=>new p(r,e));m.useEffect(()=>{i.setOptions(e)},[i,e]);let o=m.useSyncExternalStore(m.useCallback(e=>i.subscribe(a.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),c=m.useCallback((e,t)=>{i.mutate(e,t).catch(u)},[i]);if(o.error&&n(i.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:c,mutateAsync:o.mutate}}export{d as n,h as t}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{D as n,E as r,M as i,c as a,g as o,n as s,x as c}from"./QueryClientProvider.js";import{n as l}from"./mutation.js";var u=class extends i{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),r(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&o(t.mutationKey)!==o(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??l();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){a.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},d=e(t(),1);function f(e,t){let r=s(t),[i]=d.useState(()=>new u(r,e));d.useEffect(()=>{i.setOptions(e)},[i,e]);let o=d.useSyncExternalStore(d.useCallback(e=>i.subscribe(a.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),l=d.useCallback((e,t)=>{i.mutate(e,t).catch(c)},[i]);if(o.error&&n(i.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:l,mutateAsync:o.mutate}}export{f as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/usePositioner.js b/spinifex/services/spinifexui/frontend/dist/assets/usePositioner.js new file mode 100644 index 000000000..86d92c163 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/usePositioner.js @@ -0,0 +1 @@ +import{a as e,r as t}from"./compiler-runtime.js";import{f as n,t as r}from"./useValueAsRef.js";import{a as i,n as a}from"./dist.js";import{C as o,D as s,E as c,T as l,_ as u,b as d,d as f,f as p,g as m,h,l as g,m as _,o as v,p as y,s as b,u as x,v as S,x as C,y as w}from"./button.js";import{C as T}from"./createBaseUIEventDetails.js";import{I as E,N as D,W as O}from"./useScrollLock.js";import{t as k}from"./DirectionContext.js";var A=e(t(),1),j=Math.min,M=Math.max,N=Math.round,P=Math.floor,F=e=>({x:e,y:e}),ee={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function te(e,t,n){return M(e,j(t,n))}function I(e,t){return typeof e==`function`?e(t):e}function L(e){return e.split(`-`)[0]}function R(e){return e.split(`-`)[1]}function ne(e){return e===`x`?`y`:`x`}function z(e){return e===`y`?`height`:`width`}function B(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function re(e){return ne(B(e))}function V(e,t,n){n===void 0&&(n=!1);let r=R(e),i=re(e),a=z(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=U(o)),[o,U(o)]}function ie(e){let t=U(e);return[ae(e),t,ae(t)]}function ae(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var H=[`left`,`right`],oe=[`right`,`left`],se=[`top`,`bottom`],ce=[`bottom`,`top`];function le(e,t,n){switch(e){case`top`:case`bottom`:return n?t?oe:H:t?H:oe;case`left`:case`right`:return t?se:ce;default:return[]}}function ue(e,t,n,r){let i=R(e),a=le(L(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(ae)))),a}function U(e){let t=L(e);return ee[t]+e.slice(t.length)}function de(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function fe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:de(e)}function W(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function pe(e,t,n){let{reference:r,floating:i}=e,a=B(t),o=re(t),s=z(o),c=L(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=R(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function G(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=I(t,e),p=fe(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=W(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=W(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var me=50,he=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:G},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=pe(l,r,c),f=r,p=0,m={};for(let n=0;ne<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===B(t)||T.every(e=>B(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=B(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},_e=new Set([`left`,`top`]);async function ve(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=L(n),s=R(n),c=B(n)===`y`,l=_e.has(o)?-1:1,u=a&&c?-1:1,d=I(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var K=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ve(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},q=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=I(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=B(i),p=ne(f),m=u[p],h=u[f],g=(e,t)=>te(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},ye=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=I(e,t),u={x:n,y:r},d=B(i),f=ne(d),p=u[f],m=u[d],h=I(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=_e.has(L(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},be=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=I(e,t),c=await i.detectOverflow(t,s),l=L(n),u=R(n),d=B(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=j(p-c[m],g),y=j(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*M(c.left,c.right):S=p-2*M(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function J(e){let t=g(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=d(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=N(n)!==a||N(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Y(e){return w(e)?e:e.contextElement}function X(e){let t=Y(e);if(!d(t))return F(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=J(t),o=(a?N(n.width):n.width)/r,s=(a?N(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var xe=F(0);function Z(e){let t=u(e);return!s()||!t.visualViewport?xe:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Se(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===u(e)}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Y(e),o=F(1);t&&(r?w(r)&&(o=X(r)):o=X(e));let s=Se(a,n,r)?Z(a):F(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,d=i.width/o.x,f=i.height/o.y;if(a&&r){let e=u(a),t=w(r)?u(r):r,n=e,i=p(n);for(;i&&t!==n;){let e=X(i),t=i.getBoundingClientRect(),r=g(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,d*=e.x,f*=e.y,c+=a,l+=o,n=u(i),i=p(n)}}return W({width:d,height:f,x:c,y:l})}function Ce(e,t){let n=_(e).scrollLeft;return t?t.left+n:Q(f(e)).left+n}function we(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ce(e,n),y:n.top+t.scrollTop}}function Te(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,s=f(r),l=t?c(t.floating):!1;if(r===s||l&&a)return n;let u={scrollLeft:0,scrollTop:0},p=F(1),m=F(0),h=d(r);if((h||!a)&&((y(r)!==`body`||o(s))&&(u=_(r)),h)){let e=Q(r);p=X(r),m.x=e.x+r.clientLeft,m.y=e.y+r.clientTop}let g=s&&!h&&!a?we(s,u):F(0);return{width:n.width*p.x,height:n.height*p.y,x:n.x*p.x-u.scrollLeft*p.x+m.x+g.x,y:n.y*p.y-u.scrollTop*p.y+m.y+g.y}}function Ee(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function $(e){let t=_(e),n=e.ownerDocument.body,r=M(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=M(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Ce(e),o=-t.scrollTop;return g(n).direction===`rtl`&&(a+=M(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var De=25;function Oe(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=u(e),a=f(e),o=i.visualViewport,c=a.clientWidth,l=a.clientHeight,d=0,p=0;if(o){let e=!s()||t===`fixed`;r?e||(d=-o.offsetLeft,p=-o.offsetTop):(c=o.width,l=o.height,e&&(d=o.offsetLeft,p=o.offsetTop))}if(Ce(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=De&&(c-=o)}return{width:c,height:l,x:d,y:p}}function ke(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=X(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ae(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Oe(e,n,t);else if(t===`document`)r=$(f(e));else if(w(t))r=ke(t,n);else{let n=Z(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return W(r)}function je(e,t){let n=t.get(e);if(n)return n;let r=h(e,[],!1).filter(e=>w(e)&&y(e)!==`body`),i=null,a=g(e).position===`fixed`,o=a?m(e):e;for(;w(o)&&!C(o);){let e=g(o),t=S(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=m(o)}return t.set(e,r),r}function Me(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?c(t)?[]:je(t,this._c):[].concat(n),r],o=Ae(t,a[0],i),s=o.top,l=o.right,u=o.bottom,d=o.left;for(let e=1;e{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=u(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function Ue(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Y(e),u=i||a?[...l?h(l):[],...t?h(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?He(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,g=c?Q(e):null;c&&_();function _(){let t=Q(e);g&&!Ve(g,t)&&n(),g=t,m=requestAnimationFrame(_)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var We=K,Ge=q,Ke=ge,qe=be,Je=ye,Ye=(e,t,n)=>{let r=new Map,i=n??{},a={...Be,...i.platform,_c:r};return he(e,t,{...i,platform:a})},Xe=e(n(),1),Ze=typeof document<`u`?A.useLayoutEffect:function(){};function Qe(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Qe(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Qe(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function $e(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function et(e,t){let n=$e(e);return Math.round(t*n)/n}function tt(e){let t=A.useRef(e);return Ze(()=>{t.current=e}),t}function nt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=A.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=A.useState(r);Qe(f,r)||p(r);let[m,h]=A.useState(null),[g,_]=A.useState(null),v=A.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=A.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=A.useRef(null),C=A.useRef(null),w=A.useRef(u),T=c!=null,E=tt(c),D=tt(i),O=tt(l),k=A.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Ye(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};j.current&&!Qe(w.current,t)&&(w.current=t,Xe.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Ze(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=A.useRef(!1);Ze(()=>(j.current=!0,()=>{j.current=!1}),[]),Ze(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let M=A.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),N=A.useMemo(()=>({reference:b,floating:x}),[b,x]),P=A.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=et(N.floating,u.x),r=et(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...$e(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return A.useMemo(()=>({...u,update:k,refs:M,elements:N,floatingStyles:P}),[u,k,M,N,P])}var rt=(e,t)=>{let n=We(e);return{name:n.name,fn:n.fn,options:[e,t]}},it=(e,t)=>{let n=Ge(e);return{name:n.name,fn:n.fn,options:[e,t]}},at=(e,t)=>({fn:Je(e).fn,options:[e,t]}),ot=(e,t)=>{let n=Ke(e);return{name:n.name,fn:n.fn,options:[e,t]}},st=(e,t)=>{let n=qe(e);return{name:n.name,fn:n.fn,options:[e,t]}};function ct(e){return lt(e,e.rootContext)}function lt(e,t){let{nodeId:n,externalTree:r}=e,i=t.useState(`referenceElement`),a=t.useState(`floatingElement`),o=t.useState(`domReferenceElement`),s=t.useState(`open`),c=t.useState(`floatingId`),[l,u]=A.useState(null),[d,f]=A.useState(void 0),[p,m]=A.useState(void 0),h=A.useRef(null),g=D(r),_=A.useMemo(()=>({reference:i,floating:a,domReference:o}),[i,a,o]),y=nt({...e,elements:{..._,...l&&{reference:l}}}),b=w(d)?d:null,x=p===void 0?t.state.floatingElement:p;t.useSyncedValue(`referenceElement`,d??null),t.useSyncedValue(`domReferenceElement`,d===void 0?o:b),t.useSyncedValue(`floatingElement`,x);let S=A.useCallback(e=>{let t=w(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;u(t),y.refs.setReference(t)},[y.refs]),C=A.useCallback(e=>{(w(e)||e===null)&&(h.current=e,f(e)),(w(y.refs.reference.current)||y.refs.reference.current===null||e!==null&&!w(e))&&y.refs.setReference(e)},[y.refs,f]),T=A.useCallback(e=>{m(e),y.refs.setFloating(e)},[y.refs]),E=A.useMemo(()=>({...y.refs,setReference:C,setFloating:T,setPositionReference:S,domReference:h}),[y.refs,C,T,S]),O=A.useMemo(()=>({...y.elements,domReference:o}),[y.elements,o]),k=A.useMemo(()=>({...y,dataRef:t.context.dataRef,open:s,onOpenChange:t.setOpen,events:t.context.events,floatingId:c,refs:E,elements:O,nodeId:n,rootStore:t}),[y,E,O,n,t,s,c]);return v(()=>{o&&(h.current=o)},[o]),v(()=>{t.context.dataRef.current.floatingContext=k;let e=g?.nodesRef.current.find(e=>e.id===n);e&&(e.context=k)}),A.useMemo(()=>({...y,context:k,refs:E,elements:O,rootStore:t}),[y,E,O,k,t])}var ut=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0,offsetParent:d=`real`}=I(e,t)||{};if(l==null)return{};let f=fe(u),p={x:n,y:r},m=re(i),h=z(m),g=await o.getDimensions(l),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=a.reference[h]+a.reference[m]-p[m]-a.floating[h],S=p[m]-a.reference[m],C=d===`real`?await o.getOffsetParent?.(l):s.floating,w=s.floating[b]||a.floating[h];(!w||!await o.isElement?.(C))&&(w=s.floating[b]||a.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=Math.min(f[v],E),O=Math.min(f[y],E),k=D,A=w-g[h]-O,j=w/2-g[h]/2+T,M=te(k,j,A),N=!c.arrow&&R(i)!=null&&j!==M&&a.reference[h]/2-(j({...ut(e),options:[e,t]}),ft={name:`hide`,async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,a=t===0&&n===0&&r===0&&i===0,o=await e.platform.detectOverflow(e,{elementContext:`reference`});return{data:{referenceHidden:o.top-n>=0||o.right-t>=0||o.bottom-n>=0||o.left-t>=0||a}}}},pt={sideX:`left`,sideY:`top`},mt=`--available-width`,ht=`--available-height`;function gt(e,t,n){let r=e===`inline-start`||e===`inline-end`;return{top:`top`,right:r?n?`inline-start`:`inline-end`:`right`,bottom:`bottom`,left:r?n?`inline-end`:`inline-start`:`left`}[t]}function _t(e,t,n){let{rects:r,placement:i}=e;return{side:gt(t,L(i),n),align:R(i)||`center`,anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function vt(e){return yt(e,ct)}function yt(e,t){let{anchor:n,positionMethod:i=`absolute`,side:a=`bottom`,sideOffset:o=0,align:s=`center`,alignOffset:c=0,collisionBoundary:l,collisionPadding:d=5,sticky:f=!1,arrowPadding:p=5,disableAnchorTracking:m=!1,inline:h,keepMounted:g=!1,floatingRootContext:_,mounted:y,collisionAvoidance:x,shift:S,nodeId:C,adaptiveOrigin:w,lazyFlip:E=!1,externalTree:D}=e,[O,j]=A.useState(null);!y&&O!==null&&j(null);let M=x.side||`flip`,N=x.align||`flip`,P=x.fallbackAxisSide||`end`,F=S?.crossAxis??!1,ee=S?.rootBoundary,te=typeof n==`function`?n:void 0,I=b(te),ne=te?I:n,z=r(n),re=r(y),V=k()===`rtl`,ie=O||{top:`top`,right:`right`,bottom:`bottom`,left:`left`,"inline-end":V?`left`:`right`,"inline-start":V?`right`:`left`}[a],ae=s===`center`?ie:`${ie}-${s}`,H=d;typeof H==`number`?H={top:H,right:H,bottom:H,left:H}:H&&={top:H.top||0,right:H.right||0,bottom:H.bottom||0,left:H.left||0};let oe=+(a===`bottom`),se=+(a===`top`),ce=+(a===`right`),le=+(a===`left`),ue={boundary:l===`clipping-ancestors`?`clippingAncestors`:l,padding:H},U=A.useRef(null),de=r(o),fe=r(c),W=typeof o==`function`?0:o,pe=typeof c==`function`?0:c,G=[];h&&G.push(h),G.push(rt(e=>{let t=_t(e,a,V),n=typeof de.current==`function`?de.current(t):de.current,r=typeof fe.current==`function`?fe.current(t):fe.current;return{mainAxis:n,crossAxis:r,alignmentAxis:r}},[W,pe,V,a]));let me=N===`none`&&M!==`shift`,he=!me&&(f||F||M===`shift`),ge=M===`none`?null:ot({...ue,padding:{top:H.top+1+oe,right:H.right+1+le,bottom:H.bottom+1+se,left:H.left+1+ce},mainAxis:!F&&M===`flip`,crossAxis:N===`flip`&&`alignment`,fallbackAxisSideDirection:P}),_e=me?null:it({...ue,rootBoundary:ee,mainAxis:N!==`none`,crossAxis:he,limiter:f||F?void 0:at(e=>{if(!U.current)return{};let{width:t,height:n}=U.current.getBoundingClientRect(),r=B(L(e.placement)),i=r===`y`?t:n,a=r===`y`?H.left+H.right:H.top+H.bottom;return{offset:i/2+a/2}})},[ue,f,F,ee,H,N]);M===`shift`||N===`shift`||s===`center`?G.push(_e,ge):G.push(ge,_e),G.push(st({...ue,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){if(!re.current)return;let i=e.style;i.setProperty(mt,`${t}px`),i.setProperty(ht,`${n}px`);let a=u(e).devicePixelRatio||1,{x:o,y:s,width:c,height:l}=r.reference,d=(Math.round((o+c)*a)-Math.round(o*a))/a,f=(Math.round((s+l)*a)-Math.round(s*a))/a;i.setProperty(`--anchor-width`,`${d}px`),i.setProperty(`--anchor-height`,`${f}px`)}}),dt(e=>({element:U.current||T(e.elements.floating).createElement(`div`),padding:p,offsetParent:`floating`}),[p]),{name:`transformOrigin`,fn(e){let{elements:t,middlewareData:n,placement:r,rects:i,y:s}=e,c=L(r),l=B(c),u=U.current,d=n.arrow?.x||0,f=n.arrow?.y||0,p=u?.clientWidth||0,m=u?.clientHeight||0,h=d+p/2,g=f+m/2,_=Math.abs(n.shift?.y||0),v=i.reference.height/2,y=typeof o==`function`?o(_t(e,a,V)):o,b=_>y,x={top:`${h}px calc(100% + ${y}px)`,bottom:`${h}px ${-y}px`,left:`calc(100% + ${y}px) ${g}px`,right:`${-y}px ${g}px`}[c],S=`${h}px ${i.reference.y+v-s}px`;return t.floating.style.setProperty(`--transform-origin`,he&&l===`y`&&b?S:x),{}}},ft,w),v(()=>{!y&&_&&_.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[y,_]);let ve=A.useMemo(()=>({elementResize:!m&&typeof ResizeObserver<`u`,layoutShift:!m&&typeof IntersectionObserver<`u`}),[m]),{refs:K,elements:q,x:ye,y:be,middlewareData:J,update:Y,placement:X,context:xe,isPositioned:Z,floatingStyles:Se}=t({rootContext:_,open:g?y:void 0,placement:ae,middleware:G,strategy:i,whileElementsMounted:g?void 0:(...e)=>Ue(...e,ve),nodeId:C,externalTree:D}),{sideX:Q,sideY:Ce}=J.adaptiveOrigin||pt,we=Z?i:`fixed`,Te=A.useMemo(()=>{let e;return e=Z?w?{position:we,[Q]:ye,[Ce]:be}:{...Se,position:we}:{position:we,top:0,left:0},e[mt]=`100vw`,e[ht]=`100vh`,Z||(e.opacity=0),e},[w,we,Q,ye,Ce,be,Se,Z]),Ee=A.useRef(null);v(()=>{if(!y)return;let e=z.current,t=typeof e==`function`?e():e,n=(bt(t)?t.current:t)||null;n!==Ee.current&&(K.setPositionReference(n),Ee.current=n)},[y,K,ne,z]),A.useEffect(()=>{if(!y)return;let e=z.current;typeof e!=`function`&&bt(e)&&e.current!==Ee.current&&(K.setPositionReference(e.current),Ee.current=e.current)},[y,K,ne,z]),A.useEffect(()=>{if(g&&y&&q.reference&&q.floating)return Ue(q.reference,q.floating,Y,ve)},[g,y,q,Y,ve]);let $=L(X),De=gt(a,$,V),Oe=R(X)||`center`,ke=!!J.hide?.referenceHidden;v(()=>{E&&y&&Z&&$!==ie&&j($)},[E,y,Z,$,ie]);let Ae=A.useMemo(()=>({position:`absolute`,top:J.arrow?.y,left:J.arrow?.x}),[J.arrow]),je=J.arrow?.centerOffset!==0;return A.useMemo(()=>({positionerStyles:Te,arrowStyles:Ae,arrowRef:U,arrowUncentered:je,side:De,align:Oe,physicalSide:$,anchorHidden:ke,refs:K,context:xe,isPositioned:Z,update:Y}),[Te,Ae,U,je,De,Oe,$,ke,K,xe,Z,Y])}function bt(e){return e!=null&&`current`in e}function xt(e){return e===`starting`?E:i}function St(e,t,{styles:n,transitionStatus:r,props:i,refs:o,hidden:s,inert:c=!1}){let l={...n};return c&&(l.pointerEvents=`none`),a(`div`,e,{state:t,ref:o,props:[{role:`presentation`,hidden:s,style:l},xt(r),i],stateAttributesMapping:O})}export{W as a,Be as i,xt as n,vt as r,St as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/index.html b/spinifex/services/spinifexui/frontend/dist/index.html index 430c69c01..fdc3223db 100644 --- a/spinifex/services/spinifexui/frontend/dist/index.html +++ b/spinifex/services/spinifexui/frontend/dist/index.html @@ -10,10 +10,8 @@ - - - - + + @@ -28,17 +26,7 @@ - - - - - - - - - - @@ -48,20 +36,20 @@ - - - - + + + + + + - - + + - - @@ -73,13 +61,7 @@ - - - - - - - + diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/-components/run-instances-page.test.tsx similarity index 96% rename from spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.test.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/-components/run-instances-page.test.tsx index 29e539652..88e6fcd9b 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.test.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/-components/run-instances-page.test.tsx @@ -14,7 +14,6 @@ vi.mock("@tanstack/react-router", async (importOriginal) => { return { ...actual, useNavigate: () => vi.fn(), - useSearch: () => ({}), Link: ({ children, to }: { children: ReactNode; to?: string }) => ( {children} ), @@ -32,7 +31,7 @@ import { ec2VpcsQueryOptions, } from "@/queries/ec2" -import { CreateInstance } from "./run-instances" +import { RunInstancesPage } from "./run-instances-page" const INSTANCE_TYPES = [ { InstanceType: "t3.nano" }, @@ -97,7 +96,7 @@ function setup() { $metadata: {}, LaunchTemplates: [], }) - return renderWithClient(, queryClient) + return renderWithClient(, queryClient) } describe("run-instances instance type picker", () => { diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/-components/run-instances-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/-components/run-instances-page.tsx new file mode 100644 index 000000000..78402b781 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/-components/run-instances-page.tsx @@ -0,0 +1,1143 @@ +import type { LaunchTemplateVersion } from "@aws-sdk/client-ec2" +import { zodResolver } from "@hookform/resolvers/zod" +import { useQuery, useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { ChevronDown } from "lucide-react" +import { useEffect } from "react" +import { Controller, useForm, useWatch } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + type CliCommand, +} from "@/components/cli-command-panel" +import { ErrorBanner } from "@/components/error-banner" +import { GpuInstanceTypeSelect } from "@/components/gpu-instance-type-select" +import { PageHeading } from "@/components/page-heading" +import { Button } from "@/components/ui/button" +import { + Collapsible, + CollapsibleContent, + CollapsibleTrigger, +} from "@/components/ui/collapsible" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { formatVRAMMiB } from "@/lib/utils" +import { useCreateInstance } from "@/mutations/ec2" +import { + ec2ImagesQueryOptions, + ec2InstanceTypesQueryOptions, + ec2KeyPairsQueryOptions, + ec2LaunchTemplatesQueryOptions, + ec2LaunchTemplateVersionsQueryOptions, + ec2PlacementGroupsQueryOptions, + ec2SecurityGroupsQueryOptions, + ec2SubnetsQueryOptions, + ec2VpcsQueryOptions, +} from "@/queries/ec2" +import { + type CreateInstanceFormData, + type CreateInstanceParams, + VOLUME_TYPES, + createInstanceSchema, + nextLaunchWizardName, +} from "@/types/ec2" + +const DEFAULT_ROOT_DEVICE_NAME = "/dev/sda1" +const DEFAULT_VOLUME_TYPE = "gp3" +const MIN_VOLUME_SIZE_GIB = 1 +const MAX_VOLUME_SIZE_GIB = 16_384 +interface RunInstancesPageProps { + launchTemplateId?: string + launchTemplateVersion?: string +} + +export function RunInstancesPage({ + launchTemplateId, + launchTemplateVersion, +}: RunInstancesPageProps) { + const navigate = useNavigate() + const { data: imagesData } = useSuspenseQuery(ec2ImagesQueryOptions) + const { data: keyPairsData } = useSuspenseQuery(ec2KeyPairsQueryOptions) + const { data: instanceTypesData } = useSuspenseQuery( + ec2InstanceTypesQueryOptions, + ) + const { data: subnetsData } = useSuspenseQuery(ec2SubnetsQueryOptions) + const { data: pgData } = useSuspenseQuery(ec2PlacementGroupsQueryOptions) + const { data: vpcsData } = useSuspenseQuery(ec2VpcsQueryOptions) + const { data: sgData } = useSuspenseQuery(ec2SecurityGroupsQueryOptions) + const { data: ltData } = useSuspenseQuery(ec2LaunchTemplatesQueryOptions) + const createMutation = useCreateInstance() + const images = imagesData.Images ?? [] + const keyPairs = keyPairsData.KeyPairs ?? [] + const subnets = subnetsData.Subnets ?? [] + const placementGroups = pgData.PlacementGroups ?? [] + const vpcs = vpcsData.Vpcs ?? [] + const securityGroups = sgData.SecurityGroups ?? [] + const launchTemplates = ltData.LaunchTemplates ?? [] + const defaultVpcId = (vpcs.find((v) => v.IsDefault) ?? vpcs[0])?.VpcId + const defaultSgName = nextLaunchWizardName( + securityGroups.map((sg) => sg.GroupName ?? ""), + ) + const instanceTypeCounts: Record = {} + for (const type of instanceTypesData.InstanceTypes ?? []) { + const typeName = type.InstanceType + if (!typeName) { + continue + } + instanceTypeCounts[typeName] = (instanceTypeCounts[typeName] ?? 0) + 1 + } + + const uniqueInstanceTypes = Object.keys(instanceTypeCounts).toSorted() + + // Compute default values from loaded data + const defaultImageId = images[0]?.ImageId + const defaultKeyName = keyPairs[0]?.KeyName + const defaultInstanceType = + uniqueInstanceTypes.find((type) => type.endsWith(".nano")) ?? + uniqueInstanceTypes[0] + const defaultRoot = getRootMapping( + images.find((img) => img.ImageId === defaultImageId), + ) + + const { + control, + handleSubmit, + register, + setValue, + getValues, + watch, + formState: { errors, isSubmitting }, + } = useForm({ + resolver: zodResolver( + createInstanceSchema + .refine( + (data) => + !data.instanceType || + data.count <= (instanceTypeCounts[data.instanceType] ?? 1), + { + message: "Cannot exceed available capacity", + path: ["count"], + }, + ) + .superRefine((data, ctx) => { + const minSize = getRootMapping( + images.find((img) => img.ImageId === data.imageId), + ).snapshotSize + if ( + data.rootVolumeSize !== undefined && + minSize !== undefined && + data.rootVolumeSize < minSize + ) { + ctx.addIssue({ + code: "custom", + message: `Volume size must be at least ${minSize} GiB (AMI snapshot size)`, + path: ["rootVolumeSize"], + }) + } + }), + ), + defaultValues: { + count: 1, + imageId: defaultImageId ?? "", + keyName: defaultKeyName ?? "", + instanceType: defaultInstanceType ?? "", + launchTemplateId, + launchTemplateVersion: launchTemplateVersion ?? "$Default", + rootDeviceName: defaultRoot.deviceName, + securityGroupMode: "create", + securityGroupIds: [], + newSgName: defaultSgName, + newSgDescription: "Created by launch wizard", + allowSsh: true, + allowHttp: false, + allowHttps: false, + ruleSource: "anywhere", + customCidr: "", + }, + }) + + const selectedInstanceType = useWatch({ control, name: "instanceType" }) + const maxCount = selectedInstanceType + ? (instanceTypeCounts[selectedInstanceType] ?? 1) + : 1 + const selectedTypeInfo = instanceTypesData.InstanceTypes?.find( + (t) => t.InstanceType === selectedInstanceType, + ) + const selectedGpuDevice = selectedTypeInfo?.GpuInfo?.Gpus?.[0] + const selectedGpuMigProfile = selectedGpuDevice?.Name?.startsWith("MIG ") + ? selectedGpuDevice.Name.slice("MIG ".length) + : undefined + const selectedImageId = useWatch({ control, name: "imageId" }) + const selectedRoot = getRootMapping( + images.find((img) => img.ImageId === selectedImageId), + ) + + const selectedSubnetId = useWatch({ control, name: "subnetId" }) + const sgMode = useWatch({ control, name: "securityGroupMode" }) + const ruleSource = useWatch({ control, name: "ruleSource" }) + const selectedSgIds = useWatch({ control, name: "securityGroupIds" }) ?? [] + const selectedSgIdSet = new Set(selectedSgIds) + + // Launch template: when one is selected the instance is launched from it and + // the direct-config fields below are hidden — the template supplies them. + const selectedTemplateId = useWatch({ control, name: "launchTemplateId" }) + const selectedTemplateVersion = useWatch({ + control, + name: "launchTemplateVersion", + }) + const templateVersionsQuery = useQuery({ + ...ec2LaunchTemplateVersionsQueryOptions(selectedTemplateId ?? ""), + enabled: !!selectedTemplateId, + }) + const templateVersions = + templateVersionsQuery.data?.LaunchTemplateVersions ?? [] + const resolvedTemplateData = resolveTemplateVersion( + templateVersions, + selectedTemplateVersion, + )?.LaunchTemplateData + const effectiveVpcId = + subnets.find((s) => s.SubnetId === selectedSubnetId)?.VpcId ?? defaultVpcId + const vpcSecurityGroups = effectiveVpcId + ? securityGroups.filter((sg) => sg.VpcId === effectiveVpcId) + : securityGroups + + const toggleSg = (sgId: string) => { + const current = getValues("securityGroupIds") ?? [] + const next = current.includes(sgId) + ? current.filter((id) => id !== sgId) + : [...current, sgId] + setValue("securityGroupIds", next, { shouldValidate: true }) + } + + // Re-prefill DeviceName when the user picks a different AMI. Size / type / + // delete-on-termination stay blank by default so an unchanged form sends + // no BlockDeviceMappings (preserves today's backend default). + useEffect(() => { + setValue("rootDeviceName", selectedRoot.deviceName) + }, [selectedImageId, selectedRoot.deviceName, setValue]) + + const onSubmit = async (data: CreateInstanceFormData) => { + // Launch wholly from the template (plus count). Build params from only the + // fields that apply so no direct-config field — including hidden ones left + // in form state — overrides what the template defines. + const params: CreateInstanceParams = data.launchTemplateId + ? { + count: data.count, + launchTemplateId: data.launchTemplateId, + launchTemplateVersion: data.launchTemplateVersion, + resolvedVpcId: effectiveVpcId, + } + : { ...data, resolvedVpcId: effectiveVpcId } + await createMutation.mutateAsync(params) + navigate({ to: "/ec2/describe-instances" }) + } + + return ( + <> + Back to instances + + + {/* Handle error when no instance types available */} + {uniqueInstanceTypes.length === 0 && !selectedTemplateId && ( + + )} + + {/* Handle error after submission */} + {createMutation.error && ( + + )} + +
+ {/* Launch template */} + + + + + ( + + )} + /> + + + {selectedTemplateId && ( + + + + + ( + + )} + /> + {resolvedTemplateData && ( +
+

+ Configuration from this version: +

+

+ Image:{" "} + + {resolvedTemplateData.ImageId ?? "—"} + +

+

+ Instance type:{" "} + + {resolvedTemplateData.InstanceType ?? "—"} + +

+

+ Key pair:{" "} + + {resolvedTemplateData.KeyName ?? "—"} + +

+
+ )} +
+ )} + + {!selectedTemplateId && ( + <> + {/* ImageSelection */} + + + + + { + const selectedImage = images.find( + (img) => img.ImageId === field.value, + ) + return ( + + ) + }} + /> + + + + {/* Instance Type */} + + + + + ( + + )} + /> + {selectedGpuDevice && ( + + GPU: {selectedGpuDevice.Name} + {selectedGpuDevice.MemoryInfo?.SizeInMiB !== undefined && + ` · ${formatVRAMMiB(selectedGpuDevice.MemoryInfo.SizeInMiB)} VRAM`} + {selectedGpuMigProfile && + ` · MIG ${selectedGpuMigProfile} slice`} + + )} + + + + {/* Key Pair */} + + + + + ( + + )} + /> + + + + {/* Subnet */} + + + + + ( + + )} + /> + + + {/* Security Groups */} + + Security Group + + {effectiveVpcId + ? `Applies to VPC ${effectiveVpcId}` + : "No VPC resolved — select a subnet"} + + ( +
+ + +
+ )} + /> + + {sgMode === "create" ? ( +
+ + + + + + + + + + + + + + + + + Inbound rules +
+ ( + + )} + /> + ( + + )} + /> + ( + + )} + /> +
+
+ + + Source + ( +
+ + +
+ )} + /> + {ruleSource === "custom" && ( +
+ + +
+ )} +
+
+ ) : ( +
+ {vpcSecurityGroups.length === 0 ? ( +

+ No security groups in the resolved VPC. +

+ ) : ( +
+ {vpcSecurityGroups.map((sg) => ( + + ))} +
+ )} + +
+ )} +
+ + {/* Placement Group */} + + + + + ( + + )} + /> + + + )} + + {/* Instance Count */} + + + + + +

+ {selectedInstanceType && + `Available capacity for ${selectedInstanceType}: ${maxCount}`} +

+ +
+ + {!selectedTemplateId && ( + <> + {/* Block Device Mappings (root volume) — collapsed by default */} + + + } + > + Block Device Mappings (root volume) + + + + + + + + + + + + + + + + + value === "" || value === null || value === undefined + ? undefined + : Number(value), + })} + /> + {selectedRoot.snapshotSize !== undefined && ( + + AMI snapshot size: {selectedRoot.snapshotSize} GiB + + )} + + + + + + + + ( + + )} + /> + + + + + ( + + )} + /> + + + + + )} + + + + {/* Actions */} +
+ + +
+ + + ) +} + +interface RootMappingDefaults { + deviceName: string + snapshotSize: number | undefined +} + +interface ImageLike { + RootDeviceName?: string + BlockDeviceMappings?: { DeviceName?: string; Ebs?: { VolumeSize?: number } }[] +} + +function getRootMapping(image: ImageLike | undefined): RootMappingDefaults { + const deviceName = image?.RootDeviceName ?? DEFAULT_ROOT_DEVICE_NAME + const mappings = image?.BlockDeviceMappings ?? [] + const root = mappings.find((m) => m.DeviceName === deviceName) ?? mappings[0] + return { + deviceName, + snapshotSize: root?.Ebs?.VolumeSize, + } +} + +// resolveTemplateVersion maps a version selector ($Default, $Latest or a +// numbered version) onto the matching describe-versions entry. +function resolveTemplateVersion( + versions: LaunchTemplateVersion[], + selected: string | undefined, +): LaunchTemplateVersion | undefined { + if (versions.length === 0) { + return undefined + } + if (!selected || selected === "$Default") { + return versions.find((v) => v.DefaultVersion) ?? versions[0] + } + if (selected === "$Latest") { + return versions.toSorted( + (a, b) => (b.VersionNumber ?? 0) - (a.VersionNumber ?? 0), + )[0] + } + const num = Number(selected) + return versions.find((v) => v.VersionNumber === num) +} + +function buildRunInstancesCommands( + watch: (name?: string) => unknown, + vpcId: string | undefined, +): CliCommand[] { + const rawLaunchTemplateId = watch("launchTemplateId") + const launchTemplateId = + typeof rawLaunchTemplateId === "string" ? rawLaunchTemplateId : "" + if (launchTemplateId) { + const rawTemplateVersion = watch("launchTemplateVersion") + const templateVersion = + typeof rawTemplateVersion === "string" && rawTemplateVersion + ? rawTemplateVersion + : "$Default" + const rawTemplateCount = watch("count") + const templateCount = + typeof rawTemplateCount === "number" ? rawTemplateCount : 0 + return [ + { + label: "Run Instances", + parts: [ + { + type: "bin" as const, + value: "AWS_PROFILE=spinifex aws ec2 run-instances", + }, + { type: "flag" as const, value: " \\\n --launch-template" }, + { + type: "value" as const, + value: ` LaunchTemplateId=${launchTemplateId},Version=${templateVersion}`, + }, + { type: "flag" as const, value: " \\\n --count" }, + { type: "value" as const, value: ` ${templateCount || 1}` }, + ], + }, + ] + } + + const rawImageId = watch("imageId") + const imageId = typeof rawImageId === "string" ? rawImageId : "" + const rawInstanceType = watch("instanceType") + const instanceType = + typeof rawInstanceType === "string" ? rawInstanceType : "" + const rawKeyName = watch("keyName") + const keyName = typeof rawKeyName === "string" ? rawKeyName : "" + const rawSubnetId = watch("subnetId") + const subnetId = typeof rawSubnetId === "string" ? rawSubnetId : "" + const rawPlacementGroupName = watch("placementGroupName") + const placementGroupName = + typeof rawPlacementGroupName === "string" ? rawPlacementGroupName : "" + const rawCount = watch("count") + const count = typeof rawCount === "number" ? rawCount : 0 + const rawRootDeviceName = watch("rootDeviceName") + const rootDeviceName = + typeof rawRootDeviceName === "string" ? rawRootDeviceName : "" + const rawRootVolumeSize = watch("rootVolumeSize") + const rootVolumeSize = + typeof rawRootVolumeSize === "number" ? rawRootVolumeSize : undefined + const rawRootVolumeType = watch("rootVolumeType") + const rootVolumeType = + typeof rawRootVolumeType === "string" ? rawRootVolumeType : "" + const rawRootDeleteOnTermination = watch("rootDeleteOnTermination") + const rootDeleteOnTermination = + typeof rawRootDeleteOnTermination === "boolean" + ? rawRootDeleteOnTermination + : true + + const parts = [ + { + type: "bin" as const, + value: "AWS_PROFILE=spinifex aws ec2 run-instances", + }, + { type: "flag" as const, value: " \\\n --image-id" }, + { type: "value" as const, value: ` ${imageId || ""}` }, + { type: "flag" as const, value: " \\\n --instance-type" }, + { type: "value" as const, value: ` ${instanceType || ""}` }, + { type: "flag" as const, value: " \\\n --key-name" }, + { type: "value" as const, value: ` ${keyName || ""}` }, + ] + + if (subnetId) { + parts.push( + { type: "flag" as const, value: " \\\n --subnet-id" }, + { type: "value" as const, value: ` ${subnetId}` }, + ) + } + + if (placementGroupName) { + parts.push( + { type: "flag" as const, value: " \\\n --placement" }, + { type: "value" as const, value: ` GroupName=${placementGroupName}` }, + ) + } + + parts.push( + { type: "flag" as const, value: " \\\n --count" }, + { type: "value" as const, value: ` ${count || 1}` }, + ) + + // Security groups — create-new emits create + authorize commands and feeds + // $SG_ID into run-instances; select-existing passes the chosen IDs. + const rawSgMode = watch("securityGroupMode") + const sgMode = typeof rawSgMode === "string" ? rawSgMode : "create" + const rawNewSgName = watch("newSgName") + const sgName = typeof rawNewSgName === "string" ? rawNewSgName : "" + const rawNewSgDesc = watch("newSgDescription") + const sgDesc = typeof rawNewSgDesc === "string" ? rawNewSgDesc : "" + const rawRuleSource = watch("ruleSource") + const ruleSource = + typeof rawRuleSource === "string" ? rawRuleSource : "anywhere" + const rawCustomCidr = watch("customCidr") + const customCidr = typeof rawCustomCidr === "string" ? rawCustomCidr : "" + const sgCommands: CliCommand[] = [] + if (sgMode === "create") { + sgCommands.push({ + label: "Create security group", + parts: [ + { + type: "bin" as const, + value: "SG_ID=$(AWS_PROFILE=spinifex aws ec2 create-security-group", + }, + { type: "flag" as const, value: " \\\n --group-name" }, + { type: "value" as const, value: ` ${sgName || ""}` }, + { type: "flag" as const, value: " \\\n --description" }, + { + type: "value" as const, + value: ` '${sgDesc || "Created by launch wizard"}'`, + }, + { type: "flag" as const, value: " \\\n --vpc-id" }, + { type: "value" as const, value: ` ${vpcId ?? ""}` }, + { type: "flag" as const, value: " \\\n --query" }, + { type: "value" as const, value: " 'GroupId' --output text)" }, + ], + }) + + const cidr = + ruleSource === "custom" && customCidr ? customCidr : "0.0.0.0/0" + const ports = [ + ...(watch("allowSsh") === true ? [22] : []), + ...(watch("allowHttp") === true ? [80] : []), + ...(watch("allowHttps") === true ? [443] : []), + ] + if (ports.length > 0) { + const ipPerms = JSON.stringify( + ports.map((port) => ({ + IpProtocol: "tcp", + FromPort: port, + ToPort: port, + IpRanges: [{ CidrIp: cidr }], + })), + ) + sgCommands.push({ + label: "Authorize inbound rules", + parts: [ + { + type: "bin" as const, + value: + "AWS_PROFILE=spinifex aws ec2 authorize-security-group-ingress", + }, + { type: "flag" as const, value: " \\\n --group-id" }, + { type: "value" as const, value: " $SG_ID" }, + { type: "flag" as const, value: " \\\n --ip-permissions" }, + { type: "value" as const, value: ` '${ipPerms}'` }, + ], + }) + } + parts.push( + { type: "flag" as const, value: " \\\n --security-group-ids" }, + { type: "value" as const, value: " $SG_ID" }, + ) + } else { + const rawSgIds = watch("securityGroupIds") + const sgIds = Array.isArray(rawSgIds) + ? rawSgIds.filter((id): id is string => typeof id === "string") + : [] + if (sgIds.length > 0) { + parts.push( + { type: "flag" as const, value: " \\\n --security-group-ids" }, + { type: "value" as const, value: ` ${sgIds.join(" ")}` }, + ) + } + } + + const hasStorageOverride = + rootVolumeSize !== undefined || + rawRootVolumeType !== undefined || + rawRootDeleteOnTermination !== undefined + if (hasStorageOverride) { + const ebs: Record = {} + if (rootVolumeSize !== undefined) { + ebs.VolumeSize = rootVolumeSize + } + if (rootVolumeType) { + ebs.VolumeType = rootVolumeType + } + if (rawRootDeleteOnTermination !== undefined) { + ebs.DeleteOnTermination = rootDeleteOnTermination + } + const bdm = JSON.stringify([ + { + DeviceName: rootDeviceName || DEFAULT_ROOT_DEVICE_NAME, + Ebs: ebs, + }, + ]) + parts.push( + { type: "flag" as const, value: " \\\n --block-device-mappings" }, + { type: "value" as const, value: ` '${bdm}'` }, + ) + } + + return [...sgCommands, { label: "Run Instances", parts }] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx index b4e708e0d..ac59b1bbf 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx @@ -1,64 +1,17 @@ -import type { LaunchTemplateVersion } from "@aws-sdk/client-ec2" -import { zodResolver } from "@hookform/resolvers/zod" -import { useQuery, useSuspenseQuery } from "@tanstack/react-query" -import { createFileRoute, useNavigate, useSearch } from "@tanstack/react-router" -import { ChevronDown } from "lucide-react" -import { useEffect } from "react" -import { Controller, useForm, useWatch } from "react-hook-form" +import { createFileRoute } from "@tanstack/react-router" -import { BackLink } from "@/components/back-link" -import { - CliCommandPanel, - type CliCommand, -} from "@/components/cli-command-panel" -import { ErrorBanner } from "@/components/error-banner" -import { GpuInstanceTypeSelect } from "@/components/gpu-instance-type-select" -import { PageHeading } from "@/components/page-heading" -import { Button } from "@/components/ui/button" -import { - Collapsible, - CollapsibleContent, - CollapsibleTrigger, -} from "@/components/ui/collapsible" -import { - Field, - FieldDescription, - FieldError, - FieldTitle, -} from "@/components/ui/field" -import { Input } from "@/components/ui/input" -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select" -import { formatVRAMMiB } from "@/lib/utils" -import { useCreateInstance } from "@/mutations/ec2" import { ec2ImagesQueryOptions, ec2InstanceTypesQueryOptions, ec2KeyPairsQueryOptions, ec2LaunchTemplatesQueryOptions, - ec2LaunchTemplateVersionsQueryOptions, ec2PlacementGroupsQueryOptions, ec2SecurityGroupsQueryOptions, ec2SubnetsQueryOptions, ec2VpcsQueryOptions, } from "@/queries/ec2" -import { - type CreateInstanceFormData, - type CreateInstanceParams, - VOLUME_TYPES, - createInstanceSchema, - nextLaunchWizardName, -} from "@/types/ec2" -const DEFAULT_ROOT_DEVICE_NAME = "/dev/sda1" -const DEFAULT_VOLUME_TYPE = "gp3" -const MIN_VOLUME_SIZE_GIB = 1 -const MAX_VOLUME_SIZE_GIB = 16_384 +import { RunInstancesPage } from "./-components/run-instances-page" export const Route = createFileRoute("/_auth/ec2/(instances)/run-instances")({ validateSearch: ( @@ -92,1081 +45,15 @@ export const Route = createFileRoute("/_auth/ec2/(instances)/run-instances")({ }, ], }), - component: CreateInstance, + component: RouteComponent, }) -export function CreateInstance() { - const navigate = useNavigate() - const search = useSearch({ from: Route.id }) - const { data: imagesData } = useSuspenseQuery(ec2ImagesQueryOptions) - const { data: keyPairsData } = useSuspenseQuery(ec2KeyPairsQueryOptions) - const { data: instanceTypesData } = useSuspenseQuery( - ec2InstanceTypesQueryOptions, - ) - const { data: subnetsData } = useSuspenseQuery(ec2SubnetsQueryOptions) - const { data: pgData } = useSuspenseQuery(ec2PlacementGroupsQueryOptions) - const { data: vpcsData } = useSuspenseQuery(ec2VpcsQueryOptions) - const { data: sgData } = useSuspenseQuery(ec2SecurityGroupsQueryOptions) - const { data: ltData } = useSuspenseQuery(ec2LaunchTemplatesQueryOptions) - const createMutation = useCreateInstance() - const images = imagesData.Images ?? [] - const keyPairs = keyPairsData.KeyPairs ?? [] - const subnets = subnetsData.Subnets ?? [] - const placementGroups = pgData.PlacementGroups ?? [] - const vpcs = vpcsData.Vpcs ?? [] - const securityGroups = sgData.SecurityGroups ?? [] - const launchTemplates = ltData.LaunchTemplates ?? [] - const defaultVpcId = (vpcs.find((v) => v.IsDefault) ?? vpcs[0])?.VpcId - const defaultSgName = nextLaunchWizardName( - securityGroups.map((sg) => sg.GroupName ?? ""), - ) - const instanceTypeCounts: Record = {} - for (const type of instanceTypesData.InstanceTypes ?? []) { - const typeName = type.InstanceType - if (!typeName) { - continue - } - instanceTypeCounts[typeName] = (instanceTypeCounts[typeName] ?? 0) + 1 - } - - const uniqueInstanceTypes = Object.keys(instanceTypeCounts).toSorted() - - // Compute default values from loaded data - const defaultImageId = images[0]?.ImageId - const defaultKeyName = keyPairs[0]?.KeyName - const defaultInstanceType = - uniqueInstanceTypes.find((type) => type.endsWith(".nano")) ?? - uniqueInstanceTypes[0] - const defaultRoot = getRootMapping( - images.find((img) => img.ImageId === defaultImageId), - ) - - const { - control, - handleSubmit, - register, - setValue, - getValues, - watch, - formState: { errors, isSubmitting }, - } = useForm({ - resolver: zodResolver( - createInstanceSchema - .refine( - (data) => - !data.instanceType || - data.count <= (instanceTypeCounts[data.instanceType] ?? 1), - { - message: "Cannot exceed available capacity", - path: ["count"], - }, - ) - .superRefine((data, ctx) => { - const minSize = getRootMapping( - images.find((img) => img.ImageId === data.imageId), - ).snapshotSize - if ( - data.rootVolumeSize !== undefined && - minSize !== undefined && - data.rootVolumeSize < minSize - ) { - ctx.addIssue({ - code: "custom", - message: `Volume size must be at least ${minSize} GiB (AMI snapshot size)`, - path: ["rootVolumeSize"], - }) - } - }), - ), - defaultValues: { - count: 1, - imageId: defaultImageId ?? "", - keyName: defaultKeyName ?? "", - instanceType: defaultInstanceType ?? "", - launchTemplateId: search.launchTemplateId, - launchTemplateVersion: search.launchTemplateVersion ?? "$Default", - rootDeviceName: defaultRoot.deviceName, - securityGroupMode: "create", - securityGroupIds: [], - newSgName: defaultSgName, - newSgDescription: "Created by launch wizard", - allowSsh: true, - allowHttp: false, - allowHttps: false, - ruleSource: "anywhere", - customCidr: "", - }, - }) - - const selectedInstanceType = useWatch({ control, name: "instanceType" }) - const maxCount = selectedInstanceType - ? (instanceTypeCounts[selectedInstanceType] ?? 1) - : 1 - const selectedTypeInfo = instanceTypesData.InstanceTypes?.find( - (t) => t.InstanceType === selectedInstanceType, - ) - const selectedGpuDevice = selectedTypeInfo?.GpuInfo?.Gpus?.[0] - const selectedGpuMigProfile = selectedGpuDevice?.Name?.startsWith("MIG ") - ? selectedGpuDevice.Name.slice("MIG ".length) - : undefined - const selectedImageId = useWatch({ control, name: "imageId" }) - const selectedRoot = getRootMapping( - images.find((img) => img.ImageId === selectedImageId), - ) - - const selectedSubnetId = useWatch({ control, name: "subnetId" }) - const sgMode = useWatch({ control, name: "securityGroupMode" }) - const ruleSource = useWatch({ control, name: "ruleSource" }) - const selectedSgIds = useWatch({ control, name: "securityGroupIds" }) ?? [] - const selectedSgIdSet = new Set(selectedSgIds) - - // Launch template: when one is selected the instance is launched from it and - // the direct-config fields below are hidden — the template supplies them. - const selectedTemplateId = useWatch({ control, name: "launchTemplateId" }) - const selectedTemplateVersion = useWatch({ - control, - name: "launchTemplateVersion", - }) - const templateVersionsQuery = useQuery({ - ...ec2LaunchTemplateVersionsQueryOptions(selectedTemplateId ?? ""), - enabled: !!selectedTemplateId, - }) - const templateVersions = - templateVersionsQuery.data?.LaunchTemplateVersions ?? [] - const resolvedTemplateData = resolveTemplateVersion( - templateVersions, - selectedTemplateVersion, - )?.LaunchTemplateData - const effectiveVpcId = - subnets.find((s) => s.SubnetId === selectedSubnetId)?.VpcId ?? defaultVpcId - const vpcSecurityGroups = effectiveVpcId - ? securityGroups.filter((sg) => sg.VpcId === effectiveVpcId) - : securityGroups - - const toggleSg = (sgId: string) => { - const current = getValues("securityGroupIds") ?? [] - const next = current.includes(sgId) - ? current.filter((id) => id !== sgId) - : [...current, sgId] - setValue("securityGroupIds", next, { shouldValidate: true }) - } - - // Re-prefill DeviceName when the user picks a different AMI. Size / type / - // delete-on-termination stay blank by default so an unchanged form sends - // no BlockDeviceMappings (preserves today's backend default). - useEffect(() => { - setValue("rootDeviceName", selectedRoot.deviceName) - }, [selectedImageId, selectedRoot.deviceName, setValue]) - - const onSubmit = async (data: CreateInstanceFormData) => { - // Launch wholly from the template (plus count). Build params from only the - // fields that apply so no direct-config field — including hidden ones left - // in form state — overrides what the template defines. - const params: CreateInstanceParams = data.launchTemplateId - ? { - count: data.count, - launchTemplateId: data.launchTemplateId, - launchTemplateVersion: data.launchTemplateVersion, - resolvedVpcId: effectiveVpcId, - } - : { ...data, resolvedVpcId: effectiveVpcId } - await createMutation.mutateAsync(params) - navigate({ to: "/ec2/describe-instances" }) - } - +function RouteComponent() { + const { launchTemplateId, launchTemplateVersion } = Route.useSearch() return ( - <> - Back to instances - - - {/* Handle error when no instance types available */} - {uniqueInstanceTypes.length === 0 && !selectedTemplateId && ( - - )} - - {/* Handle error after submission */} - {createMutation.error && ( - - )} - -
- {/* Launch template */} - - - - - ( - - )} - /> - - - {selectedTemplateId && ( - - - - - ( - - )} - /> - {resolvedTemplateData && ( -
-

- Configuration from this version: -

-

- Image:{" "} - - {resolvedTemplateData.ImageId ?? "—"} - -

-

- Instance type:{" "} - - {resolvedTemplateData.InstanceType ?? "—"} - -

-

- Key pair:{" "} - - {resolvedTemplateData.KeyName ?? "—"} - -

-
- )} -
- )} - - {!selectedTemplateId && ( - <> - {/* ImageSelection */} - - - - - { - const selectedImage = images.find( - (img) => img.ImageId === field.value, - ) - return ( - - ) - }} - /> - - - - {/* Instance Type */} - - - - - ( - - )} - /> - {selectedGpuDevice && ( - - GPU: {selectedGpuDevice.Name} - {selectedGpuDevice.MemoryInfo?.SizeInMiB !== undefined && - ` · ${formatVRAMMiB(selectedGpuDevice.MemoryInfo.SizeInMiB)} VRAM`} - {selectedGpuMigProfile && - ` · MIG ${selectedGpuMigProfile} slice`} - - )} - - - - {/* Key Pair */} - - - - - ( - - )} - /> - - - - {/* Subnet */} - - - - - ( - - )} - /> - - - {/* Security Groups */} - - Security Group - - {effectiveVpcId - ? `Applies to VPC ${effectiveVpcId}` - : "No VPC resolved — select a subnet"} - - ( -
- - -
- )} - /> - - {sgMode === "create" ? ( -
- - - - - - - - - - - - - - - - - Inbound rules -
- ( - - )} - /> - ( - - )} - /> - ( - - )} - /> -
-
- - - Source - ( -
- - -
- )} - /> - {ruleSource === "custom" && ( -
- - -
- )} -
-
- ) : ( -
- {vpcSecurityGroups.length === 0 ? ( -

- No security groups in the resolved VPC. -

- ) : ( -
- {vpcSecurityGroups.map((sg) => ( - - ))} -
- )} - -
- )} -
- - {/* Placement Group */} - - - - - ( - - )} - /> - - - )} - - {/* Instance Count */} - - - - - -

- {selectedInstanceType && - `Available capacity for ${selectedInstanceType}: ${maxCount}`} -

- -
- - {!selectedTemplateId && ( - <> - {/* Block Device Mappings (root volume) — collapsed by default */} - - - } - > - Block Device Mappings (root volume) - - - - - - - - - - - - - - - - - value === "" || value === null || value === undefined - ? undefined - : Number(value), - })} - /> - {selectedRoot.snapshotSize !== undefined && ( - - AMI snapshot size: {selectedRoot.snapshotSize} GiB - - )} - - - - - - - - ( - - )} - /> - - - - - ( - - )} - /> - - - - - )} - - - - {/* Actions */} -
- - -
- - + ) } - -interface RootMappingDefaults { - deviceName: string - snapshotSize: number | undefined -} - -interface ImageLike { - RootDeviceName?: string - BlockDeviceMappings?: { DeviceName?: string; Ebs?: { VolumeSize?: number } }[] -} - -function getRootMapping(image: ImageLike | undefined): RootMappingDefaults { - const deviceName = image?.RootDeviceName ?? DEFAULT_ROOT_DEVICE_NAME - const mappings = image?.BlockDeviceMappings ?? [] - const root = mappings.find((m) => m.DeviceName === deviceName) ?? mappings[0] - return { - deviceName, - snapshotSize: root?.Ebs?.VolumeSize, - } -} - -// resolveTemplateVersion maps a version selector ($Default, $Latest or a -// numbered version) onto the matching describe-versions entry. -function resolveTemplateVersion( - versions: LaunchTemplateVersion[], - selected: string | undefined, -): LaunchTemplateVersion | undefined { - if (versions.length === 0) { - return undefined - } - if (!selected || selected === "$Default") { - return versions.find((v) => v.DefaultVersion) ?? versions[0] - } - if (selected === "$Latest") { - return versions.toSorted( - (a, b) => (b.VersionNumber ?? 0) - (a.VersionNumber ?? 0), - )[0] - } - const num = Number(selected) - return versions.find((v) => v.VersionNumber === num) -} - -function buildRunInstancesCommands( - watch: (name?: string) => unknown, - vpcId: string | undefined, -): CliCommand[] { - const rawLaunchTemplateId = watch("launchTemplateId") - const launchTemplateId = - typeof rawLaunchTemplateId === "string" ? rawLaunchTemplateId : "" - if (launchTemplateId) { - const rawTemplateVersion = watch("launchTemplateVersion") - const templateVersion = - typeof rawTemplateVersion === "string" && rawTemplateVersion - ? rawTemplateVersion - : "$Default" - const rawTemplateCount = watch("count") - const templateCount = - typeof rawTemplateCount === "number" ? rawTemplateCount : 0 - return [ - { - label: "Run Instances", - parts: [ - { - type: "bin" as const, - value: "AWS_PROFILE=spinifex aws ec2 run-instances", - }, - { type: "flag" as const, value: " \\\n --launch-template" }, - { - type: "value" as const, - value: ` LaunchTemplateId=${launchTemplateId},Version=${templateVersion}`, - }, - { type: "flag" as const, value: " \\\n --count" }, - { type: "value" as const, value: ` ${templateCount || 1}` }, - ], - }, - ] - } - - const rawImageId = watch("imageId") - const imageId = typeof rawImageId === "string" ? rawImageId : "" - const rawInstanceType = watch("instanceType") - const instanceType = - typeof rawInstanceType === "string" ? rawInstanceType : "" - const rawKeyName = watch("keyName") - const keyName = typeof rawKeyName === "string" ? rawKeyName : "" - const rawSubnetId = watch("subnetId") - const subnetId = typeof rawSubnetId === "string" ? rawSubnetId : "" - const rawPlacementGroupName = watch("placementGroupName") - const placementGroupName = - typeof rawPlacementGroupName === "string" ? rawPlacementGroupName : "" - const rawCount = watch("count") - const count = typeof rawCount === "number" ? rawCount : 0 - const rawRootDeviceName = watch("rootDeviceName") - const rootDeviceName = - typeof rawRootDeviceName === "string" ? rawRootDeviceName : "" - const rawRootVolumeSize = watch("rootVolumeSize") - const rootVolumeSize = - typeof rawRootVolumeSize === "number" ? rawRootVolumeSize : undefined - const rawRootVolumeType = watch("rootVolumeType") - const rootVolumeType = - typeof rawRootVolumeType === "string" ? rawRootVolumeType : "" - const rawRootDeleteOnTermination = watch("rootDeleteOnTermination") - const rootDeleteOnTermination = - typeof rawRootDeleteOnTermination === "boolean" - ? rawRootDeleteOnTermination - : true - - const parts = [ - { - type: "bin" as const, - value: "AWS_PROFILE=spinifex aws ec2 run-instances", - }, - { type: "flag" as const, value: " \\\n --image-id" }, - { type: "value" as const, value: ` ${imageId || ""}` }, - { type: "flag" as const, value: " \\\n --instance-type" }, - { type: "value" as const, value: ` ${instanceType || ""}` }, - { type: "flag" as const, value: " \\\n --key-name" }, - { type: "value" as const, value: ` ${keyName || ""}` }, - ] - - if (subnetId) { - parts.push( - { type: "flag" as const, value: " \\\n --subnet-id" }, - { type: "value" as const, value: ` ${subnetId}` }, - ) - } - - if (placementGroupName) { - parts.push( - { type: "flag" as const, value: " \\\n --placement" }, - { type: "value" as const, value: ` GroupName=${placementGroupName}` }, - ) - } - - parts.push( - { type: "flag" as const, value: " \\\n --count" }, - { type: "value" as const, value: ` ${count || 1}` }, - ) - - // Security groups — create-new emits create + authorize commands and feeds - // $SG_ID into run-instances; select-existing passes the chosen IDs. - const rawSgMode = watch("securityGroupMode") - const sgMode = typeof rawSgMode === "string" ? rawSgMode : "create" - const rawNewSgName = watch("newSgName") - const sgName = typeof rawNewSgName === "string" ? rawNewSgName : "" - const rawNewSgDesc = watch("newSgDescription") - const sgDesc = typeof rawNewSgDesc === "string" ? rawNewSgDesc : "" - const rawRuleSource = watch("ruleSource") - const ruleSource = - typeof rawRuleSource === "string" ? rawRuleSource : "anywhere" - const rawCustomCidr = watch("customCidr") - const customCidr = typeof rawCustomCidr === "string" ? rawCustomCidr : "" - const sgCommands: CliCommand[] = [] - if (sgMode === "create") { - sgCommands.push({ - label: "Create security group", - parts: [ - { - type: "bin" as const, - value: "SG_ID=$(AWS_PROFILE=spinifex aws ec2 create-security-group", - }, - { type: "flag" as const, value: " \\\n --group-name" }, - { type: "value" as const, value: ` ${sgName || ""}` }, - { type: "flag" as const, value: " \\\n --description" }, - { - type: "value" as const, - value: ` '${sgDesc || "Created by launch wizard"}'`, - }, - { type: "flag" as const, value: " \\\n --vpc-id" }, - { type: "value" as const, value: ` ${vpcId ?? ""}` }, - { type: "flag" as const, value: " \\\n --query" }, - { type: "value" as const, value: " 'GroupId' --output text)" }, - ], - }) - - const cidr = - ruleSource === "custom" && customCidr ? customCidr : "0.0.0.0/0" - const ports = [ - ...(watch("allowSsh") === true ? [22] : []), - ...(watch("allowHttp") === true ? [80] : []), - ...(watch("allowHttps") === true ? [443] : []), - ] - if (ports.length > 0) { - const ipPerms = JSON.stringify( - ports.map((port) => ({ - IpProtocol: "tcp", - FromPort: port, - ToPort: port, - IpRanges: [{ CidrIp: cidr }], - })), - ) - sgCommands.push({ - label: "Authorize inbound rules", - parts: [ - { - type: "bin" as const, - value: - "AWS_PROFILE=spinifex aws ec2 authorize-security-group-ingress", - }, - { type: "flag" as const, value: " \\\n --group-id" }, - { type: "value" as const, value: " $SG_ID" }, - { type: "flag" as const, value: " \\\n --ip-permissions" }, - { type: "value" as const, value: ` '${ipPerms}'` }, - ], - }) - } - parts.push( - { type: "flag" as const, value: " \\\n --security-group-ids" }, - { type: "value" as const, value: " $SG_ID" }, - ) - } else { - const rawSgIds = watch("securityGroupIds") - const sgIds = Array.isArray(rawSgIds) - ? rawSgIds.filter((id): id is string => typeof id === "string") - : [] - if (sgIds.length > 0) { - parts.push( - { type: "flag" as const, value: " \\\n --security-group-ids" }, - { type: "value" as const, value: ` ${sgIds.join(" ")}` }, - ) - } - } - - const hasStorageOverride = - rootVolumeSize !== undefined || - rawRootVolumeType !== undefined || - rawRootDeleteOnTermination !== undefined - if (hasStorageOverride) { - const ebs: Record = {} - if (rootVolumeSize !== undefined) { - ebs.VolumeSize = rootVolumeSize - } - if (rootVolumeType) { - ebs.VolumeType = rootVolumeType - } - if (rawRootDeleteOnTermination !== undefined) { - ebs.DeleteOnTermination = rootDeleteOnTermination - } - const bdm = JSON.stringify([ - { - DeviceName: rootDeviceName || DEFAULT_ROOT_DEVICE_NAME, - Ebs: ebs, - }, - ]) - parts.push( - { type: "flag" as const, value: " \\\n --block-device-mappings" }, - { type: "value" as const, value: ` '${bdm}'` }, - ) - } - - return [...sgCommands, { label: "Run Instances", parts }] -} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/-components/create-key-pair-page.test.tsx similarity index 92% rename from spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.test.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/-components/create-key-pair-page.test.tsx index 93ca0f15b..1920e1265 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.test.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/-components/create-key-pair-page.test.tsx @@ -27,7 +27,6 @@ vi.mock("@tanstack/react-router", async (importOriginal) => { const actual = await importOriginal() return { ...actual, - createFileRoute: () => (options: Record) => options, useNavigate: () => vi.fn(), Link: ({ children, to }: { children: ReactNode; to?: string }) => ( {children} @@ -35,11 +34,11 @@ vi.mock("@tanstack/react-router", async (importOriginal) => { } }) -import { CreateKeyPair } from "./create-key-pair" +import { CreateKeyPairPage } from "./create-key-pair-page" function renderPage() { send.mockClear() - return renderWithClient(, createTestQueryClient()) + return renderWithClient(, createTestQueryClient()) } describe("create-key-pair route", () => { diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/-components/create-key-pair-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/-components/create-key-pair-page.tsx new file mode 100644 index 000000000..31f6b5786 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/-components/create-key-pair-page.tsx @@ -0,0 +1,176 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { useNavigate } from "@tanstack/react-router" +import { useState } from "react" +import { Controller, useForm, useWatch } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + type CliCommand, +} from "@/components/cli-command-panel" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { useCreateKeyPair } from "@/mutations/ec2" +import { type CreateKeyPairData, createKeyPairSchema } from "@/types/ec2" + +import { PrivateKeyModal } from "../../-components/private-key-modal" + +export function CreateKeyPairPage() { + const navigate = useNavigate() + const createMutation = useCreateKeyPair() + const [keyMaterial, setKeyMaterial] = useState<{ + keyName: string + material: string + } | null>(null) + + const { + handleSubmit, + register, + control, + formState: { errors, isSubmitting }, + } = useForm({ + resolver: zodResolver(createKeyPairSchema), + // Matches what this page already sent before the selector existed, rather + // than the API's ed25519 default. + defaultValues: { keyType: "rsa" as const }, + }) + + const values = useWatch({ control }) + const cliWatch = (name?: string): unknown => + name ? (values as Record)[name] : undefined + + const onSubmit = async (data: CreateKeyPairData) => { + const response = await createMutation.mutateAsync(data) + + if (response.KeyMaterial) { + setKeyMaterial({ + keyName: data.keyName, + material: response.KeyMaterial, + }) + } + } + + return ( + <> + Back to key pairs + + + {/* Handle error after submission */} + {createMutation.error && ( + + )} + +
+ {/* Key Name */} + + + + + + + + + {/* Key Type */} + + + + + ( + + )} + /> + + RSA is required to retrieve a Windows administrator password. + ED25519 works for SSH only. + + + + + + + {/* Actions */} + + await navigate({ to: "/ec2/describe-key-pairs" }) + } + pendingLabel="Creating…" + submitLabel="Create Key Pair" + /> + + + {/* Private Key Modal */} + {keyMaterial && ( + + )} + + ) +} + +function buildCreateKeyPairCommands( + watch: (name?: string) => unknown, +): CliCommand[] { + const rawKeyName = watch("keyName") + const keyName = typeof rawKeyName === "string" ? rawKeyName : "" + const rawKeyType = watch("keyType") + const keyType = typeof rawKeyType === "string" ? rawKeyType : "rsa" + + return [ + { + label: "Create Key Pair", + parts: [ + { type: "bin", value: "AWS_PROFILE=spinifex aws ec2 create-key-pair" }, + { type: "flag", value: " --key-name" }, + { type: "value", value: ` ${keyName || ""}` }, + { type: "flag", value: " --key-type" }, + { type: "value", value: ` ${keyType}` }, + ], + }, + ] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx index dcc7a5882..eeadbea1d 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx @@ -1,34 +1,6 @@ -import { zodResolver } from "@hookform/resolvers/zod" -import { createFileRoute, useNavigate } from "@tanstack/react-router" -import { useState } from "react" -import { Controller, useForm, useWatch } from "react-hook-form" +import { createFileRoute } from "@tanstack/react-router" -import { BackLink } from "@/components/back-link" -import { - CliCommandPanel, - type CliCommand, -} from "@/components/cli-command-panel" -import { ErrorBanner } from "@/components/error-banner" -import { FormActions } from "@/components/form-actions" -import { PageHeading } from "@/components/page-heading" -import { - Field, - FieldDescription, - FieldError, - FieldTitle, -} from "@/components/ui/field" -import { Input } from "@/components/ui/input" -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select" -import { useCreateKeyPair } from "@/mutations/ec2" -import { type CreateKeyPairData, createKeyPairSchema } from "@/types/ec2" - -import { PrivateKeyModal } from "../-components/private-key-modal" +import { CreateKeyPairPage } from "./-components/create-key-pair-page" export const Route = createFileRoute("/_auth/ec2/(key)/create-key-pair")({ head: () => ({ @@ -38,150 +10,5 @@ export const Route = createFileRoute("/_auth/ec2/(key)/create-key-pair")({ }, ], }), - component: CreateKeyPair, + component: CreateKeyPairPage, }) - -export function CreateKeyPair() { - const navigate = useNavigate() - const createMutation = useCreateKeyPair() - const [keyMaterial, setKeyMaterial] = useState<{ - keyName: string - material: string - } | null>(null) - - const { - handleSubmit, - register, - control, - formState: { errors, isSubmitting }, - } = useForm({ - resolver: zodResolver(createKeyPairSchema), - // Matches what this page already sent before the selector existed, rather - // than the API's ed25519 default. - defaultValues: { keyType: "rsa" as const }, - }) - - const values = useWatch({ control }) - const cliWatch = (name?: string): unknown => - name ? (values as Record)[name] : undefined - - const onSubmit = async (data: CreateKeyPairData) => { - const response = await createMutation.mutateAsync(data) - - if (response.KeyMaterial) { - setKeyMaterial({ - keyName: data.keyName, - material: response.KeyMaterial, - }) - } - } - - return ( - <> - Back to key pairs - - - {/* Handle error after submission */} - {createMutation.error && ( - - )} - -
- {/* Key Name */} - - - - - - - - - {/* Key Type */} - - - - - ( - - )} - /> - - RSA is required to retrieve a Windows administrator password. - ED25519 works for SSH only. - - - - - - - {/* Actions */} - - await navigate({ to: "/ec2/describe-key-pairs" }) - } - pendingLabel="Creating…" - submitLabel="Create Key Pair" - /> - - - {/* Private Key Modal */} - {keyMaterial && ( - - )} - - ) -} - -function buildCreateKeyPairCommands( - watch: (name?: string) => unknown, -): CliCommand[] { - const rawKeyName = watch("keyName") - const keyName = typeof rawKeyName === "string" ? rawKeyName : "" - const rawKeyType = watch("keyType") - const keyType = typeof rawKeyType === "string" ? rawKeyType : "rsa" - - return [ - { - label: "Create Key Pair", - parts: [ - { type: "bin", value: "AWS_PROFILE=spinifex aws ec2 create-key-pair" }, - { type: "flag", value: " --key-name" }, - { type: "value", value: ` ${keyName || ""}` }, - { type: "flag", value: " --key-type" }, - { type: "value", value: ` ${keyType}` }, - ], - }, - ] -}