@odigos/ui-kit 0.0.150 → 0.0.151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/lib/chunks/index-fe2a432e.js +3 -0
- package/lib/chunks/{ui-components-82b524d5.js → ui-components-92e29f4b.js} +18 -4
- package/lib/components/_v2/index.d.ts +1 -0
- package/lib/components/_v2/table/table-columns/index.d.ts +1 -0
- package/lib/components/_v2/warning-modal/index.d.ts +12 -0
- package/lib/components/v2.js +1 -1
- package/lib/components.js +1 -1
- package/lib/constants.js +1 -1
- package/lib/containers/v2.js +12 -14
- package/lib/containers.js +1 -1
- package/lib/contexts.js +1 -1
- package/lib/functions.js +1 -1
- package/lib/hooks.js +1 -1
- package/lib/snippets/_v2/cancel-modal/index.d.ts +4 -0
- package/lib/snippets/_v2/delete-modal/index.d.ts +7 -0
- package/lib/snippets/_v2/index.d.ts +3 -1
- package/lib/snippets/_v2/upgrade-modal/index.d.ts +6 -0
- package/lib/snippets.js +1 -1
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.js +1 -1
- package/package.json +1 -1
- package/lib/chunks/index-13c41ca4.js +0 -3
- package/lib/snippets/_v2/upgrade-required/index.d.ts +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.151](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.150...ui-kit-v0.0.151) (2025-12-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add modal cancel & delete warning modal ([#548](https://github.com/odigos-io/ui-kit/issues/548)) ([97ae029](https://github.com/odigos-io/ui-kit/commit/97ae0297ce100ad2e053aada1faf51133cab92a1))
|
|
9
|
+
* add partially selected state to table component and update checkbox behavior ([#546](https://github.com/odigos-io/ui-kit/issues/546)) ([8d9e306](https://github.com/odigos-io/ui-kit/commit/8d9e30690a2b56df6ae4964935dba7e3b4bb6a12))
|
|
10
|
+
|
|
3
11
|
## [0.0.150](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.149...ui-kit-v0.0.150) (2025-12-17)
|
|
4
12
|
|
|
5
13
|
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import o,{useMemo as s}from"react";import t from"styled-components";import{u as a,g as e,S as i,B as n,a as r,b as l,C as c,c as m,N as p}from"./ui-components-92e29f4b.js";import{VIcon as u,CopyIcon as d,YamlIcon as f}from"../icons.js";const b=t.div`
|
|
2
|
+
padding: 0 12px;
|
|
3
|
+
`,y=({yaml:t})=>{const{clickCopy:y,isCopied:g}=a(),C=s(()=>[{id:e(),type:i.Button,buttonProps:{leftIcon:g?u:d,onClick:()=>y(t||""),disabled:g,size:n.S,variant:r.Secondary}}],[t,g]);return o.createElement(l,{icon:f,title:"YAML",actions:C},o.createElement(b,null,t?o.createElement(c,{code:t,language:"yaml",theme:"duotoneDark"}):o.createElement(m,null,o.createElement(p,{title:"No YAML found",subTitle:"The YAML for this resource is not available"}))))};export{y as Y};
|
|
@@ -365,8 +365,8 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ImageErrorIcon as o,K8sLogo as n,Add
|
|
|
365
365
|
right: 0;
|
|
366
366
|
bottom: 0;
|
|
367
367
|
z-index: 1000;
|
|
368
|
-
background: rgba(0, 0, 0, 0.
|
|
369
|
-
backdrop-filter: blur(
|
|
368
|
+
background: rgba(0, 0, 0, 0.6);
|
|
369
|
+
backdrop-filter: blur(2px);
|
|
370
370
|
`,xa=It.div`
|
|
371
371
|
width: 800px;
|
|
372
372
|
min-height: ${({$minHeight:e})=>e||"unset"};
|
|
@@ -2159,7 +2159,7 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ImageErrorIcon as o,K8sLogo as n,Add
|
|
|
2159
2159
|
fill: ${({theme:e})=>e.v2.colors.white[500]};
|
|
2160
2160
|
}
|
|
2161
2161
|
}
|
|
2162
|
-
`,Ju=({variant:e,columns:t,rows:o,getRowActions:n,rowActionsPushRightPosition:i,withCheckboxes:a})=>{const[r,s]=bt(null);return xt.createElement(xt.Fragment,null,o.map((l,c)=>{const{onClick:d,isSelected:p=!1,onSelect:u,onDeselect:h,cells:m}=l,g=r===c,x=!!d,$=n(l),f=(e,t,n)=>({$isLastRow:c===o.length-1,$isFirstCell:t,$isLastCell:n,$hovered:g,$selected:p,$withClick:e,onClick:()=>e&&d?.(),onMouseEnter:()=>e&&s(c),onMouseLeave:()=>e&&s(null)});return xt.createElement("tr",{key:`row-${c}`},a&&xt.createElement(Gu,{key:"checkbox-column",$variant:e,...f(!1,!0,!1)},xt.createElement(Np,{value:p,onChange:()=>p?h?.():u?.()})),t.map(({key:o,textAlign:n},r)=>{const s=m.find(e=>e.key===o),l=0===r&&!a,d=r===t.length-1;return xt.createElement(Gu,{key:`row-${c}-cell-${r}`,$variant:e,...f(x,l,d)},s?.component?xt.createElement(pa,{$justifyContent:"right"===n?"flex-end":"flex-start"},xt.createElement(s.component,null)):xt.createElement(Ii,{size:Ti.XS,align:n},s?.rawValue||"-"),$.length?xt.createElement(pu,{isOpen:g&&d,actions:$,positionRight:i}):null)}))}))},Yu=({variant:e,columns:t,sortDirection:o,sortByKey:n,onSort:i,withCheckboxes:a,
|
|
2162
|
+
`,Ju=({variant:e,columns:t,rows:o,getRowActions:n,rowActionsPushRightPosition:i,withCheckboxes:a})=>{const[r,s]=bt(null);return xt.createElement(xt.Fragment,null,o.map((l,c)=>{const{onClick:d,isSelected:p=!1,onSelect:u,onDeselect:h,cells:m}=l,g=r===c,x=!!d,$=n(l),f=(e,t,n)=>({$isLastRow:c===o.length-1,$isFirstCell:t,$isLastCell:n,$hovered:g,$selected:p,$withClick:e,onClick:()=>e&&d?.(),onMouseEnter:()=>e&&s(c),onMouseLeave:()=>e&&s(null)});return xt.createElement("tr",{key:`row-${c}`},a&&xt.createElement(Gu,{key:"checkbox-column",$variant:e,...f(!1,!0,!1)},xt.createElement(Np,{value:p,onChange:()=>p?h?.():u?.()})),t.map(({key:o,textAlign:n},r)=>{const s=m.find(e=>e.key===o),l=0===r&&!a,d=r===t.length-1;return xt.createElement(Gu,{key:`row-${c}-cell-${r}`,$variant:e,...f(x,l,d)},s?.component?xt.createElement(pa,{$justifyContent:"right"===n?"flex-end":"flex-start"},xt.createElement(s.component,null)):xt.createElement(Ii,{size:Ti.XS,align:n},s?.rawValue||"-"),$.length?xt.createElement(pu,{isOpen:g&&d,actions:$,positionRight:i}):null)}))}))},Yu=({variant:e,columns:t,sortDirection:o,sortByKey:n,onSort:i,withCheckboxes:a,partiallySelected:r,allSelected:s,onSelectAll:l})=>{const c=_t();return xt.createElement("tr",null,a&&xt.createElement(Vu,{key:"checkbox-column",$variant:e,$minWidth:24,$isFirst:!0,$isLast:!1},xt.createElement(Np,{partiallyChecked:r&&!s,value:s||!1,onChange:l})),t.map(({key:r,label:s,sortable:l,minWidth:d,textAlign:p},u)=>{const h=0===u&&!a,m=u===t.length-1;return xt.createElement(Vu,{key:`column-${r}`,$variant:e,$minWidth:d,$isFirst:h,$isLast:m},xt.createElement(Ku,{$withClick:l||!1,$textAlign:p,onClick:()=>l?i(r):null},xt.createElement(Ii,{size:Ti.XS,align:p},s),l&&xt.createElement(dt,{fill:n===r?c.v2.colors.white[500]:c.v2.colors.grey[400],rotate:o===oo.Ascending?0:180})),!m&&e===Mu.Data&&xt.createElement(Hu,null))}))},Xu=({variant:e,maxHeight:t="unset",isLoading:o,columns:n,rows:i,getRowActions:a,rowActionsPushRightPosition:r,withCheckboxes:s})=>{const[l,c]=bt(oo.Ascending),[d,p]=bt(""),u=kt(e=>{p(e),c(e=>e===oo.Ascending?oo.Descending:oo.Ascending)},[]),h=ft(()=>{const e=(e,t)=>{const o=e.cells.find(e=>e.key===t);return o&&(o.rawValue||o.component?.({})?.props?.children)||null};return d?[...i].sort((t,o)=>{const n=e(t,d),i=e(o,d);return(l===oo.Ascending?1:-1)*((e,t)=>"string"==typeof e&&"string"==typeof t?e.localeCompare(t):"number"==typeof e&&"number"==typeof t?e-t:"boolean"==typeof e&&"boolean"==typeof t?e===t?0:e?1:-1:String(e).localeCompare(String(t)))(n,i)}):i},[i,d,l]);return xt.createElement(ju,{$maxHeight:t},xt.createElement(Uu,{$variant:e},xt.createElement(Wu,null,xt.createElement(Yu,{variant:e,columns:n,sortDirection:l,sortByKey:d,onSort:u,withCheckboxes:s,partiallySelected:i.length>0&&i.some(e=>e.isSelected),allSelected:i.length>0&&i.every(e=>e.isSelected),onSelectAll:e=>{e?i.forEach(e=>e.onSelect?.()):i.forEach(e=>e.onDeselect?.())}})),xt.createElement(qu,null,xt.createElement(Ju,{variant:e,columns:n,rows:h,getRowActions:a||(()=>[]),rowActionsPushRightPosition:r,withCheckboxes:s}))),!h.length&&xt.createElement(ha,{style:{marginTop:"0.5rem"}},o?xt.createElement(es,{scale:1.2}):xt.createElement(Gs,null)))},Qu=It.div`
|
|
2163
2163
|
display: flex;
|
|
2164
2164
|
align-items: center;
|
|
2165
2165
|
justify-content: center;
|
|
@@ -2213,4 +2213,18 @@ import{SamplerIcon as e,PiiMaskingIcon as t,ImageErrorIcon as o,K8sLogo as n,Add
|
|
|
2213
2213
|
display: flex;
|
|
2214
2214
|
flex-direction: ${({$direction:e})=>e===to.Horizontal?"row":"column"};
|
|
2215
2215
|
gap: ${({$direction:e})=>e===to.Horizontal?16:8}px;
|
|
2216
|
-
`,lh=({direction:e=to.Vertical,title:t,size:o,disabled:n,options:i,values:a,setValues:r})=>{const s=o===th.S?Ti.XS:Ti.S;return xt.createElement(sh,{$direction:e},t&&xt.createElement(Ii,{size:s},t),i.map(e=>xt.createElement(rh,{key:`${t}-toggle-${e.id}`,...e,labelAlign:oh.Right,value:a[e.id],onChange:t=>{return o=e.id,n=t,void r(e=>{const t={...e};return o?t[o]=n:i.forEach(e=>t[e.id]=n),t});var o,n},disabled:n,size:o})))}
|
|
2216
|
+
`,lh=({direction:e=to.Vertical,title:t,size:o,disabled:n,options:i,values:a,setValues:r})=>{const s=o===th.S?Ti.XS:Ti.S;return xt.createElement(sh,{$direction:e},t&&xt.createElement(Ii,{size:s},t),i.map(e=>xt.createElement(rh,{key:`${t}-toggle-${e.id}`,...e,labelAlign:oh.Right,value:a[e.id],onChange:t=>{return o=e.id,n=t,void r(e=>{const t={...e};return o?t[o]=n:i.forEach(e=>t[e.id]=n),t});var o,n},disabled:n,size:o})))},ch=It.div`
|
|
2217
|
+
min-width: 530px;
|
|
2218
|
+
`,dh=It.div`
|
|
2219
|
+
display: flex;
|
|
2220
|
+
flex-direction: column;
|
|
2221
|
+
align-items: center;
|
|
2222
|
+
gap: 16px;
|
|
2223
|
+
padding: 24px;
|
|
2224
|
+
`,ph=It.div`
|
|
2225
|
+
display: flex;
|
|
2226
|
+
justify-content: center;
|
|
2227
|
+
gap: 16px;
|
|
2228
|
+
padding: 16px 24px;
|
|
2229
|
+
background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
|
|
2230
|
+
`,uh=({visual:e,title:t,description:o,onDeny:n,denyLabel:i="Deny",onApprove:a,approveLabel:r="Approve",...s})=>{const l=_t();return xt.createElement(Cu,{isOpen:!0,onClose:n,...s},xt.createElement(ch,null,xt.createElement(dh,null,e&&xt.createElement(e,null),xt.createElement(Ii,{size:Ti.M,weight:500,color:l.v2.colors.white[500]},t),xt.createElement(ua,{$alignItems:"center",$gap:4},o.split("\n").map(e=>xt.createElement(Ii,{key:e,size:Ti.XS,weight:400,color:l.v2.colors.silver[200]},e)))),(n||a)&&xt.createElement(ph,null,n&&xt.createElement(gp,{variant:up.Secondary,label:i,onClick:n}),a&&xt.createElement(gp,{variant:up.Primary,label:r,onClick:a}))))};export{lp as $,Gp as A,hp as B,Kr as C,ru as D,Ao as E,ua as F,en as G,Xl as H,Na as I,Kt as J,Yt as K,yu as L,cl as M,Gs as N,xo as O,ca as P,Br as Q,ji as R,Pp as S,Ii as T,da as U,Jt as V,uh as W,xl as X,uo as Y,On as Z,ad as _,up as a,un as a$,ud as a0,td as a1,po as a2,Bi as a3,Fd as a4,Id as a5,$c as a6,fd as a7,ap as a8,ui as a9,mr as aA,go as aB,Sn as aC,si as aD,Go as aE,vs as aF,gn as aG,Ds as aH,$a as aI,fa as aJ,Gc as aK,hn as aL,ba as aM,Yl as aN,pp as aO,ia as aP,Jn as aQ,gd as aR,la as aS,hi as aT,li as aU,_s as aV,mn as aW,Wn as aX,an as aY,Ed as aZ,Po as a_,di as aa,ii as ab,Ba as ac,tn as ad,Bc as ae,gc as af,Fr as ag,lo as ah,ai,ka as aj,Lo as ak,Ro as al,cs as am,cc as an,so as ao,ci as ap,ir as aq,wd as ar,xa as as,Sr as at,Zo as au,ta as av,rr as aw,ln as ax,hs as ay,jn as az,jp as b,Us as b$,pn as b0,Vd as b1,Sa as b2,ni as b3,Aa as b4,Yo as b5,on as b6,Ko as b7,Jo as b8,Ca as b9,Bo as bA,qo as bB,Qd as bC,oc as bD,fn as bE,Co as bF,_o as bG,Eo as bH,Fo as bI,vo as bJ,So as bK,ko as bL,tp as bM,dn as bN,La as bO,Mo as bP,Ja as bQ,Tn as bR,Ea as bS,fo as bT,al as bU,$s as bV,Yc as bW,An as bX,zn as bY,xs as bZ,Ms as b_,Ma as ba,pr as bb,Bd as bc,ma as bd,Pa as be,Mn as bf,wl as bg,Qn as bh,jo as bi,Qo as bj,ja as bk,za as bl,xi as bm,Xo as bn,$r as bo,os as bp,ms as bq,fs as br,co as bs,Un as bt,Ho as bu,Nn as bv,Io as bw,_a as bx,In as by,Uo as bz,ha as c,Dc as c$,pu as c0,Rn as c1,Hn as c2,Wa as c3,Ll as c4,zo as c5,ro as c6,Ga as c7,Ss as c8,cn as c9,No as cA,Oo as cB,Wo as cC,nn as cD,xn as cE,$n as cF,bn as cG,yn as cH,wn as cI,vn as cJ,Dn as cK,_n as cL,Ln as cM,Pn as cN,Vn as cO,qn as cP,Gn as cQ,Kn as cR,Yn as cS,Zn as cT,ei as cU,qt as cV,va as cW,Fa as cX,tl as cY,Js as cZ,mc as c_,Fn as ca,Da as cb,Ol as cc,ti as cd,rn as ce,jr as cf,kn as cg,ys as ch,Xn as ci,Gt as cj,Xt as ck,Qt as cl,Zt as cm,eo as cn,to as co,oo as cp,no as cq,io as cr,ao as cs,mo as ct,$o as cu,bo as cv,yo as cw,wo as cx,Do as cy,To as cz,ya as d,_c as d0,Mc as d1,Hc as d2,ws as d3,wc as d4,Fi as d5,Ri as d6,Li as d7,_r as d8,ga as d9,bp as da,yp as db,Bp as dc,Ap as dd,zp as de,Lp as df,cu as dg,$u as dh,Cu as di,Su as dj,Nu as dk,Iu as dl,_u as dm,Ru as dn,Zu as dp,eh as dq,oh as dr,lh as ds,Di as dt,Sp as e,pa as f,sn as g,Ti as h,Oi as i,Np as j,rh as k,th as l,gp as m,Ka as n,Xu as o,Mu as p,ho as q,Ai as r,En as s,es as t,Ia as u,vp as v,Qp as w,Cn as x,Pu as y,Vp as z};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type ModalProps } from '@/components/_v2';
|
|
3
|
+
export interface WarningModalProps extends Pick<ModalProps, 'relativeToParent'> {
|
|
4
|
+
visual?: FC;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
onDeny?: () => void;
|
|
8
|
+
denyLabel?: string;
|
|
9
|
+
onApprove?: () => void;
|
|
10
|
+
approveLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const WarningModal: FC<WarningModalProps>;
|
package/lib/components/v2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{i as Badge,m as Button,B as ButtonSize,da as ButtonTab,db as ButtonTabList,a as ButtonVariants,j as Checkbox,de as CheckboxList,dd as CheckboxSize,w as CliCommand,v as DataCard,D as Drawer,df as DropData,dg as Header,c0 as HoverActions,I as IconButton,cb as IconButtonSize,dh as Input,L as Loader,
|
|
1
|
+
export{i as Badge,m as Button,B as ButtonSize,da as ButtonTab,db as ButtonTabList,a as ButtonVariants,j as Checkbox,de as CheckboxList,dd as CheckboxSize,w as CliCommand,v as DataCard,D as Drawer,df as DropData,dg as Header,c0 as HoverActions,I as IconButton,cb as IconButtonSize,dh as Input,L as Loader,di as Modal,dj as Navbar,dk as Note,dm as Radio,dn as RadioGroup,dl as RadioSize,e as Search,b as SectionCard,S as SectionCardActionType,dc as SectionCardSize,y as Segment,z as StatusCard,o as Table,p as TableVariant,dp as Tag,A as TextCard,k as Toggle,dr as ToggleLabelAlign,ds as ToggleList,l as ToggleSize,dq as ToggleVariant,T as Typography,h as TypographySize,dt as TypographyVariants,W as WarningModal}from"../chunks/ui-components-92e29f4b.js";import"../icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"../chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/components.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{av as AutocompleteInput,aP as Badge,aS as Button,ag as CancelWarning,c as CenterThis,Q as Checkbox,C as Code,am as ConditionDetails,an as DataCard,
|
|
1
|
+
export{av as AutocompleteInput,aP as Badge,aS as Button,ag as CancelWarning,c as CenterThis,Q as Checkbox,C as Code,am as ConditionDetails,an as DataCard,H as DataCardFieldTypes,bD as DataCardFields,c_ as DataFinger,aV as DataTab,af as DeleteWarning,b_ as DescribeRow,aw as Divider,a6 as DocsButton,ae as Drawer,d0 as DrawerFooter,c$ as DrawerHeader,bg as Dropdown,d1 as ErrorBoundary,bp as ExtendArrow,t as FadeLoader,R as FieldError,M as FieldLabel,F as FlexColumn,f as FlexRow,d2 as Header,bo as IconButton,c8 as IconGroup,aK as IconTitleBadge,aF as IconWrapped,bW as IconsNav,d3 as ImageControlled,X as Input,a1 as InputList,_ as InputTable,aN as InteractiveTable,a0 as KeyValueInputsList,aR as LoadingText,aq as Modal,as as ModalBody,a7 as MonitorsCheckboxes,aH as MonitorsIcons,ar as NavigationButtons,N as NoDataFound,at as NotificationNote,d9 as Overlay,P as PageContent,bb as Popup,cc as PopupForm,ch as ScrollX,aZ as ScrollY,a5 as SectionTitle,a4 as Segment,bc as SelectionButton,b1 as SkeletonLoader,ay as Status,bC as Stepper,d4 as TabList,aI as TableContainer,aJ as TableTitleWrap,aM as TableWrap,bM as Tag,a3 as Text,a8 as TextArea,$ as Toggle,cf as ToggleCodeComponent,aA as Tooltip,aO as TraceLoader,U as UpgradeRequiredWrapper,bd as VerticalScroll,d8 as WarningModal,d5 as getLinksFromText,d6 as getStrongsFromText,d7 as renderText}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ak as ACTION_OPTIONS,ad as BUTTON_TEXTS,bn as DEFAULT_DATA_STREAM_NAME,bA as DESTINATION_CATEGORIES,bh as DISPLAY_LANGUAGES,
|
|
1
|
+
export{ak as ACTION_OPTIONS,ad as BUTTON_TEXTS,bn as DEFAULT_DATA_STREAM_NAME,bA as DESTINATION_CATEGORIES,bh as DISPLAY_LANGUAGES,G as DISPLAY_TITLES,au as FORM_ALERTS,bP as INSTRUMENTATION_RULE_OPTIONS,cT as LANGUAGE_OPTIONS,bi as MONITORS_OPTIONS,bj as STORAGE_KEYS,cU as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/containers/v2.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react";import
|
|
1
|
+
import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react";import n,{useTheme as i}from"styled-components";import{W as s,F as r,d,D as c,e as u,f as p,T as g,h as b,i as m,O as y,j as h,k as f,l as v,L as w,m as k,a as C,n as x,P as $,b as A,g as L,S as R,B as P,o as I,p as D,q as S,r as V,s as z,c as O,t as M,v as j,I as T,w as N,x as U,y as E,z as F,A as H,E as W,U as Y}from"../chunks/ui-components-92e29f4b.js";import{ConnectionsIcon as q,OdigosLogo as G,RefreshIcon as K,SettingsIcon as B,DeleteIcon as J,VIcon as Q,XIcon as X,PodIcon as Z,ChevronUpIcon as _,ChevronDownIcon as ee,TerminalIcon as te,VSquareIcon as ae,XSquareIcon as le,PipelineCollectorIcon as oe,DownloadIcon as ne,GatewayIcon as ie,YamlIcon as se}from"../icons.js";import{Y as re}from"../chunks/index-fe2a432e.js";import{useOdigos as de}from"../contexts.js";import{V as ce}from"../chunks/index-64bb5a64.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const ue=({onDeny:t,onApprove:a})=>e.createElement(s,{title:"Discard changes?",description:"You have unsaved changes.\nIf you cancel now, your changes won't be saved.",onDeny:t,denyLabel:"Keep editing",onApprove:a,approveLabel:"Discard changes"}),pe=({onDeny:t,onApprove:a,action:l="delete",target:o})=>{const n=l.charAt(0).toUpperCase()+l.substring(1),i=o?.endsWith("s")?"these":"this";return e.createElement(s,{title:`${n}${o?` ${o}`:""}?`,description:`Are you sure you want to ${l}${o?` ${i} ${o}`:""}?`,onDeny:t,denyLabel:"Go back",onApprove:a,approveLabel:n})},ge=({minSupportedVersion:t,currentVersion:a})=>e.createElement(s,{relativeToParent:!0,visual:ce,title:"Upgrade Required",description:`To use this feature, please upgrade to Odigos v${t} or later.\nCurrent version: ${a}.`}),be="75vw",me=n.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
border-radius: 16px;
|
|
5
5
|
background-color: ${({theme:e})=>e.v2.colors.silver[1e3]};
|
|
6
6
|
overflow: hidden;
|
|
7
|
-
`,
|
|
7
|
+
`,ye=n.div`
|
|
8
8
|
display: flex;
|
|
9
9
|
gap: 12px;
|
|
10
10
|
padding: 16px;
|
|
11
11
|
background-color: ${({theme:e})=>e.v2.colors.silver[900]};
|
|
12
12
|
position: sticky;
|
|
13
13
|
top: 0;
|
|
14
|
-
`,
|
|
14
|
+
`,he=n.div`
|
|
15
15
|
display: flex;
|
|
16
16
|
gap: 12px;
|
|
17
17
|
padding: 16px;
|
|
18
|
-
`,
|
|
18
|
+
`,fe=n(r)`
|
|
19
19
|
width: ${({$width:e})=>e};
|
|
20
20
|
gap: 12px;
|
|
21
21
|
justify-content: space-between;
|
|
22
|
-
`,
|
|
22
|
+
`,ve=n.div`
|
|
23
23
|
display: flex;
|
|
24
24
|
flex-direction: column;
|
|
25
25
|
padding: 12px;
|
|
@@ -29,7 +29,7 @@ import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react"
|
|
|
29
29
|
background-color: ${({theme:e})=>e.v2.colors.silver[900]};
|
|
30
30
|
overflow-y: auto;
|
|
31
31
|
overflow-x: hidden;
|
|
32
|
-
`,
|
|
32
|
+
`,we=n.div`
|
|
33
33
|
display: flex;
|
|
34
34
|
align-items: center;
|
|
35
35
|
gap: 12px;
|
|
@@ -40,15 +40,13 @@ import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react"
|
|
|
40
40
|
&:hover {
|
|
41
41
|
background-color: ${({theme:e})=>e.v2.colors.silver[800]};
|
|
42
42
|
}
|
|
43
|
-
`,
|
|
43
|
+
`,ke=n.div`
|
|
44
44
|
display: flex;
|
|
45
45
|
align-items: center;
|
|
46
46
|
justify-content: flex-end;
|
|
47
47
|
gap: 16px;
|
|
48
48
|
padding: 0 24px;
|
|
49
|
-
`,
|
|
50
|
-
padding: 64px;
|
|
51
|
-
`,$e=({minSupportedVersion:t,currentVersion:a})=>{const l=n();return e.createElement(V,{isOpen:!0,relativeToParent:!0,onClose:()=>{}},e.createElement(xe,null,e.createElement(s,{$alignItems:"center",$gap:16},e.createElement(ce,null),e.createElement(g,{size:p.M,weight:500,color:l.v2.colors.white[500]},"Upgrade Required"),e.createElement(s,{$alignItems:"center",$gap:4},e.createElement(g,{size:p.XS,weight:400,color:l.v2.colors.silver[200]},`To use this feature, please upgrade to Odigos v${t} or later.`),e.createElement(g,{size:p.XS,weight:400,color:l.v2.colors.silver[200]},`Current version: ${a}.`)))))},Re=i.div`
|
|
49
|
+
`,Ce=({isOpen:l,onClose:o,connections:n,selectedConnectionIds:s,setSelectedConnectionIds:r,onApply:x})=>{const $=i(),[A,L]=t(""),R=a(()=>n.filter(e=>!A||e.name.toLowerCase().includes(A.toLowerCase())),[n,A]),P=s.length>0,I=e=>{r(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[D,S]=t(!1),[V,z]=t(!1),[O,M]=t(void 0),{formData:j,handleFormChange:T,resetFormData:N}=d({automaticRollout:!0});return e.createElement(c,{isOpen:l,hideOverlay:!0,width:be,header:{icon:q,title:"Cluster Configuration",onClose:o}},e.createElement(me,null,e.createElement(ye,null,e.createElement(u,{width:"40%",value:A,onChange:L})),e.createElement(he,null,e.createElement(fe,{$width:"40%"},e.createElement(p,{$padding:"0 12px",$justifyContent:"space-between"},e.createElement(p,{$gap:8},e.createElement(g,{size:b.XS},"Clusters"),e.createElement(m,{label:n.length,status:y.Unknown})),e.createElement(p,{$gap:8},e.createElement(g,{size:b.XXXS,color:$.v2.colors.silver[200]},"Selected"),e.createElement(m,{label:`${s.length}/${n.length}`,status:y.Unknown}))),e.createElement(ve,{$isFooterOpen:P,$borderRadius:"16px 0 0 16px"},R.map(t=>e.createElement(we,{key:t.id,onClick:()=>I(t.id)},e.createElement(h,{value:s.includes(t.id),onChange:()=>I(t.id)}),e.createElement(g,{size:b.XS},t.name))))),e.createElement(fe,{$width:"60%"},e.createElement(p,{$padding:"2px 12px"},e.createElement(g,{size:b.XS},"Configurations")),e.createElement(ve,{$isFooterOpen:P,$borderRadius:"0 16px 16px 0"},e.createElement(p,{$gap:12},e.createElement(f,{size:v.S,label:"Automatic Rollout "+(j.automaticRollout?"Enabled":"Disabled"),tooltip:"Odigos automatically triggers a one-time rollout for workloads when instrumenting or uninstrumenting, ensuring that changes are applied without requiring manual intervention. When automatic rollout is enabled, Odigos will proactively restart workloads as needed to apply updated instrumentation. Users do not need to manually trigger rollouts after adding or removing sources. Any new pods created after enabling or disabling the agent (via automatic rollout, autoscaling, etc.) will still have the agent injected, regardless of this setting. When set to false, additional configurations related to automated rollouts or rollbacks take effect.",value:j.automaticRollout,onChange:e=>T("automaticRollout",e)})))))),P&&e.createElement(ke,null,V?e.createElement(w,{label:"Applying configurations...",icon:G,withGradient:!0,typographyProps:{size:b.XXS}}):O?e.createElement(g,{size:b.XXS,color:$.v2.colors.red[500]},O):null,e.createElement("div",{style:{width:"150px"}},e.createElement(k,{variant:C.Secondary,label:"Cancel",fullWidth:!0,onClick:()=>S(!0),disabled:V})),e.createElement("div",{style:{width:"150px"}},e.createElement(k,{variant:C.Primary,label:"Apply",fullWidth:!0,onClick:async()=>{z(!0);const{error:e}=await x(s,j);z(!1),e?M(e):o()},disabled:V}))),D&&e.createElement(ue,{onDeny:()=>S(!1),onApprove:()=>{N(),r([]),S(!1),o()}}))};var xe;!function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(xe||(xe={}));const $e=[{key:xe.Name,label:"Name",sortable:!0},{key:xe.Type,label:"Type",sortable:!0,textAlign:"right"},{key:xe.Status,label:"Status",sortable:!0},{key:xe.OdigosVersion,label:"Odigos Version",sortable:!0},{key:xe.ConnectedSince,label:"Connected Since",sortable:!0},{key:xe.LastActivity,label:"Last Activity",sortable:!0}],Ae=({tableRowsMaxHeight:n,connections:i,getConnections:s,onClickConnection:r,deleteConnection:d,applyConfigurations:c})=>{const{formatTimeAgo:u}=x(),[p,g]=t(!1),[b,h]=t(i||[]),[f,v]=t(""),w=l(async()=>{try{g(!0),h(await s()??[])}catch(e){}finally{g(!1)}},[]);o(()=>{b.length||w()},[b.length,w]);const[k,V]=t(null),[z,O]=t([]),[M,j]=t(!1),T=a(()=>b.filter(e=>!f||e.name.toLowerCase().includes(f.toLowerCase())).map(t=>({onClick:()=>r(t),isSelected:z.includes(t.id),onSelect:()=>O(e=>[...e,t.id]),onDeselect:()=>O(e=>e.filter(e=>e!==t.id)),cells:[{key:xe.Id,rawValue:t.id},{key:xe.Name,rawValue:t.name},{key:xe.Type,rawValue:t.type},{key:xe.Status,rawValue:t.status,component:()=>(t=>{const a=t===S.Success?"Connection live":"Connection lost",l=t===S.Success?Q:X;return e.createElement(m,{status:t,label:a,leftIcon:l})})(t.status)},{key:xe.OdigosVersion,rawValue:t.odigosVersion},{key:xe.ConnectedSince,rawValue:t.connectedAt?u(t.connectedAt):"-"},{key:xe.LastActivity,rawValue:t.lastSeenAt?u(t.lastSeenAt):"-"}]})),[b,z,f]);return e.createElement($,null,e.createElement(A,{backgroundWeight:"1000",icon:q,title:"Connections",badge:{label:b.length.toString(),status:y.Unknown},search:{placeholder:"Search by cluster name",value:f,onChange:e=>v(e)},actions:[{id:L(),type:R.Button,buttonProps:{variant:C.Secondary,size:P.S,leftIcon:K,onClick:()=>w(),disabled:p}},{id:L(),type:R.Button,buttonProps:{variant:C.Primary,size:P.S,label:"Configurations",rightIcon:B,onClick:()=>j(!0)}}]},e.createElement(I,{variant:D.Pretty,maxHeight:n,isLoading:p,withCheckboxes:!0,columns:$e,rows:T,rowActionsPushRightPosition:M?`calc(${be} - 24px)`:void 0,getRowActions:({cells:e})=>[{id:L(),leftIcon:B,onClick:()=>{const t=e.find(e=>e.key===xe.Id)?.rawValue;t&&(O([t.toString()]),j(!0))}},{id:L(),leftIcon:J,disabled:e.find(e=>e.key===xe.Status)?.rawValue===S.Success,onClick:()=>{const t=e.find(e=>e.key===xe.Id)?.rawValue;t&&V(t.toString())}}]}),e.createElement(Ce,{isOpen:M,onClose:()=>{O([]),j(!1)},connections:b,selectedConnectionIds:z,setSelectedConnectionIds:O,onApply:c}),k&&e.createElement(pe,{target:"connection",onDeny:()=>V(null),onApprove:async()=>{k&&(await d(k),w())}})))},Le=n.div`
|
|
52
50
|
display: flex;
|
|
53
51
|
align-items: center;
|
|
54
52
|
justify-content: space-between;
|
|
@@ -60,10 +58,10 @@ import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react"
|
|
|
60
58
|
&:hover {
|
|
61
59
|
background: ${({theme:e})=>e.v2.colors.silver[700]};
|
|
62
60
|
}
|
|
63
|
-
`,
|
|
64
|
-
animation-name: ${
|
|
65
|
-
`,
|
|
61
|
+
`,Re=n.div`
|
|
62
|
+
animation-name: ${V.animations.fade.in};
|
|
63
|
+
`,Pe=({pod:l,getExtendedPodInfo:n,onClose:i})=>{const{formatTimeAgo:s}=x(),[d,u]=t(null),[p,b]=t(!1);o(()=>{l?n(l.namespace,l.name).then(e=>u(e??null)):(u(null),b(!1))},[l]);const m=a(()=>[{id:L(),title:"Node",label:d?.node??"-",withCopy:!0},{id:L(),title:"Status",badge:{status:z(d?.status),label:d?.status??"-"}}],[d]),y=a(()=>d?.containers?.map(e=>({id:L(),items:[{id:L(),title:"Container",label:e.name??"-"},{id:L(),title:"Status",badge:{status:z(e.status),label:e.status??"-"},label:e.startedAt?`(since ${s(e.startedAt)})`:""},{id:L(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:L(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:L(),title:"Restarts",label:e.restarts.toString()},{id:L(),title:"State Reason",label:e.stateReason??"-"},{id:L(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:L(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[d]);return e.createElement(c,{isOpen:!!l,header:{icon:Z,title:"Pod Information",onClose:i}},d?null:e.createElement(O,null,e.createElement(M,null)),d?e.createElement(e.Fragment,null,e.createElement(A,{icon:Z,title:d.name,withCopyTitle:!0},e.createElement(r,{$gap:24},e.createElement(j,{cellsPerRow:2,items:m}),y.length>0&&e.createElement(r,{$gap:12},e.createElement(Le,{onClick:()=>b(e=>!e)},e.createElement(g,null,"Containers Overview"),e.createElement(T,{icon:p?_:ee})),p&&y.map(({id:t,items:a})=>e.createElement(Re,{key:t},e.createElement(j,{cellsPerRow:2,items:a})))))),e.createElement(A,{icon:te,title:"Kubectl Commands"},e.createElement(r,{$gap:12},e.createElement(N,{value:`kubectl get pod ${d.name} -n ${d.namespace} -o yaml`}),e.createElement(N,{value:`kubectl describe pod ${d.name} -n ${d.namespace}`}),e.createElement(N,{value:`kubectl logs ${d.name} -n ${d.namespace}`}))),e.createElement(re,{yaml:d.manifestYAML})):null)};var Ie;!function(e){e.PodName="podName",e.Ready="ready",e.Started="started",e.Status="status",e.Restarts="restarts",e.NodeName="nodeName",e.Age="age",e.DockerImage="dockerImage"}(Ie||(Ie={}));const De=[{key:Ie.PodName,label:"Pod Name",sortable:!0},{key:Ie.Ready,label:"Ready",sortable:!0,textAlign:"right"},{key:Ie.Started,label:"Started",sortable:!0,textAlign:"right"},{key:Ie.Status,label:"Status",sortable:!0},{key:Ie.Restarts,label:"Restarts",sortable:!0,textAlign:"right"},{key:Ie.NodeName,label:"Node Name",sortable:!0},{key:Ie.Age,label:"Age",sortable:!0,textAlign:"right"},{key:Ie.DockerImage,label:"Docker Image",sortable:!0,textAlign:"right"}],Se=({isLoading:l,tableRowsMaxHeight:o,pods:n,getExtendedPodInfo:s})=>{const r=i(),{formatTimeAgo:d}=x(),[c,u]=t(null),p=a(()=>{const t=t=>t?e.createElement(ae,{fill:U(r,S.Success,"500"),size:20}):e.createElement(le,{fill:U(r,S.Error,"500"),size:20});return n.map(a=>({onClick:()=>u(a),cells:[{key:Ie.PodName,rawValue:a.name},{key:Ie.Ready,rawValue:a.ready,component:()=>t(a.ready)},{key:Ie.Started,rawValue:a.started,component:()=>t(a.started)},{key:Ie.Status,rawValue:a.status,component:()=>{return t=a.status,e.createElement(m,{status:z(t),label:t});var t}},{key:Ie.Restarts,rawValue:a.restartsCount.toString()},{key:Ie.NodeName,rawValue:a.nodeName},{key:Ie.Age,rawValue:d(a.creationTimestamp)},{key:Ie.DockerImage,rawValue:a.image}]}))},[n,r]);return e.createElement(A,{icon:Z,title:"Pods"},e.createElement(I,{variant:D.Data,maxHeight:o,isLoading:l,columns:De,rows:p}),e.createElement(Pe,{pod:c,getExtendedPodInfo:s,onClose:()=>u(null)}))};var Ve;!function(e){e.Gateway="gateway",e.Node="node"}(Ve||(Ve={}));const ze=[{value:Ve.Gateway,label:"Gateway"},{value:Ve.Node,label:"Node Collector"}],Oe=n.div`
|
|
66
64
|
display: flex;
|
|
67
65
|
align-items: center;
|
|
68
66
|
justify-content: space-between;
|
|
69
|
-
`,
|
|
67
|
+
`,Me=({selectedTab:t,setSelectedTab:a,onClickDownloadDiagnose:l,onClickRefresh:o,loading:n,disabled:i})=>e.createElement(Oe,null,e.createElement(p,{$gap:12},e.createElement(p,{$gap:8},e.createElement(oe,{size:32}),e.createElement(g,{size:b.M,weight:500},"Pipeline Collectors")),e.createElement(E,{options:ze,selected:t,setSelected:a,disabled:i})),e.createElement(p,{$gap:8},l&&e.createElement(k,{label:"Download Diagnose",leftIcon:ne,size:P.S,variant:C.Text,onClick:l,disabled:i}),o&&e.createElement(k,{label:"Refresh",leftIcon:K,size:P.S,variant:C.Text,onClick:o,loading:n,disabled:i}))),je=({isOpen:t,onClose:a,title:l,yaml:o})=>e.createElement(c,{isOpen:t,header:{icon:ie,title:l,onClose:a}},e.createElement(re,{yaml:o}));var Te;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(Te||(Te={}));const Ne=({icon:a,title:l,badge:o,statusCard:n,textCards:i,manifestYaml:s,configMapYaml:r})=>{const[d,c]=t(null);return e.createElement(A,{icon:a,title:l,badge:o,actions:[{id:L(),type:R.ButtonDropData,buttonProps:{variant:C.Secondary,size:P.S,label:"View YAML",onClick:e=>c(e)},dropDataItems:[{id:Te.ManifestYaml,label:l,icon:se},{id:Te.ConfigMapYaml,label:"ConfigMap",icon:se}]}]},e.createElement(p,{$gap:16},e.createElement(F,{...n}),i.map(t=>e.createElement(H,{key:t.title,...t}))),e.createElement(je,{isOpen:d===Te.ManifestYaml,onClose:()=>c(null),title:l,yaml:s}),e.createElement(je,{isOpen:d===Te.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:r}))},Ue=e=>{switch(e){case W.Healthy:return"All desired replicas are updated, available, and ready";case W.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case W.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case W.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case W.Down:return"No available replicas";case W.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},Ee=({tableRowsMaxHeight:n,getGatewayInfo:i,getGatewayPods:s,getNodeCollectorInfo:r,getNodeCollectorPods:d,getExtendedPodInfo:c})=>{const{formatTimeAgo:u}=x(),{isVersionSupported:p,version:g}=de(1.12),[b,m]=t(!1),[h,f]=t(Ve.Gateway),[v,w]=t(null),[k,C]=t([]),[A,L]=t(null),[R,P]=t([]),I=l(async()=>{m(!0);try{switch(h){case Ve.Gateway:w(await i()??null),C(await s()??[]);break;case Ve.Node:L(await r()??null),P(await d()??[])}}catch(e){}m(!1)},[h]);o(()=>{I()},[I]);const D=a(()=>(e=>{switch(e){case Ve.Gateway:return"Deployment";case Ve.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(h),[h]),V=a(()=>((e,t,a,l)=>{const o={status:y.Disabled,label:"No rollouts yet"};let n=!1,i=null;switch(e){case Ve.Gateway:n=t?.rolloutInProgress??!1,i=t?.lastRolloutAt??null;break;case Ve.Node:n=a?.rolloutInProgress??!1,i=a?.lastRolloutAt??null;break;default:return o}return n?{status:S.Info,label:"Rollout in progress",rightIcon:K,useSecondaryTone:!0}:i?{status:y.Disabled,label:`Last Rollout: ${l(i)}`}:o})(h,v,A,u),[v,A,h,u]),O=a(()=>((e,t,a,l)=>{let o=l?S.Info:y.Unknown,n=l?"Loading":W.Unknown,i=l?"Fetching data...":Ue(W.Unknown);switch(e){case Ve.Gateway:o=t?.status?z(t?.status):o,n=t?.status??n,i=t?.status?Ue(t.status):i;break;case Ve.Node:o=a?.status?z(a?.status):o,n=a?.status??n,i=a?.status?Ue(a.status):i}return{status:o,title:n,description:i}})(h,v,A,b),[v,A,h,b]),M=a(()=>((e,t,a,l)=>{switch(e){case Ve.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:t?.hpa?.min.toString()??"-",isLoading:l},{label:"Max.",value:t?.hpa?.max.toString()??"-",isLoading:l},{label:"Current",value:t?.hpa?.current.toString()??"-",isLoading:l},{label:"Desired",value:t?.hpa?.desired.toString()??"-",isLoading:l}]},{title:"Requests",cells:[{label:"CPU",value:t?.resources?.requests.cpu??"-",isLoading:l},{label:"Memory",value:t?.resources?.requests.memory??"-",isLoading:l}]},{title:"Limits",cells:[{label:"CPU",value:t?.resources?.limits.cpu??"-",isLoading:l},{label:"Memory",value:t?.resources?.limits.memory??"-",isLoading:l}]},{title:"Docker Image",cells:[{value:t?.imageVersion??"-",isLoading:l}]}];case Ve.Node:return[{title:"Nodes",cells:[{label:"Desired",value:a?.nodes?.desired.toString()??"-",isLoading:l},{label:"Ready",value:a?.nodes?.ready.toString()??"-",isLoading:l}]},{title:"Requests",cells:[{label:"CPU",value:a?.resources?.requests.cpu??"-",isLoading:l},{label:"Memory",value:a?.resources?.requests.memory??"-",isLoading:l}]},{title:"Limits",cells:[{label:"CPU",value:a?.resources?.limits.cpu??"-",isLoading:l},{label:"Memory",value:a?.resources?.limits.memory??"-",isLoading:l}]},{title:"Docker Image",cells:[{value:a?.imageVersion??"-",isLoading:l}]}];default:return[]}})(h,v,A,b),[v,A,h,b]),j=a(()=>(h===Ve.Gateway?v?.manifestYAML:A?.manifestYAML)??"",[v,A,h]),T=a(()=>(h===Ve.Gateway?v?.configMapYAML:A?.configMapYAML)??"",[v,A,h]),N=a(()=>h===Ve.Gateway?k:R,[k,R,h]);return e.createElement($,null,e.createElement(Me,{disabled:!p,loading:b,selectedTab:h,setSelectedTab:f,onClickDownloadDiagnose:void 0,onClickRefresh:I}),e.createElement(Y,null,e.createElement(Ne,{icon:ie,title:D,badge:V,statusCard:O,textCards:M,manifestYaml:j,configMapYaml:T}),e.createElement(Se,{isLoading:b,tableRowsMaxHeight:n,pods:N,getExtendedPodInfo:c}),!p&&e.createElement(ge,{minSupportedVersion:1.12,currentVersion:g||""})))};export{Ae as CentralConnections,Ee as PipelineCollectors};
|
package/lib/containers.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e,{useState as t,useEffect as i,forwardRef as a,useRef as n,useImperativeHandle as o,useMemo as l,Fragment as r,useCallback as s,Children as c}from"react";import d,{css as u,useTheme as p}from"styled-components";import{
|
|
1
|
+
import e,{useState as t,useEffect as i,forwardRef as a,useRef as n,useImperativeHandle as o,useMemo as l,Fragment as r,useCallback as s,Children as c}from"react";import d,{css as u,useTheme as p}from"styled-components";import{G as m,H as h,J as g,K as y,M as v,Q as b,R as f,V as x,X as $,Y as k,Z as C,_ as S,$ as w,a0 as T,a1 as D,a2 as N,a3 as E,r as O,a4 as F,a5 as I,a6 as A,a7 as M,a8 as R,a9 as L,aa as P,ab as K,ac as j,ad as V,ae as q,af as z,ag as H,ah as B,q as W,ai as _,aj as J,ak as U,al as G,am as Y,an as X,ao as Z,F as Q,ap as ee,aq as te,ar as ie,as as ae,at as ne,au as oe,av as le,aw as re,ax as se,ay as ce,f as de,az as ue,aA as pe,aB as me,aC as he,aD as ge,aE as ye,aF as ve,aG as be,aH as fe,aI as xe,aJ as $e,aK as ke,aL as Ce,aM as Se,aN as we,c as Te,N as De,aO as Ne,aP as Ee,aQ as Oe,aR as Fe,aS as Ie,aT as Ae,aU as Me,aV as Re,t as Le,aW as Pe,aX as Ke,aY as je,aZ as Ve,a_ as qe,a$ as ze,b0 as He,b1 as Be,b2 as We,b3 as _e,b4 as Je,b5 as Ue,b6 as Ge,b7 as Ye,b8 as Xe,b9 as Ze,ba as Qe,bb as et,bc as tt,bd as it,be as at,bf as nt,bg as ot,bh as lt,bi as rt,bj as st,bk as ct,bl as dt,bm as ut,bn as pt,bo as mt,bp as ht,bq as gt,br as yt,bs as vt,bt,bu as ft,bv as xt,bw as $t,bx as kt,by as Ct,bz as St,bA as wt,bB as Tt,bC as Dt,bD as Nt,bE as Et,bF as Ot,bG as Ft,bH as It,bI as At,bJ as Mt,bK as Rt,bL as Lt,bM as Pt,bN as Kt,bO as jt,bP as Vt,bQ as qt,bR as zt,n as Ht,bS as Bt,bT as Wt,bU as _t,bV as Jt,bW as Ut,bX as Gt,bY as Yt,bZ as Xt,b_ as Zt,b$ as Qt,c0 as ei,g as ti,c1 as ii,c2 as ai,c3 as ni,c4 as oi,c5 as li,c6 as ri,c7 as si,c8 as ci,c9 as di,ca as ui,u as pi,d as mi,cb as hi,cc as gi,cd as yi,ce as vi,cf as bi,cg as fi,ch as xi}from"./chunks/ui-components-92e29f4b.js";import{VSquareIcon as $i,XSquareIcon as ki,EditIcon as Ci,TrashIcon as Si,OdigosLogoText as wi,PlusIcon as Ti,SearchIcon as Di,FilterIcon as Ni,DataStreamIcon as Ei,VIcon as Oi,OdigosLogo as Fi,ArrowIcon as Ii,RefreshLeftArrowIcon as Ai,NotificationIcon as Mi,UserIcon as Ri,ImageErrorIcon as Li,OverviewIcon as Pi,InstrumentationRuleIcon as Ki,ActionIcon as ji,SourceIcon as Vi,DestinationIcon as qi,SlackLogo as zi,RefreshIcon as Hi,KeyIcon as Bi,TerminalIcon as Wi,ExclamationTriangleIcon as _i,TraceViewIcon as Ji}from"./icons.js";import{MarkerType as Ui,useNodesState as Gi,useEdgesState as Yi,applyNodeChanges as Xi}from"@xyflow/react";import{Y as Zi}from"./chunks/index-fe2a432e.js";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const Qi=e=>{const{type:t,name:i,notes:a,signals:n,disabled:o,fields:{collectContainerAttributes:l,collectReplicaSetAttributes:r,collectWorkloadId:s,collectClusterId:c,labelsAttributes:d,annotationsAttributes:u,clusterAttributes:p,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:$,samplingPercentage:k,endpointsFilters:C,servicesNameFilters:S,attributeFilters:w}}=e,T=[{title:m.TYPE,value:t},{type:h.ActiveStatus,title:m.STATUS,value:String(!o)},{type:h.Monitors,title:m.SIGNALS_FOR_PROCESSING,value:n?.map(e=>e.toLowerCase()).join(", ")||""},{title:m.NAME,value:i||""},{title:m.NOTES,value:a||""},{type:h.Divider}];if(t===g.K8sAttributes&&(T.push({title:"Collect Container Attributes",value:String(l)}),T.push({title:"Collect ReplicaSet Attributes",value:String(r)}),T.push({title:"Collect Workload ID",value:String(s)}),T.push({title:"Collect Cluster ID",value:String(c)}),d?.length&&T.push({type:h.Divider}),d?.forEach(({labelKey:e,attributeKey:t,from:i},a)=>{let n="";n+=`Label Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${i||y.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${a+1}`:""),value:n})}),u?.length&&T.push({type:h.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:i},a)=>{let n="";n+=`Annotation Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${i||y.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${a+1}`:""),value:n})})),t===g.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";p?.forEach(({attributeName:t,attributeStringValue:i},a)=>{e+=`${t}: ${i}`,a<p.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.DeleteAttributes){let e="";b?.forEach((t,i)=>{e+=t,i<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([i,a],n)=>{e+=`${i}: ${a}`,n<t.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.PiiMasking){let e="";x?.forEach((t,i)=>{e+=t,i<x.length-1&&(e+=", ")}),T.push({title:"Categories",value:e})}return t===g.ErrorSampler&&T.push({title:"Sampling Ratio",value:String($)}),t===g.ProbabilisticSampler&&T.push({title:"Sampling Percentage",value:String(k)}),t===g.LatencySampler&&C?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:i,fallbackSamplingRatio:a},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`HTTP Route: ${t}\n`,o+=`Min. Latency: ${i}\n`,o+=`Fallback Sampling Ratio: ${a}`,T.push({title:"Endpoint"+(C.length>1?` #${n+1}`:""),value:o})}),t===g.ServiceNameSampler&&S?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Sampling Ratio: ${t}\n`,n+=`Fallback Sampling Ratio: ${i}`,T.push({title:"Filter"+(S.length>1?` #${a+1}`:""),value:n})}),t===g.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:i,condition:a},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`Attribute Key: ${t}\n`,o+=`Fallback Sampling Ratio: ${i}\n`;const l=Object.keys(a)[0];o+=`Condition: ${l}\n`,o+=`Operation: ${a[l]?.operation}\n`,o+=`Expected Value: ${a[l]?.expectedValue}`,"jsonCondition"===l&&(o+=`\nJSON Path: ${a[l].jsonPath}`),T.push({title:"Filter"+(w.length>1?` #${n+1}`:""),value:o})}),T},ea=x.PiiCategories,ta=d.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: row;
|
|
4
4
|
gap: 32px;
|
package/lib/contexts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import r,{createContext as o,useMemo as t,useContext as i}from"react";import{ci as e}from"./chunks/ui-components-
|
|
1
|
+
import r,{createContext as o,useMemo as t,useContext as i}from"react";import{ci as e}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const s=o({tier:void 0,version:void 0,isVersionSupported:!1}),n=({children:o,tier:i,version:e})=>{const n=t(()=>({tier:i,version:e}),[i,e]);return r.createElement(s.Provider,{value:n},o)},p=r=>{const o=i(s),t=!r||o.version&&e(o.version)>=e(r);return{...o,isVersionSupported:t}};export{n as OdigosProvider,p as useOdigos};
|
package/lib/functions.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{bz as capitalizeFirstLetter,cC as cleanObjectEmptyStringsValues,bu as compareCondition,bB as deepClone,aE as filterActions,b7 as filterDestinations,b8 as filterDestinationsByStream,b5 as filterSources,b6 as filterSourcesByStream,cD as flattenObjectKeys,aY as formatBytes,ce as formatDuration,g as generateId,al as getActionIcon,ax as getConditionsBooleans,b0 as getContainersIcons,c9 as getContainersInstrumentedCount,a$ as getDestinationIcon,aL as getEntityIcon,aW as getEntityId,aG as getEntityLabel,cE as getIdFromSseTarget,a_ as getInstrumentationRuleIcon,cF as getMainContainerLanguage,bE as getMetricForEntity,cG as getMonitorIcon,cH as getPlatformIcon,cI as getPlatformLabel,bN as getProgrammingLanguageIcon,cg as getRecursiveValues,cJ as getSseTargetFromId,x as getStatusColor,s as getStatusFromPodStatus,aC as getStatusIcon,bX as getStatusTypeFromOdigosHealth,cK as getValueForRange,bR as getWorkloadId,by as getYamlFieldsForDestination,bY as hasUnhealthyInstances,Z as isEmpty,cL as isLegalK8sLabel,ca as isOverTime,c1 as isStringABoolean,cM as isTimeElapsed,cN as isValidVersion,az as mapConditions,bt as mapDestinationFieldsForDisplay,aX as mapExportedSignals,cO as numbersOnly,c2 as parseBooleanFromString,cP as parseJsonStringToPrettyString,cQ as removeEmptyValuesFromObject,bv as safeJsonParse,cR as safeJsonStringify,aQ as sleep,bf as splitCamelString,cS as stringifyNonStringValues,ci as trimVersion}from"./chunks/ui-components-
|
|
1
|
+
export{bz as capitalizeFirstLetter,cC as cleanObjectEmptyStringsValues,bu as compareCondition,bB as deepClone,aE as filterActions,b7 as filterDestinations,b8 as filterDestinationsByStream,b5 as filterSources,b6 as filterSourcesByStream,cD as flattenObjectKeys,aY as formatBytes,ce as formatDuration,g as generateId,al as getActionIcon,ax as getConditionsBooleans,b0 as getContainersIcons,c9 as getContainersInstrumentedCount,a$ as getDestinationIcon,aL as getEntityIcon,aW as getEntityId,aG as getEntityLabel,cE as getIdFromSseTarget,a_ as getInstrumentationRuleIcon,cF as getMainContainerLanguage,bE as getMetricForEntity,cG as getMonitorIcon,cH as getPlatformIcon,cI as getPlatformLabel,bN as getProgrammingLanguageIcon,cg as getRecursiveValues,cJ as getSseTargetFromId,x as getStatusColor,s as getStatusFromPodStatus,aC as getStatusIcon,bX as getStatusTypeFromOdigosHealth,cK as getValueForRange,bR as getWorkloadId,by as getYamlFieldsForDestination,bY as hasUnhealthyInstances,Z as isEmpty,cL as isLegalK8sLabel,ca as isOverTime,c1 as isStringABoolean,cM as isTimeElapsed,cN as isValidVersion,az as mapConditions,bt as mapDestinationFieldsForDisplay,aX as mapExportedSignals,cO as numbersOnly,c2 as parseBooleanFromString,cP as parseJsonStringToPrettyString,cQ as removeEmptyValuesFromObject,bv as safeJsonParse,cR as safeJsonStringify,aQ as sleep,bf as splitCamelString,cS as stringifyNonStringValues,ci as trimVersion}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/hooks.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{aj as useActionFormData,cW as useBodyScroll,b9 as useClickNode,bS as useClickNotification,b2 as useConnection,b4 as useContainerSize,u as useCopy,bl as useDataStreamFormData,bx as useDestinationFormData,d as useGenericForm,cX as useInfiniteScroll,bO as useInstrumentationRuleFormData,ac as useKeyDown,be as useOnClickOutside,ba as usePopup,bk as useSessionStorage,c3 as useSourceFormData,c7 as useSourceSelectionFormData,n as useTimeAgo,bQ as useTransition}from"./chunks/ui-components-
|
|
1
|
+
export{aj as useActionFormData,cW as useBodyScroll,b9 as useClickNode,bS as useClickNotification,b2 as useConnection,b4 as useContainerSize,u as useCopy,bl as useDataStreamFormData,bx as useDestinationFormData,d as useGenericForm,cX as useInfiniteScroll,bO as useInstrumentationRuleFormData,ac as useKeyDown,be as useOnClickOutside,ba as usePopup,bk as useSessionStorage,c3 as useSourceFormData,c7 as useSourceSelectionFormData,n as useTimeAgo,bQ as useTransition}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type WarningModalProps } from '@/components/_v2';
|
|
3
|
+
export interface DeleteModalProps extends Pick<WarningModalProps, 'onDeny' | 'onApprove'> {
|
|
4
|
+
action?: string;
|
|
5
|
+
target?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const DeleteModal: FC<DeleteModalProps>;
|
package/lib/snippets.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{bq as AddButton,bZ as CopyText,bV as EditButton,bU as Flow,cY as MapItemNode,cZ as NoDataNode,br as NoteBackToSummary,b$ as PodContainer,c4 as SourceContainer}from"./chunks/ui-components-
|
|
1
|
+
export{bq as AddButton,bZ as CopyText,bV as EditButton,bU as Flow,cY as MapItemNode,cZ as NoDataNode,br as NoteBackToSummary,b$ as PodContainer,c4 as SourceContainer}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{cV as useActiveNodeStore,cd as useDarkMode,b3 as useDataStreamStore,ab as useDrawerStore,ai as useEntityStore,aD as useFilterStore,aU as useInstrumentStore,ap as useModalStore,aa as useNotificationStore,a9 as usePendingStore,aT as useSelectedStore,bm as useSetupStore}from"./chunks/ui-components-
|
|
1
|
+
export{cV as useActiveNodeStore,cd as useDarkMode,b3 as useDataStreamStore,ab as useDrawerStore,ai as useEntityStore,aD as useFilterStore,aU as useInstrumentStore,ap as useModalStore,aa as useNotificationStore,a9 as usePendingStore,aT as useSelectedStore,bm as useSetupStore}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/theme.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{r as default}from"./chunks/ui-components-
|
|
1
|
+
export{r as default}from"./chunks/ui-components-92e29f4b.js";import"styled-components";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/lib/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{cj as ActionCategory,V as ActionKeyTypes,
|
|
1
|
+
export{cj as ActionCategory,V as ActionKeyTypes,J as ActionType,cw as AddNodeTypes,cm as BooleanOperation,bJ as CodeAttributesKeyTypes,ao as Crud,bH as CustomInstrumentationsKeyTypes,cx as DestinationTypes,cv as EdgeTypes,ah as EntityTypes,a2 as FieldTypes,bI as GolangCustomProbe,bF as HeadersCollectionKeyTypes,Y as InputTypes,cs as InstallationMethod,bL as InstrumentationRuleType,ct as IntrumentationStatus,bG as JavaCustomProbe,cn as JsonOperation,K as K8sAttributesFrom,c5 as K8sResourceKind,co as ListDirection,bT as NodeTypes,cl as NumberOperation,cB as OdigosHealthStatus,bs as OtherEntityTypes,aB as OtherStatus,O as OtherStatusType,bK as PayloadCollectionKeyTypes,cr as PlatformType,cA as PodContainerLifecycleStatus,cz as PodContainerStatus,cy as PodPhase,cu as Profile,c6 as ProgrammingLanguages,bw as SignalType,cp as SortDirection,q as StatusType,ck as StringOperation,cq as Tier,E as WorkloadRolloutStatus}from"./chunks/ui-components-92e29f4b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import o,{useMemo as s}from"react";import t from"styled-components";import{VIcon as a,CopyIcon as e,YamlIcon as i}from"../icons.js";import{u as n,g as r,S as l,B as c,a as m,b as p,C as u,c as d,N as f}from"./ui-components-82b524d5.js";const b=t.div`
|
|
2
|
-
padding: 0 12px;
|
|
3
|
-
`,y=({yaml:t})=>{const{clickCopy:y,isCopied:g}=n(),C=s(()=>[{id:r(),type:l.Button,buttonProps:{leftIcon:g?a:e,onClick:()=>y(t||""),disabled:g,size:c.S,variant:m.Secondary}}],[t,g]);return o.createElement(p,{icon:i,title:"YAML",actions:C},o.createElement(b,null,t?o.createElement(u,{code:t,language:"yaml",theme:"duotoneDark"}):o.createElement(d,null,o.createElement(f,{title:"No YAML found",subTitle:"The YAML for this resource is not available"}))))};export{y as Y};
|