@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 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.8);
369
- backdrop-filter: blur(10px);
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,allSelected:r,onSelectAll:s})=>{const l=_t();return xt.createElement("tr",null,a&&xt.createElement(Vu,{key:"checkbox-column",$variant:e,$minWidth:24,$isFirst:!0,$isLast:!1},xt.createElement(Np,{value:r||!1,onChange:s})),t.map(({key:r,label:s,sortable:c,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:c||!1,$textAlign:p,onClick:()=>c?i(r):null},xt.createElement(Ii,{size:Ti.XS,align:p},s),c&&xt.createElement(dt,{fill:n===r?l.v2.colors.white[500]:l.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,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`
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})))};export{lp as $,Gp as A,hp as B,Kr as C,ru as D,en as E,ua as F,Xl as G,Kt as H,Na as I,cl as J,Yt as K,yu as L,Cu 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,Ao 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,Su as di,Nu as dj,Iu as dk,_u as dl,Ru as dm,Zu as dn,eh as dp,oh as dq,lh as dr,Di as ds,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};
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};
@@ -21,3 +21,4 @@ export * from './table';
21
21
  export * from './tag';
22
22
  export * from './toggle';
23
23
  export * from './typography';
24
+ export * from './warning-modal';
@@ -8,6 +8,7 @@ interface TableColumnsProps {
8
8
  sortByKey: string;
9
9
  onSort: (key: string) => void;
10
10
  withCheckboxes?: boolean;
11
+ partiallySelected?: boolean;
11
12
  allSelected?: boolean;
12
13
  onSelectAll: (value: boolean) => void;
13
14
  }
@@ -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>;
@@ -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,M as Modal,di as Navbar,dj as Note,dl as Radio,dm as RadioGroup,dk 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,dn as Tag,A as TextCard,k as Toggle,dq as ToggleLabelAlign,dr as ToggleList,l as ToggleSize,dp as ToggleVariant,T as Typography,h as TypographySize,ds as TypographyVariants}from"../chunks/ui-components-82b524d5.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";
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,G 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,J 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-82b524d5.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";
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,E 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-82b524d5.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";
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";
@@ -1,25 +1,25 @@
1
- import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react";import i,{useTheme as n}from"styled-components";import{F as s,d as r,D as d,e as c,f as u,T as g,h as p,i as b,O as m,j as y,k as h,l as f,L as w,m as k,a as C,n as v,P as x,b as $,g as R,S as P,B as I,o as L,p as S,q as A,M as V,r as z,s as D,c as O,t as M,v as j,I as T,w as N,x as U,y as F,z as H,A as W,W as q,U as E}from"../chunks/ui-components-82b524d5.js";import{ConnectionsIcon as Y,OdigosLogo as G,RefreshIcon as B,SettingsIcon as K,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 ie,GatewayIcon as ne,YamlIcon as se}from"../icons.js";import{Y as re}from"../chunks/index-13c41ca4.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="75vw",ge=i.div`
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
- `,pe=i.div`
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
- `,be=i.div`
14
+ `,he=n.div`
15
15
  display: flex;
16
16
  gap: 12px;
17
17
  padding: 16px;
18
- `,me=i(s)`
18
+ `,fe=n(r)`
19
19
  width: ${({$width:e})=>e};
20
20
  gap: 12px;
21
21
  justify-content: space-between;
22
- `,ye=i.div`
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
- `,he=i.div`
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
- `,fe=i.div`
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
- `,we=({isOpen:l,onClose:o,connections:i,selectedConnectionIds:s,setSelectedConnectionIds:v,onApply:x})=>{const $=n(),[R,P]=t(""),I=a(()=>i.filter(e=>!R||e.name.toLowerCase().includes(R.toLowerCase())),[i,R]),L=s.length>0,S=e=>{v(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[A,V]=t(!1),[z,D]=t(void 0),{formData:O,handleFormChange:M,resetFormData:j}=r({automaticRollout:!0});return e.createElement(d,{isOpen:l,hideOverlay:!0,width:ue,header:{icon:Y,title:"Cluster Configuration",onClose:o}},e.createElement(ge,null,e.createElement(pe,null,e.createElement(c,{width:"40%",value:R,onChange:P})),e.createElement(be,null,e.createElement(me,{$width:"40%"},e.createElement(u,{$padding:"0 12px",$justifyContent:"space-between"},e.createElement(u,{$gap:8},e.createElement(g,{size:p.XS},"Clusters"),e.createElement(b,{label:i.length,status:m.Unknown})),e.createElement(u,{$gap:8},e.createElement(g,{size:p.XXXS,color:$.v2.colors.silver[200]},"Selected"),e.createElement(b,{label:`${s.length}/${i.length}`,status:m.Unknown}))),e.createElement(ye,{$isFooterOpen:L,$borderRadius:"16px 0 0 16px"},I.map(t=>e.createElement(he,{key:t.id,onClick:()=>S(t.id)},e.createElement(y,{value:s.includes(t.id),onChange:()=>S(t.id)}),e.createElement(g,{size:p.XS},t.name))))),e.createElement(me,{$width:"60%"},e.createElement(u,{$padding:"2px 12px"},e.createElement(g,{size:p.XS},"Configurations")),e.createElement(ye,{$isFooterOpen:L,$borderRadius:"0 16px 16px 0"},e.createElement(u,{$gap:12},e.createElement(h,{size:f.S,label:"Automatic Rollout "+(O.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:O.automaticRollout,onChange:e=>M("automaticRollout",e)})))))),L&&e.createElement(fe,null,A?e.createElement(w,{label:"Applying configurations...",icon:G,withGradient:!0,typographyProps:{size:p.XXS}}):z?e.createElement(g,{size:p.XXS,color:$.v2.colors.red[500]},z):null,e.createElement("div",{style:{width:"150px"}},e.createElement(k,{variant:C.Secondary,label:"Cancel",fullWidth:!0,onClick:()=>{j(),v([])},disabled:A})),e.createElement("div",{style:{width:"150px"}},e.createElement(k,{variant:C.Primary,label:"Apply",fullWidth:!0,onClick:async()=>{V(!0);const{error:e}=await x(s,O);V(!1),e?D(e):o()},disabled:A}))))};var ke;!function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(ke||(ke={}));const Ce=[{key:ke.Name,label:"Name",sortable:!0},{key:ke.Type,label:"Type",sortable:!0,textAlign:"right"},{key:ke.Status,label:"Status",sortable:!0},{key:ke.OdigosVersion,label:"Odigos Version",sortable:!0},{key:ke.ConnectedSince,label:"Connected Since",sortable:!0},{key:ke.LastActivity,label:"Last Activity",sortable:!0}],ve=({tableRowsMaxHeight:i,connections:n,getConnections:s,onClickConnection:r,deleteConnection:d,applyConfigurations:c})=>{const{formatTimeAgo:u}=v(),[g,p]=t(!1),[y,h]=t(n||[]),[f,w]=t(""),k=l(async()=>{try{p(!0),h(await s()??[])}catch(e){}finally{p(!1)}},[]);o(()=>{y.length||k()},[y.length,k]);const[V,z]=t([]),[D,O]=t(!1),M=a(()=>y.filter(e=>!f||e.name.toLowerCase().includes(f.toLowerCase())).map(t=>({onClick:()=>r(t),isSelected:V.includes(t.id),onSelect:()=>z(e=>[...e,t.id]),onDeselect:()=>z(e=>e.filter(e=>e!==t.id)),cells:[{key:ke.Id,rawValue:t.id},{key:ke.Name,rawValue:t.name},{key:ke.Type,rawValue:t.type},{key:ke.Status,rawValue:t.status,component:()=>(t=>{const a=t===A.Success?"Connection live":"Connection lost",l=t===A.Success?Q:X;return e.createElement(b,{status:t,label:a,leftIcon:l})})(t.status)},{key:ke.OdigosVersion,rawValue:t.odigosVersion},{key:ke.ConnectedSince,rawValue:t.connectedAt?u(t.connectedAt):"-"},{key:ke.LastActivity,rawValue:t.lastSeenAt?u(t.lastSeenAt):"-"}]})),[y,V,f]);return e.createElement(x,null,e.createElement($,{backgroundWeight:"1000",icon:Y,title:"Connections",badge:{label:y.length.toString(),status:m.Unknown},search:{placeholder:"Search by cluster name",value:f,onChange:e=>w(e)},actions:[{id:R(),type:P.Button,buttonProps:{variant:C.Secondary,size:I.S,leftIcon:B,onClick:()=>k(),disabled:g}},{id:R(),type:P.Button,buttonProps:{variant:C.Primary,size:I.S,label:"Configurations",rightIcon:K,onClick:()=>O(!0)}}]},e.createElement(L,{variant:S.Pretty,maxHeight:i,isLoading:g,withCheckboxes:!0,columns:Ce,rows:M,rowActionsPushRightPosition:D?`calc(${ue} - 24px)`:void 0,getRowActions:({cells:e})=>[{id:R(),leftIcon:K,onClick:()=>{const t=e.find(e=>e.key===ke.Id)?.rawValue;t&&(z([t.toString()]),O(!0))}},{id:R(),leftIcon:J,disabled:e.find(e=>e.key===ke.Status)?.rawValue===A.Success,onClick:async()=>{const t=e.find(e=>e.key===ke.Id)?.rawValue;t&&(await d(t.toString()),k())}}]}),e.createElement(we,{isOpen:D,onClose:()=>{z([]),O(!1)},connections:y,selectedConnectionIds:V,setSelectedConnectionIds:z,onApply:c})))},xe=i.div`
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
- `,Pe=i.div`
64
- animation-name: ${z.animations.fade.in};
65
- `,Ie=({pod:l,getExtendedPodInfo:i,onClose:n})=>{const{formatTimeAgo:r}=v(),[c,u]=t(null),[p,b]=t(!1);o(()=>{l?i(l.namespace,l.name).then(e=>u(e??null)):(u(null),b(!1))},[l]);const m=a(()=>[{id:R(),title:"Node",label:c?.node??"-",withCopy:!0},{id:R(),title:"Status",badge:{status:D(c?.status),label:c?.status??"-"}}],[c]),y=a(()=>c?.containers?.map(e=>({id:R(),items:[{id:R(),title:"Container",label:e.name??"-"},{id:R(),title:"Status",badge:{status:D(e.status),label:e.status??"-"},label:e.startedAt?`(since ${r(e.startedAt)})`:""},{id:R(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:R(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:R(),title:"Restarts",label:e.restarts.toString()},{id:R(),title:"State Reason",label:e.stateReason??"-"},{id:R(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:R(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[c]);return e.createElement(d,{isOpen:!!l,header:{icon:Z,title:"Pod Information",onClose:n}},c?null:e.createElement(O,null,e.createElement(M,null)),c?e.createElement(e.Fragment,null,e.createElement($,{icon:Z,title:c.name,withCopyTitle:!0},e.createElement(s,{$gap:24},e.createElement(j,{cellsPerRow:2,items:m}),y.length>0&&e.createElement(s,{$gap:12},e.createElement(Re,{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(Pe,{key:t},e.createElement(j,{cellsPerRow:2,items:a})))))),e.createElement($,{icon:te,title:"Kubectl Commands"},e.createElement(s,{$gap:12},e.createElement(N,{value:`kubectl get pod ${c.name} -n ${c.namespace} -o yaml`}),e.createElement(N,{value:`kubectl describe pod ${c.name} -n ${c.namespace}`}),e.createElement(N,{value:`kubectl logs ${c.name} -n ${c.namespace}`}))),e.createElement(re,{yaml:c.manifestYAML})):null)};var Le;!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"}(Le||(Le={}));const Se=[{key:Le.PodName,label:"Pod Name",sortable:!0},{key:Le.Ready,label:"Ready",sortable:!0,textAlign:"right"},{key:Le.Started,label:"Started",sortable:!0,textAlign:"right"},{key:Le.Status,label:"Status",sortable:!0},{key:Le.Restarts,label:"Restarts",sortable:!0,textAlign:"right"},{key:Le.NodeName,label:"Node Name",sortable:!0},{key:Le.Age,label:"Age",sortable:!0,textAlign:"right"},{key:Le.DockerImage,label:"Docker Image",sortable:!0,textAlign:"right"}],Ae=({isLoading:l,tableRowsMaxHeight:o,pods:i,getExtendedPodInfo:s})=>{const r=n(),{formatTimeAgo:d}=v(),[c,u]=t(null),g=a(()=>{const t=t=>t?e.createElement(ae,{fill:U(r,A.Success,"500"),size:20}):e.createElement(le,{fill:U(r,A.Error,"500"),size:20});return i.map(a=>({onClick:()=>u(a),cells:[{key:Le.PodName,rawValue:a.name},{key:Le.Ready,rawValue:a.ready,component:()=>t(a.ready)},{key:Le.Started,rawValue:a.started,component:()=>t(a.started)},{key:Le.Status,rawValue:a.status,component:()=>{return t=a.status,e.createElement(b,{status:D(t),label:t});var t}},{key:Le.Restarts,rawValue:a.restartsCount.toString()},{key:Le.NodeName,rawValue:a.nodeName},{key:Le.Age,rawValue:d(a.creationTimestamp)},{key:Le.DockerImage,rawValue:a.image}]}))},[i,r]);return e.createElement($,{icon:Z,title:"Pods"},e.createElement(L,{variant:S.Data,maxHeight:o,isLoading:l,columns:Se,rows:g}),e.createElement(Ie,{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"}],De=i.div`
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
- `,Oe=({selectedTab:t,setSelectedTab:a,onClickDownloadDiagnose:l,onClickRefresh:o,loading:i,disabled:n})=>e.createElement(De,null,e.createElement(u,{$gap:12},e.createElement(u,{$gap:8},e.createElement(oe,{size:32}),e.createElement(g,{size:p.M,weight:500},"Pipeline Collectors")),e.createElement(F,{options:ze,selected:t,setSelected:a,disabled:n})),e.createElement(u,{$gap:8},l&&e.createElement(k,{label:"Download Diagnose",leftIcon:ie,size:I.S,variant:C.Text,onClick:l,disabled:n}),o&&e.createElement(k,{label:"Refresh",leftIcon:B,size:I.S,variant:C.Text,onClick:o,loading:i,disabled:n}))),Me=({isOpen:t,onClose:a,title:l,yaml:o})=>e.createElement(d,{isOpen:t,header:{icon:ne,title:l,onClose:a}},e.createElement(re,{yaml:o}));var je;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(je||(je={}));const Te=({icon:a,title:l,badge:o,statusCard:i,textCards:n,manifestYaml:s,configMapYaml:r})=>{const[d,c]=t(null);return e.createElement($,{icon:a,title:l,badge:o,actions:[{id:R(),type:P.ButtonDropData,buttonProps:{variant:C.Secondary,size:I.S,label:"View YAML",onClick:e=>c(e)},dropDataItems:[{id:je.ManifestYaml,label:l,icon:se},{id:je.ConfigMapYaml,label:"ConfigMap",icon:se}]}]},e.createElement(u,{$gap:16},e.createElement(H,{...i}),n.map(t=>e.createElement(W,{key:t.title,...t}))),e.createElement(Me,{isOpen:d===je.ManifestYaml,onClose:()=>c(null),title:l,yaml:s}),e.createElement(Me,{isOpen:d===je.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:r}))},Ne=e=>{switch(e){case q.Healthy:return"All desired replicas are updated, available, and ready";case q.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case q.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case q.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case q.Down:return"No available replicas";case q.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},Ue=({tableRowsMaxHeight:i,getGatewayInfo:n,getGatewayPods:s,getNodeCollectorInfo:r,getNodeCollectorPods:d,getExtendedPodInfo:c})=>{const{formatTimeAgo:u}=v(),{isVersionSupported:g,version:p}=de(1.12),[b,y]=t(!1),[h,f]=t(Ve.Gateway),[w,k]=t(null),[C,$]=t([]),[R,P]=t(null),[I,L]=t([]),S=l(async()=>{y(!0);try{switch(h){case Ve.Gateway:k(await n()??null),$(await s()??[]);break;case Ve.Node:P(await r()??null),L(await d()??[])}}catch(e){}y(!1)},[h]);o(()=>{S()},[S]);const V=a(()=>(e=>{switch(e){case Ve.Gateway:return"Deployment";case Ve.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(h),[h]),z=a(()=>((e,t,a,l)=>{const o={status:m.Disabled,label:"No rollouts yet"};let i=!1,n=null;switch(e){case Ve.Gateway:i=t?.rolloutInProgress??!1,n=t?.lastRolloutAt??null;break;case Ve.Node:i=a?.rolloutInProgress??!1,n=a?.lastRolloutAt??null;break;default:return o}return i?{status:A.Info,label:"Rollout in progress",rightIcon:B,useSecondaryTone:!0}:n?{status:m.Disabled,label:`Last Rollout: ${l(n)}`}:o})(h,w,R,u),[w,R,h,u]),O=a(()=>((e,t,a,l)=>{let o=l?A.Info:m.Unknown,i=l?"Loading":q.Unknown,n=l?"Fetching data...":Ne(q.Unknown);switch(e){case Ve.Gateway:o=t?.status?D(t?.status):o,i=t?.status??i,n=t?.status?Ne(t.status):n;break;case Ve.Node:o=a?.status?D(a?.status):o,i=a?.status??i,n=a?.status?Ne(a.status):n}return{status:o,title:i,description:n}})(h,w,R,b),[w,R,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,w,R,b),[w,R,h,b]),j=a(()=>(h===Ve.Gateway?w?.manifestYAML:R?.manifestYAML)??"",[w,R,h]),T=a(()=>(h===Ve.Gateway?w?.configMapYAML:R?.configMapYAML)??"",[w,R,h]),N=a(()=>h===Ve.Gateway?C:I,[C,I,h]);return e.createElement(x,null,e.createElement(Oe,{disabled:!g,loading:b,selectedTab:h,setSelectedTab:f,onClickDownloadDiagnose:void 0,onClickRefresh:S}),e.createElement(E,null,e.createElement(Te,{icon:ne,title:V,badge:z,statusCard:O,textCards:M,manifestYaml:j,configMapYaml:T}),e.createElement(Ae,{isLoading:b,tableRowsMaxHeight:i,pods:N,getExtendedPodInfo:c}),!g&&e.createElement($e,{minSupportedVersion:1.12,currentVersion:p||""})))};export{ve as CentralConnections,Ue as PipelineCollectors};
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{E as m,G as h,H as g,K as y,J 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-82b524d5.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-13c41ca4.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`
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-82b524d5.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};
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-82b524d5.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";
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-82b524d5.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";
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,4 @@
1
+ import { type FC } from 'react';
2
+ import { type WarningModalProps } from '@/components/_v2';
3
+ export type CancelModalProps = Pick<WarningModalProps, 'onDeny' | 'onApprove'>;
4
+ export declare const CancelModal: FC<CancelModalProps>;
@@ -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>;
@@ -1,2 +1,4 @@
1
- export * from './upgrade-required';
1
+ export * from './cancel-modal';
2
+ export * from './delete-modal';
3
+ export * from './upgrade-modal';
2
4
  export * from './yaml-section-card';
@@ -0,0 +1,6 @@
1
+ import { type FC } from 'react';
2
+ export interface UpgradeModalProps {
3
+ minSupportedVersion: number;
4
+ currentVersion: string;
5
+ }
6
+ export declare const UpgradeModal: FC<UpgradeModalProps>;
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-82b524d5.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";
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-82b524d5.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";
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-82b524d5.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";
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,H 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,W as WorkloadRolloutStatus}from"./chunks/ui-components-82b524d5.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";
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.150",
3
+ "version": "0.0.151",
4
4
  "author": "Odigos",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -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};
@@ -1,6 +0,0 @@
1
- import { type FC } from 'react';
2
- export interface UpgradeRequiredProps {
3
- minSupportedVersion: number;
4
- currentVersion: string;
5
- }
6
- export declare const UpgradeRequired: FC<UpgradeRequiredProps>;