@odigos/ui-kit 0.0.140 → 0.0.142

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.
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode, type FC } from 'react';
2
+ import Theme from '@/theme';
2
3
  import type { SVG } from '@/types';
3
4
  import { type BadgeProps } from '../../badge';
4
5
  import { type SearchProps } from '../../search';
@@ -14,6 +15,7 @@ export declare enum SectionCardActionType {
14
15
  }
15
16
  export interface SectionCardProps {
16
17
  size?: SectionCardSize;
18
+ backgroundWeight?: keyof typeof Theme.palletes.baseTheme.v2.colors.silver;
17
19
  icon: SVG;
18
20
  title: string;
19
21
  withCopyTitle?: boolean;
@@ -1,13 +1,14 @@
1
1
  import { type FC } from 'react';
2
2
  import { CSSProperties } from 'styled-components';
3
- import type { TableColumn, TableRow, TableRowAction } from './types';
3
+ import { type TableColumn, type TableRow, type TableRowAction, TableVariant } from './types';
4
4
  export * from './types';
5
5
  export interface TableProps {
6
+ variant: TableVariant;
6
7
  maxHeight?: CSSProperties['maxHeight'];
7
8
  isLoading?: boolean;
8
9
  columns: TableColumn[];
9
10
  rows: TableRow[];
10
- rowActions?: TableRowAction[];
11
+ getRowActions?: (row: TableRow) => TableRowAction[];
11
12
  rowActionsPushRightPosition?: CSSProperties['width'];
12
13
  withCheckboxes?: boolean;
13
14
  }
@@ -1,11 +1,14 @@
1
- import type { CSSProperties } from 'react';
2
- import type { TableColumn } from './types';
1
+ import { type CSSProperties } from 'react';
2
+ import { type TableColumn, TableVariant } from './types';
3
3
  export declare const Container: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
4
4
  $maxHeight: CSSProperties["maxHeight"];
5
5
  }>> & string;
6
- export declare const TableRoot: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>, never>> & string;
6
+ export declare const TableRoot: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>, {
7
+ $variant: TableVariant;
8
+ }>> & string;
7
9
  export declare const THead: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, never>> & string;
8
10
  export declare const Th: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, {
11
+ $variant: TableVariant;
9
12
  $minWidth?: TableColumn["minWidth"];
10
13
  $isFirst: boolean;
11
14
  $isLast: boolean;
@@ -13,6 +16,7 @@ export declare const Th: import("styled-components/dist/types").IStyledComponent
13
16
  export declare const ThBorder: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
14
17
  export declare const TBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, never>> & string;
15
18
  export declare const Td: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {
19
+ $variant: TableVariant;
16
20
  $withClick: boolean;
17
21
  $hovered: boolean;
18
22
  $selected: boolean;
@@ -1,12 +1,15 @@
1
1
  import { type FC } from 'react';
2
2
  import { SortDirection } from '@/types';
3
- import type { TableColumn } from '../types';
3
+ import { type TableColumn, TableVariant } from '../types';
4
4
  interface TableColumnsProps {
5
+ variant: TableVariant;
5
6
  columns: TableColumn[];
6
7
  sortDirection: SortDirection;
7
8
  sortByKey: string;
8
9
  onSort: (key: string) => void;
9
10
  withCheckboxes?: boolean;
11
+ allSelected?: boolean;
12
+ onSelectAll: (value: boolean) => void;
10
13
  }
11
14
  export declare const TableColumns: FC<TableColumnsProps>;
12
15
  export {};
@@ -1,9 +1,8 @@
1
1
  import { type CSSProperties, type FC } from 'react';
2
- import type { TableRow, TableRowAction } from '../../types';
2
+ import type { TableRowAction } from '../../types';
3
3
  interface ActionsProps {
4
4
  rowActions: TableRowAction[];
5
5
  rowActionsPushRightPosition?: CSSProperties['width'];
6
- row: TableRow;
7
6
  }
8
7
  export declare const Actions: FC<ActionsProps>;
9
8
  export {};
@@ -1,9 +1,10 @@
1
1
  import { type FC, type CSSProperties } from 'react';
2
- import type { TableColumn, TableRow, TableRowAction } from '../types';
2
+ import type { TableColumn, TableRow, TableRowAction, TableVariant } from '../types';
3
3
  interface TableRowsProps {
4
+ variant: TableVariant;
4
5
  columns: TableColumn[];
5
6
  rows: TableRow[];
6
- rowActions: TableRowAction[];
7
+ getRowActions: (row: TableRow) => TableRowAction[];
7
8
  rowActionsPushRightPosition?: CSSProperties['width'];
8
9
  withCheckboxes?: boolean;
9
10
  }
@@ -1,5 +1,9 @@
1
1
  import { type CSSProperties, type FC } from 'react';
2
2
  import { type ButtonProps } from '../button';
3
+ export declare enum TableVariant {
4
+ Data = "data",
5
+ Pretty = "pretty"
6
+ }
3
7
  export interface TableColumn {
4
8
  key: string;
5
9
  label: string;
@@ -20,5 +24,5 @@ export interface TableRow {
20
24
  }
21
25
  export interface TableRowAction extends Pick<ButtonProps, 'label' | 'leftIcon' | 'rightIcon' | 'variant' | 'size' | 'loading' | 'disabled'> {
22
26
  id: string;
23
- onClick: (row: TableRow) => void;
27
+ onClick: () => void;
24
28
  }
@@ -1 +1 @@
1
- export{B as Badge,f as Button,l as ButtonSize,d4 as ButtonTab,d5 as ButtonTabList,g as ButtonVariants,C as Checkbox,d9 as CheckboxList,d8 as CheckboxListDirection,d7 as CheckboxSize,v as CliCommand,t as DataCard,D as Drawer,da as DropData,db as Header,I as IconButton,c7 as IconButtonSize,dc as Input,L as Loader,dd as Modal,de as Navbar,df as Note,dh as Radio,dj as RadioGroup,di as RadioGroupDirection,dg as RadioSize,S as Search,i as SectionCard,k as SectionCardActionType,d6 as SectionCardSize,y as Segment,z as StatusCard,m as Table,dk as Tag,A as TextCard,c as Toggle,d as ToggleSize,dl as ToggleVariant,T as Typography,b as TypographySize,dm as TypographyVariants}from"../chunks/ui-components-eab2149b.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{B as Badge,f as Button,l as ButtonSize,d5 as ButtonTab,d6 as ButtonTabList,g as ButtonVariants,C as Checkbox,da as CheckboxList,d9 as CheckboxListDirection,d8 as CheckboxSize,w as CliCommand,v as DataCard,D as Drawer,db as DropData,dc as Header,I as IconButton,c8 as IconButtonSize,dd as Input,L as Loader,de as Modal,df as Navbar,dg as Note,di as Radio,dk as RadioGroup,dj as RadioGroupDirection,dh as RadioSize,S as Search,i as SectionCard,k as SectionCardActionType,d7 as SectionCardSize,z as Segment,A as StatusCard,m as Table,n as TableVariant,dl as Tag,E as TextCard,c as Toggle,d as ToggleSize,dm as ToggleVariant,T as Typography,b as TypographySize,dn as TypographyVariants}from"../chunks/ui-components-6220f061.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{at as AutocompleteInput,aM as Badge,aP as Button,ae as CancelWarning,r as CenterThis,M as Checkbox,w as Code,ak as ConditionDetails,al as DataCard,G as DataCardFieldTypes,bA as DataCardFields,cU as DataFinger,aS as DataTab,ad as DeleteWarning,bX as DescribeRow,au as Divider,a4 as DocsButton,ac as Drawer,cW as DrawerFooter,cV as DrawerHeader,bd as Dropdown,cX as ErrorBoundary,bm as ExtendArrow,s as FadeLoader,Q as FieldError,J as FieldLabel,F as FlexColumn,a as FlexRow,cY as Header,bl as IconButton,c4 as IconGroup,aH as IconTitleBadge,aC as IconWrapped,bT as IconsNav,cZ as ImageControlled,U as Input,$ as InputList,Y as InputTable,aK as InteractiveTable,_ as KeyValueInputsList,aO as LoadingText,ao as Modal,aq as ModalBody,a5 as MonitorsCheckboxes,aE as MonitorsIcons,ap as NavigationButtons,N as NoDataFound,ar as NotificationNote,d3 as Overlay,P as PageContent,b8 as Popup,c8 as PopupForm,cd as ScrollX,aW as ScrollY,a3 as SectionTitle,a2 as Segment,b9 as SelectionButton,a_ as SkeletonLoader,aw as Status,bz as Stepper,c_ as TabList,aF as TableContainer,aG as TableTitleWrap,aJ as TableWrap,bJ as Tag,a1 as Text,a6 as TextArea,Z as Toggle,cb as ToggleCodeComponent,e as Tooltip,aL as TraceLoader,ba as VerticalScroll,d2 as WarningModal,c$ as getLinksFromText,d0 as getStrongsFromText,d1 as renderText}from"./chunks/ui-components-eab2149b.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{au as AutocompleteInput,aN as Badge,aQ as Button,af as CancelWarning,s as CenterThis,Q as Checkbox,x as Code,al as ConditionDetails,am as DataCard,H as DataCardFieldTypes,bB as DataCardFields,cV as DataFinger,aT as DataTab,ae as DeleteWarning,bY as DescribeRow,av as Divider,a5 as DocsButton,ad as Drawer,cX as DrawerFooter,cW as DrawerHeader,be as Dropdown,cY as ErrorBoundary,bn as ExtendArrow,t as FadeLoader,R as FieldError,M as FieldLabel,F as FlexColumn,a as FlexRow,cZ as Header,bm as IconButton,c5 as IconGroup,aI as IconTitleBadge,aD as IconWrapped,bU as IconsNav,c_ as ImageControlled,V as Input,a0 as InputList,Z as InputTable,aL as InteractiveTable,$ as KeyValueInputsList,aP as LoadingText,ap as Modal,ar as ModalBody,a6 as MonitorsCheckboxes,aF as MonitorsIcons,aq as NavigationButtons,N as NoDataFound,as as NotificationNote,d4 as Overlay,P as PageContent,b9 as Popup,c9 as PopupForm,ce as ScrollX,aX as ScrollY,a4 as SectionTitle,a3 as Segment,ba as SelectionButton,a$ as SkeletonLoader,ax as Status,bA as Stepper,c$ as TabList,aG as TableContainer,aH as TableTitleWrap,aK as TableWrap,bK as Tag,a2 as Text,a7 as TextArea,_ as Toggle,cc as ToggleCodeComponent,e as Tooltip,aM as TraceLoader,bb as VerticalScroll,d3 as WarningModal,d0 as getLinksFromText,d1 as getStrongsFromText,d2 as renderText}from"./chunks/ui-components-6220f061.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{ai as ACTION_OPTIONS,ab as BUTTON_TEXTS,bk as DEFAULT_DATA_STREAM_NAME,bx as DESTINATION_CATEGORIES,be as DISPLAY_LANGUAGES,E as DISPLAY_TITLES,as as FORM_ALERTS,bM as INSTRUMENTATION_RULE_OPTIONS,cN as LANGUAGE_OPTIONS,bf as MONITORS_OPTIONS,bg as STORAGE_KEYS,cO as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-eab2149b.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 ACTION_OPTIONS,ac as BUTTON_TEXTS,bl as DEFAULT_DATA_STREAM_NAME,by as DESTINATION_CATEGORIES,bf as DISPLAY_LANGUAGES,G as DISPLAY_TITLES,at as FORM_ALERTS,bN as INSTRUMENTATION_RULE_OPTIONS,cO as LANGUAGE_OPTIONS,bg as MONITORS_OPTIONS,bh as STORAGE_KEYS,cP as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-6220f061.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 a,useMemo as t,useCallback as l,useEffect as o}from"react";import i,{useTheme as n}from"styled-components";import{F as s,u as r,D as c,S as d,a as u,T as p,b as g,B as b,O as m,C as y,c as C,d as h,e as k,L as f,f as w,g as v,h as x,P as $,i as L,j as P,k as I,l as R,m as A,n as z,o as S,p as M,q as D,r as V,s as N,t as O,I as T,v as j,w as Y,x as F,y as H,N as U,z as E,A as q,W as G}from"../chunks/ui-components-eab2149b.js";import{ConnectionsIcon as W,OdigosLogo as B,RefreshIcon as K,SettingsIcon as J,DeleteIcon as Q,VIcon as X,XIcon as Z,PodIcon as _,ChevronUpIcon as ee,ChevronDownIcon as ae,TerminalIcon as te,YamlIcon as le,CopyIcon as oe,VSquareIcon as ie,XSquareIcon as ne,PipelineCollectorIcon as se,DownloadIcon as re,GatewayIcon as ce}from"../icons.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 de="75vw",ue=i.div`
1
+ import e,{useState as a,useMemo as t,useCallback as l,useEffect as o}from"react";import i,{useTheme as n}from"styled-components";import{F as s,u as r,D as c,S as d,a as u,T as p,b as g,B as b,O as m,C as y,c as h,d as C,e as k,L as f,f as w,g as v,h as x,P as $,i as L,j as P,k as R,l as I,m as A,n as z,o as S,p as M,q as D,r as V,s as N,t as O,v as T,I as j,w as Y,x as F,y as H,z as E,N as U,A as W,E as q,W as G}from"../chunks/ui-components-6220f061.js";import{ConnectionsIcon as B,OdigosLogo as K,RefreshIcon as J,SettingsIcon as Q,DeleteIcon as X,VIcon as Z,XIcon as _,PodIcon as ee,ChevronUpIcon as ae,ChevronDownIcon as te,TerminalIcon as le,YamlIcon as oe,CopyIcon as ie,VSquareIcon as ne,XSquareIcon as se,PipelineCollectorIcon as re,DownloadIcon as ce,GatewayIcon as de}from"../icons.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",pe=i.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
+ `,ge=i.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
- `,ge=i.div`
14
+ `,be=i.div`
15
15
  display: flex;
16
16
  gap: 12px;
17
17
  padding: 16px;
18
- `,be=i(s)`
18
+ `,me=i(s)`
19
19
  width: ${({$width:e})=>e};
20
20
  gap: 12px;
21
21
  justify-content: space-between;
22
- `,me=i.div`
22
+ `,ye=i.div`
23
23
  display: flex;
24
24
  flex-direction: column;
25
25
  padding: 12px;
@@ -29,7 +29,7 @@ import e,{useState as a,useMemo as t,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
- `,ye=i.div`
32
+ `,he=i.div`
33
33
  display: flex;
34
34
  align-items: center;
35
35
  gap: 12px;
@@ -46,7 +46,7 @@ import e,{useState as a,useMemo as t,useCallback as l,useEffect as o}from"react"
46
46
  justify-content: flex-end;
47
47
  gap: 16px;
48
48
  padding: 0 24px;
49
- `,he=({isOpen:l,onClose:o,connections:i,selectedConnectionIds:s,setSelectedConnectionIds:x,onApply:$})=>{const L=n(),[P,I]=a(""),R=t(()=>i.filter(e=>!P||e.name.toLowerCase().includes(P.toLowerCase())),[i,P]),A=s.length>0,z=e=>{x(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[S,M]=a(!1),[D,V]=a(void 0),{formData:N,handleFormChange:O,resetFormData:T}=r({automaticRollout:!0});return e.createElement(c,{isOpen:l,hideOverlay:!0,width:de,header:{icon:W,title:"Cluster Configuration",onClose:o}},e.createElement(ue,null,e.createElement(pe,null,e.createElement(d,{value:P,onChange:I})),e.createElement(ge,null,e.createElement(be,{$width:"40%"},e.createElement(u,{$padding:"0 12px",$justifyContent:"space-between"},e.createElement(u,{$gap:8},e.createElement(p,{size:g.XS},"Clusters"),e.createElement(b,{label:i.length,status:m.Unknown})),e.createElement(u,{$gap:8},e.createElement(p,{size:g.XXXS,color:L.v2.colors.silver[200]},"Selected"),e.createElement(b,{label:`${s.length}/${i.length}`,status:m.Unknown}))),e.createElement(me,{$isFooterOpen:A,$borderRadius:"16px 0 0 16px"},R.map(a=>e.createElement(ye,{key:a.id,onClick:()=>z(a.id)},e.createElement(y,{value:s.includes(a.id),onChange:()=>z(a.id)}),e.createElement(p,{size:g.XS},a.name))))),e.createElement(be,{$width:"60%"},e.createElement(u,{$padding:"2px 12px"},e.createElement(p,{size:g.XS},"Configurations")),e.createElement(me,{$isFooterOpen:A,$borderRadius:"0 16px 16px 0"},e.createElement(u,{$gap:12},e.createElement(p,{size:g.XS},"Automatic Rollout"),e.createElement(C,{size:h.S,value:N.automaticRollout,onChange:e=>O("automaticRollout",e)}),e.createElement(k,{text:"Automatic Rollout",withIcon:!0})))))),A&&e.createElement(Ce,null,S?e.createElement(f,{label:"Applying configurations...",icon:B,withGradient:!0,typographyProps:{size:g.XXS}}):D?e.createElement(p,{size:g.XXS,color:L.v2.colors.red[500]},D):null,e.createElement("div",{style:{width:"150px"}},e.createElement(w,{variant:v.Secondary,label:"Cancel",fullWidth:!0,onClick:()=>{T(),x([])},disabled:S})),e.createElement("div",{style:{width:"150px"}},e.createElement(w,{variant:v.Primary,label:"Apply",fullWidth:!0,onClick:async()=>{M(!0);const{error:e}=await $(s,N);M(!1),e?V(e):o()},disabled:S}))))};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 fe=[{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}],we=({tableRowsMaxHeight:i,connections:n,getConnections:s,onClickConnection:r,deleteConnection:c,applyConfigurations:d})=>{const{formatTimeAgo:u}=x(),[p,g]=a(!1),[y,C]=a(n||[]),[h,k]=a(""),f=l(async()=>{try{g(!0),C(await s()??[])}catch(e){}finally{g(!1)}},[]);o(()=>{y.length||f()},[y.length,f]);const[w,S]=a([]),[M,D]=a(!1),V=t(()=>y.map(a=>({onClick:()=>r(a.id),isSelected:w.includes(a.id),onSelect:()=>S(e=>[...e,a.id]),onDeselect:()=>S(e=>e.filter(e=>e!==a.id)),cells:[{key:ke.Id,rawValue:a.id},{key:ke.Name,rawValue:a.name},{key:ke.Type,rawValue:a.type},{key:ke.Status,rawValue:a.status,component:()=>(a=>{const t=a===z.Success?"Connection live":"Connection lost",l=a===z.Success?X:Z;return e.createElement(b,{status:a,label:t,leftIcon:l})})(a.status)},{key:ke.OdigosVersion,rawValue:a.odigosVersion},{key:ke.ConnectedSince,rawValue:a.connectedAt?u(a.connectedAt):"-"},{key:ke.LastActivity,rawValue:a.lastSeenAt?u(a.lastSeenAt):"-"}]})),[y,w]);return e.createElement($,null,e.createElement(L,{icon:W,title:"Connections",badge:{label:y.length.toString(),status:m.Unknown},search:{placeholder:"Search by cluster name",value:h,onChange:e=>k(e)},actions:[{id:P(),type:I.Button,buttonProps:{variant:v.Secondary,size:R.S,label:"",leftIcon:K,onClick:()=>f(),disabled:p}},{id:P(),type:I.Button,buttonProps:{variant:v.Primary,size:R.S,label:"Configurations",rightIcon:J,onClick:()=>D(!0)}}]},e.createElement(A,{maxHeight:i,isLoading:p,withCheckboxes:!0,columns:fe,rows:V,rowActionsPushRightPosition:M?`calc(${de} - 24px)`:void 0,rowActions:[{id:P(),label:"",leftIcon:J,onClick:({cells:e})=>{const a=e.find(e=>e.key===ke.Id)?.rawValue;a&&(S([a.toString()]),D(!0))},variant:v.Secondary,size:R.S},{id:P(),label:"",leftIcon:Q,onClick:async({cells:e})=>{const a=e.find(e=>e.key===ke.Id)?.rawValue;a&&(await c(a.toString()),f())},variant:v.Secondary,size:R.S}]}),e.createElement(he,{isOpen:M,onClose:()=>{S([]),D(!1)},connections:y,selectedConnectionIds:w,setSelectedConnectionIds:S,onApply:d})))},ve=i.div`
49
+ `,ke=({isOpen:l,onClose:o,connections:i,selectedConnectionIds:s,setSelectedConnectionIds:x,onApply:$})=>{const L=n(),[P,R]=a(""),I=t(()=>i.filter(e=>!P||e.name.toLowerCase().includes(P.toLowerCase())),[i,P]),A=s.length>0,z=e=>{x(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[S,M]=a(!1),[D,V]=a(void 0),{formData:N,handleFormChange:O,resetFormData:T}=r({automaticRollout:!0});return e.createElement(c,{isOpen:l,hideOverlay:!0,width:ue,header:{icon:B,title:"Cluster Configuration",onClose:o}},e.createElement(pe,null,e.createElement(ge,null,e.createElement(d,{value:P,onChange:R})),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(p,{size:g.XS},"Clusters"),e.createElement(b,{label:i.length,status:m.Unknown})),e.createElement(u,{$gap:8},e.createElement(p,{size:g.XXXS,color:L.v2.colors.silver[200]},"Selected"),e.createElement(b,{label:`${s.length}/${i.length}`,status:m.Unknown}))),e.createElement(ye,{$isFooterOpen:A,$borderRadius:"16px 0 0 16px"},I.map(a=>e.createElement(he,{key:a.id,onClick:()=>z(a.id)},e.createElement(y,{value:s.includes(a.id),onChange:()=>z(a.id)}),e.createElement(p,{size:g.XS},a.name))))),e.createElement(me,{$width:"60%"},e.createElement(u,{$padding:"2px 12px"},e.createElement(p,{size:g.XS},"Configurations")),e.createElement(ye,{$isFooterOpen:A,$borderRadius:"0 16px 16px 0"},e.createElement(u,{$gap:12},e.createElement(p,{size:g.XS},"Automatic Rollout"),e.createElement(h,{size:C.S,value:N.automaticRollout,onChange:e=>O("automaticRollout",e)}),e.createElement(k,{text:"Automatic Rollout",withIcon:!0})))))),A&&e.createElement(Ce,null,S?e.createElement(f,{label:"Applying configurations...",icon:K,withGradient:!0,typographyProps:{size:g.XXS}}):D?e.createElement(p,{size:g.XXS,color:L.v2.colors.red[500]},D):null,e.createElement("div",{style:{width:"150px"}},e.createElement(w,{variant:v.Secondary,label:"Cancel",fullWidth:!0,onClick:()=>{T(),x([])},disabled:S})),e.createElement("div",{style:{width:"150px"}},e.createElement(w,{variant:v.Primary,label:"Apply",fullWidth:!0,onClick:async()=>{M(!0);const{error:e}=await $(s,N);M(!1),e?V(e):o()},disabled:S}))))};var fe;!function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}(fe||(fe={}));const we=[{key:fe.Name,label:"Name",sortable:!0},{key:fe.Type,label:"Type",sortable:!0,textAlign:"right"},{key:fe.Status,label:"Status",sortable:!0},{key:fe.OdigosVersion,label:"Odigos Version",sortable:!0},{key:fe.ConnectedSince,label:"Connected Since",sortable:!0},{key:fe.LastActivity,label:"Last Activity",sortable:!0}],ve=({tableRowsMaxHeight:i,connections:n,getConnections:s,onClickConnection:r,deleteConnection:c,applyConfigurations:d})=>{const{formatTimeAgo:u}=x(),[p,g]=a(!1),[y,h]=a(n||[]),[C,k]=a(""),f=l(async()=>{try{g(!0),h(await s()??[])}catch(e){}finally{g(!1)}},[]);o(()=>{y.length||f()},[y.length,f]);const[w,M]=a([]),[D,V]=a(!1),N=t(()=>y.filter(e=>!C||e.name.toLowerCase().includes(C.toLowerCase())).map(a=>({onClick:()=>r(a.id),isSelected:w.includes(a.id),onSelect:()=>M(e=>[...e,a.id]),onDeselect:()=>M(e=>e.filter(e=>e!==a.id)),cells:[{key:fe.Id,rawValue:a.id},{key:fe.Name,rawValue:a.name},{key:fe.Type,rawValue:a.type},{key:fe.Status,rawValue:a.status,component:()=>(a=>{const t=a===S.Success?"Connection live":"Connection lost",l=a===S.Success?Z:_;return e.createElement(b,{status:a,label:t,leftIcon:l})})(a.status)},{key:fe.OdigosVersion,rawValue:a.odigosVersion},{key:fe.ConnectedSince,rawValue:a.connectedAt?u(a.connectedAt):"-"},{key:fe.LastActivity,rawValue:a.lastSeenAt?u(a.lastSeenAt):"-"}]})),[y,w,C]);return e.createElement($,null,e.createElement(L,{backgroundWeight:"1000",icon:B,title:"Connections",badge:{label:y.length.toString(),status:m.Unknown},search:{placeholder:"Search by cluster name",value:C,onChange:e=>k(e)},actions:[{id:P(),type:R.Button,buttonProps:{variant:v.Secondary,size:I.S,label:"",leftIcon:J,onClick:()=>f(),disabled:p}},{id:P(),type:R.Button,buttonProps:{variant:v.Primary,size:I.S,label:"Configurations",rightIcon:Q,onClick:()=>V(!0)}}]},e.createElement(A,{variant:z.Pretty,maxHeight:i,isLoading:p,withCheckboxes:!0,columns:we,rows:N,rowActionsPushRightPosition:D?`calc(${ue} - 24px)`:void 0,getRowActions:({cells:e})=>[{id:P(),label:"",leftIcon:Q,onClick:()=>{const a=e.find(e=>e.key===fe.Id)?.rawValue;a&&(M([a.toString()]),V(!0))},variant:v.Secondary,size:I.S},{id:P(),label:"",leftIcon:X,disabled:e.find(e=>e.key===fe.Status)?.rawValue===S.Success,onClick:async()=>{const a=e.find(e=>e.key===fe.Id)?.rawValue;a&&(await c(a.toString()),f())},variant:v.Secondary,size:I.S}]}),e.createElement(ke,{isOpen:D,onClose:()=>{M([]),V(!1)},connections:y,selectedConnectionIds:w,setSelectedConnectionIds:M,onApply:d})))},xe=i.div`
50
50
  display: flex;
51
51
  align-items: center;
52
52
  justify-content: space-between;
@@ -58,10 +58,10 @@ import e,{useState as a,useMemo as t,useCallback as l,useEffect as o}from"react"
58
58
  &:hover {
59
59
  background: ${({theme:e})=>e.v2.colors.silver[700]};
60
60
  }
61
- `,xe=i.div`
62
- animation-name: ${S.animations.fade.in};
63
- `,$e=({pod:l,getExtendedPodInfo:i,onClose:n})=>{const{formatTimeAgo:r}=x(),{clickCopy:d,isCopied:u}=M(),[g,b]=a(null),[m,y]=a(!1);o(()=>{l?i(l.namespace,l.name).then(e=>b(e??null)):(b(null),y(!1))},[l]);const C=t(()=>[{id:P(),title:"Node",label:g?.node??"-",withCopy:!0},{id:P(),title:"Status",badge:{status:D(g?.status),label:g?.status??"-"}}],[g]),h=t(()=>g?.containers?.map(e=>({id:P(),items:[{id:P(),title:"Container",label:e.name??"-"},{id:P(),title:"Status",badge:{status:D(e.status),label:e.status??"-"},label:e.startedAt?`(since ${r(e.startedAt)})`:""},{id:P(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:P(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:P(),title:"Restarts",label:e.restarts.toString()},{id:P(),title:"State Reason",label:e.stateReason??"-"},{id:P(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:P(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[g]);return e.createElement(c,{isOpen:!!l,header:{icon:_,title:"Pod Information",onClose:n}},g?null:e.createElement(V,null,e.createElement(N,null)),g?e.createElement(e.Fragment,null,e.createElement(L,{icon:_,title:g.name,withCopyTitle:!0},e.createElement(s,{$gap:24},e.createElement(O,{cellsPerRow:2,items:C}),h.length>0&&e.createElement(s,{$gap:12},e.createElement(ve,{onClick:()=>y(e=>!e)},e.createElement(p,null,"Containers Overview"),e.createElement(T,{icon:m?ee:ae})),m&&h.map(({id:a,items:t})=>e.createElement(xe,{key:a},e.createElement(O,{cellsPerRow:2,items:t})))))),e.createElement(L,{icon:te,title:"Kubectl Commands"},e.createElement(s,{$gap:12},e.createElement(j,{value:`kubectl get pod ${g.name} -n ${g.namespace} -o yaml`}),e.createElement(j,{value:`kubectl describe pod ${g.name} -n ${g.namespace}`}),e.createElement(j,{value:`kubectl logs ${g.name} -n ${g.namespace}`}))),e.createElement(L,{icon:le,title:"YAML",actions:[{id:P(),type:I.Button,buttonProps:{label:"",leftIcon:u?X:oe,onClick:()=>d(g.manifestYAML),disabled:u,size:R.S,variant:v.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(Y,{code:g.manifestYAML,language:"yaml",theme:"duotoneDark"})))):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 Pe=[{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"}],Ie=({isLoading:l,tableRowsMaxHeight:o,pods:i,getExtendedPodInfo:s})=>{const r=n(),{formatTimeAgo:c}=x(),[d,u]=a(null),p=t(()=>{const a=a=>a?e.createElement(ie,{fill:F(r,z.Success,"500"),size:20}):e.createElement(ne,{fill:F(r,z.Error,"500"),size:20});return i.map(t=>({onClick:()=>u(t),cells:[{key:Le.PodName,rawValue:t.name},{key:Le.Ready,rawValue:t.ready,component:()=>a(t.ready)},{key:Le.Started,rawValue:t.started,component:()=>a(t.started)},{key:Le.Status,rawValue:t.status,component:()=>{return a=t.status,e.createElement(b,{status:D(a),label:a});var a}},{key:Le.Restarts,rawValue:t.restartsCount.toString()},{key:Le.NodeName,rawValue:t.nodeName},{key:Le.Age,rawValue:c(t.creationTimestamp)},{key:Le.DockerImage,rawValue:t.image}]}))},[i,r]);return e.createElement(L,{icon:_,title:"Pods"},e.createElement(A,{maxHeight:o,isLoading:l,columns:Pe,rows:p}),e.createElement($e,{pod:d,getExtendedPodInfo:s,onClose:()=>u(null)}))};var Re;!function(e){e.Gateway="gateway",e.Node="node"}(Re||(Re={}));const Ae=[{value:Re.Gateway,label:"Gateway"},{value:Re.Node,label:"Node Collector"}],ze=i.div`
61
+ `,$e=i.div`
62
+ animation-name: ${M.animations.fade.in};
63
+ `,Le=({pod:l,getExtendedPodInfo:i,onClose:n})=>{const{formatTimeAgo:r}=x(),{clickCopy:d,isCopied:u}=D(),[g,b]=a(null),[m,y]=a(!1);o(()=>{l?i(l.namespace,l.name).then(e=>b(e??null)):(b(null),y(!1))},[l]);const h=t(()=>[{id:P(),title:"Node",label:g?.node??"-",withCopy:!0},{id:P(),title:"Status",badge:{status:V(g?.status),label:g?.status??"-"}}],[g]),C=t(()=>g?.containers?.map(e=>({id:P(),items:[{id:P(),title:"Container",label:e.name??"-"},{id:P(),title:"Status",badge:{status:V(e.status),label:e.status??"-"},label:e.startedAt?`(since ${r(e.startedAt)})`:""},{id:P(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:P(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:P(),title:"Restarts",label:e.restarts.toString()},{id:P(),title:"State Reason",label:e.stateReason??"-"},{id:P(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:P(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[g]);return e.createElement(c,{isOpen:!!l,header:{icon:ee,title:"Pod Information",onClose:n}},g?null:e.createElement(N,null,e.createElement(O,null)),g?e.createElement(e.Fragment,null,e.createElement(L,{icon:ee,title:g.name,withCopyTitle:!0},e.createElement(s,{$gap:24},e.createElement(T,{cellsPerRow:2,items:h}),C.length>0&&e.createElement(s,{$gap:12},e.createElement(xe,{onClick:()=>y(e=>!e)},e.createElement(p,null,"Containers Overview"),e.createElement(j,{icon:m?ae:te})),m&&C.map(({id:a,items:t})=>e.createElement($e,{key:a},e.createElement(T,{cellsPerRow:2,items:t})))))),e.createElement(L,{icon:le,title:"Kubectl Commands"},e.createElement(s,{$gap:12},e.createElement(Y,{value:`kubectl get pod ${g.name} -n ${g.namespace} -o yaml`}),e.createElement(Y,{value:`kubectl describe pod ${g.name} -n ${g.namespace}`}),e.createElement(Y,{value:`kubectl logs ${g.name} -n ${g.namespace}`}))),e.createElement(L,{icon:oe,title:"YAML",actions:[{id:P(),type:R.Button,buttonProps:{label:"",leftIcon:u?Z:ie,onClick:()=>d(g.manifestYAML),disabled:u,size:I.S,variant:v.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(F,{code:g.manifestYAML,language:"yaml",theme:"duotoneDark"})))):null)};var Pe;!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"}(Pe||(Pe={}));const Re=[{key:Pe.PodName,label:"Pod Name",sortable:!0},{key:Pe.Ready,label:"Ready",sortable:!0,textAlign:"right"},{key:Pe.Started,label:"Started",sortable:!0,textAlign:"right"},{key:Pe.Status,label:"Status",sortable:!0},{key:Pe.Restarts,label:"Restarts",sortable:!0,textAlign:"right"},{key:Pe.NodeName,label:"Node Name",sortable:!0},{key:Pe.Age,label:"Age",sortable:!0,textAlign:"right"},{key:Pe.DockerImage,label:"Docker Image",sortable:!0,textAlign:"right"}],Ie=({isLoading:l,tableRowsMaxHeight:o,pods:i,getExtendedPodInfo:s})=>{const r=n(),{formatTimeAgo:c}=x(),[d,u]=a(null),p=t(()=>{const a=a=>a?e.createElement(ne,{fill:H(r,S.Success,"500"),size:20}):e.createElement(se,{fill:H(r,S.Error,"500"),size:20});return i.map(t=>({onClick:()=>u(t),cells:[{key:Pe.PodName,rawValue:t.name},{key:Pe.Ready,rawValue:t.ready,component:()=>a(t.ready)},{key:Pe.Started,rawValue:t.started,component:()=>a(t.started)},{key:Pe.Status,rawValue:t.status,component:()=>{return a=t.status,e.createElement(b,{status:V(a),label:a});var a}},{key:Pe.Restarts,rawValue:t.restartsCount.toString()},{key:Pe.NodeName,rawValue:t.nodeName},{key:Pe.Age,rawValue:c(t.creationTimestamp)},{key:Pe.DockerImage,rawValue:t.image}]}))},[i,r]);return e.createElement(L,{icon:ee,title:"Pods"},e.createElement(A,{variant:z.Data,maxHeight:o,isLoading:l,columns:Re,rows:p}),e.createElement(Le,{pod:d,getExtendedPodInfo:s,onClose:()=>u(null)}))};var Ae;!function(e){e.Gateway="gateway",e.Node="node"}(Ae||(Ae={}));const ze=[{value:Ae.Gateway,label:"Gateway"},{value:Ae.Node,label:"Node Collector"}],Se=i.div`
64
64
  display: flex;
65
65
  align-items: center;
66
66
  justify-content: space-between;
67
- `,Se=({selectedTab:a,setSelectedTab:t,onClickDownloadDiagnose:l,onClickRefresh:o,isLoading:i})=>e.createElement(ze,null,e.createElement(u,{$gap:12},e.createElement(u,{$gap:8},e.createElement(se,{size:32}),e.createElement(p,{size:g.M,weight:500},"Pipeline Collectors")),e.createElement(H,{options:Ae,selected:a,setSelected:t})),e.createElement(u,{$gap:8},l&&e.createElement(w,{label:"Download Diagnose",leftIcon:re,size:R.S,variant:v.Text,onClick:l}),o&&e.createElement(w,{label:"Refresh",leftIcon:K,size:R.S,variant:v.Text,onClick:o,loading:i}))),Me=({isOpen:a,onClose:t,title:l,yaml:o})=>{const{clickCopy:i,isCopied:n}=M();return e.createElement(c,{isOpen:a,header:{icon:ce,title:l,onClose:t}},o?e.createElement(L,{icon:le,title:"YAML",actions:[{id:P(),type:I.Button,buttonProps:{label:"",leftIcon:n?X:oe,onClick:()=>i(o),disabled:n,size:R.S,variant:v.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(Y,{code:o,language:"yaml",theme:"duotoneDark"}))):e.createElement(U,{title:"No YAML found",subTitle:"The YAML for this resource is not available"}))};var De;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(De||(De={}));const Ve=({icon:t,title:l,badge:o,statusCard:i,textCards:n,manifestYaml:s,configMapYaml:r})=>{const[c,d]=a(null);return e.createElement(L,{icon:t,title:l,badge:o,actions:[{id:P(),type:I.ButtonDropData,buttonProps:{variant:v.Secondary,size:R.S,label:"View YAML",onClick:e=>d(e)},dropDataItems:[{id:De.ManifestYaml,label:l,icon:le},{id:De.ConfigMapYaml,label:"ConfigMap",icon:le}]}]},e.createElement(u,{$gap:16},e.createElement(E,{...i}),n.map(a=>e.createElement(q,{key:a.title,...a}))),e.createElement(Me,{isOpen:c===De.ManifestYaml,onClose:()=>d(null),title:l,yaml:s}),e.createElement(Me,{isOpen:c===De.ConfigMapYaml,onClose:()=>d(null),title:"ConfigMap",yaml:r}))},Ne=e=>{switch(e){case G.Healthy:return"All desired replicas are updated, available, and ready";case G.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case G.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case G.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case G.Down:return"No available replicas";case G.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},Oe=({tableRowsMaxHeight:i,getGatewayInfo:n,getGatewayPods:s,getNodeCollectorInfo:r,getNodeCollectorPods:c,getExtendedPodInfo:d})=>{const{formatTimeAgo:u}=x(),[p,g]=a(!1),[b,y]=a(Re.Gateway),[C,h]=a(null),[k,f]=a([]),[w,v]=a(null),[L,P]=a([]),I=l(async()=>{g(!0);try{switch(b){case Re.Gateway:h(await n()??null),f(await s()??[]);break;case Re.Node:v(await r()??null),P(await c()??[])}}catch(e){}g(!1)},[b]);o(()=>{I()},[I]);const R=t(()=>(e=>{switch(e){case Re.Gateway:return"Deployment";case Re.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(b),[b]),A=t(()=>((e,a,t,l)=>{const o={status:m.Disabled,label:"No rollouts yet"};let i=!1,n=null;switch(e){case Re.Gateway:i=a?.rolloutInProgress??!1,n=a?.lastRolloutAt??null;break;case Re.Node:i=t?.rolloutInProgress??!1,n=t?.lastRolloutAt??null;break;default:return o}return i?{status:z.Info,label:"Rollout in progress",rightIcon:K,useSecondaryTone:!0}:n?{status:m.Disabled,label:`Last Rollout: ${l(n)}`}:o})(b,C,w,u),[C,w,b,u]),S=t(()=>((e,a,t,l)=>{let o=l?z.Info:m.Unknown,i=l?"Loading":G.Unknown,n=l?"Fetching data...":Ne(G.Unknown);switch(e){case Re.Gateway:o=a?.status?D(a?.status):o,i=a?.status??i,n=a?.status?Ne(a.status):n;break;case Re.Node:o=t?.status?D(t?.status):o,i=t?.status??i,n=t?.status?Ne(t.status):n}return{status:o,title:i,description:n}})(b,C,w,p),[C,w,b,p]),M=t(()=>((e,a,t,l)=>{switch(e){case Re.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:a?.hpa?.min.toString()??"-",isLoading:l},{label:"Max.",value:a?.hpa?.max.toString()??"-",isLoading:l},{label:"Current",value:a?.hpa?.current.toString()??"-",isLoading:l},{label:"Desired",value:a?.hpa?.desired.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}]}];case Re.Node:return[{title:"Nodes",cells:[{label:"Desired",value:t?.nodes?.desired.toString()??"-",isLoading:l},{label:"Ready",value:t?.nodes?.ready.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}]}];default:return[]}})(b,C,w,p),[C,w,b,p]),V=t(()=>(b===Re.Gateway?C?.manifestYAML:w?.manifestYAML)??"",[C,w,b]),N=t(()=>(b===Re.Gateway?C?.configMapYAML:w?.configMapYAML)??"",[C,w,b]),O=t(()=>b===Re.Gateway?k:L,[k,L,b]);return e.createElement($,null,e.createElement(Se,{isLoading:p,selectedTab:b,setSelectedTab:y,onClickDownloadDiagnose:void 0,onClickRefresh:I}),e.createElement(Ve,{icon:ce,title:R,badge:A,statusCard:S,textCards:M,manifestYaml:V,configMapYaml:N}),e.createElement(Ie,{isLoading:p,tableRowsMaxHeight:i,pods:O,getExtendedPodInfo:d}))};export{we as CentralConnections,Oe as PipelineCollectors};
67
+ `,Me=({selectedTab:a,setSelectedTab:t,onClickDownloadDiagnose:l,onClickRefresh:o,isLoading:i})=>e.createElement(Se,null,e.createElement(u,{$gap:12},e.createElement(u,{$gap:8},e.createElement(re,{size:32}),e.createElement(p,{size:g.M,weight:500},"Pipeline Collectors")),e.createElement(E,{options:ze,selected:a,setSelected:t})),e.createElement(u,{$gap:8},l&&e.createElement(w,{label:"Download Diagnose",leftIcon:ce,size:I.S,variant:v.Text,onClick:l}),o&&e.createElement(w,{label:"Refresh",leftIcon:J,size:I.S,variant:v.Text,onClick:o,loading:i}))),De=({isOpen:a,onClose:t,title:l,yaml:o})=>{const{clickCopy:i,isCopied:n}=D();return e.createElement(c,{isOpen:a,header:{icon:de,title:l,onClose:t}},o?e.createElement(L,{icon:oe,title:"YAML",actions:[{id:P(),type:R.Button,buttonProps:{label:"",leftIcon:n?Z:ie,onClick:()=>i(o),disabled:n,size:I.S,variant:v.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(F,{code:o,language:"yaml",theme:"duotoneDark"}))):e.createElement(U,{title:"No YAML found",subTitle:"The YAML for this resource is not available"}))};var Ve;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(Ve||(Ve={}));const Ne=({icon:t,title:l,badge:o,statusCard:i,textCards:n,manifestYaml:s,configMapYaml:r})=>{const[c,d]=a(null);return e.createElement(L,{icon:t,title:l,badge:o,actions:[{id:P(),type:R.ButtonDropData,buttonProps:{variant:v.Secondary,size:I.S,label:"View YAML",onClick:e=>d(e)},dropDataItems:[{id:Ve.ManifestYaml,label:l,icon:oe},{id:Ve.ConfigMapYaml,label:"ConfigMap",icon:oe}]}]},e.createElement(u,{$gap:16},e.createElement(W,{...i}),n.map(a=>e.createElement(q,{key:a.title,...a}))),e.createElement(De,{isOpen:c===Ve.ManifestYaml,onClose:()=>d(null),title:l,yaml:s}),e.createElement(De,{isOpen:c===Ve.ConfigMapYaml,onClose:()=>d(null),title:"ConfigMap",yaml:r}))},Oe=e=>{switch(e){case G.Healthy:return"All desired replicas are updated, available, and ready";case G.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case G.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case G.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case G.Down:return"No available replicas";case G.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},Te=({tableRowsMaxHeight:i,getGatewayInfo:n,getGatewayPods:s,getNodeCollectorInfo:r,getNodeCollectorPods:c,getExtendedPodInfo:d})=>{const{formatTimeAgo:u}=x(),[p,g]=a(!1),[b,y]=a(Ae.Gateway),[h,C]=a(null),[k,f]=a([]),[w,v]=a(null),[L,P]=a([]),R=l(async()=>{g(!0);try{switch(b){case Ae.Gateway:C(await n()??null),f(await s()??[]);break;case Ae.Node:v(await r()??null),P(await c()??[])}}catch(e){}g(!1)},[b]);o(()=>{R()},[R]);const I=t(()=>(e=>{switch(e){case Ae.Gateway:return"Deployment";case Ae.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(b),[b]),A=t(()=>((e,a,t,l)=>{const o={status:m.Disabled,label:"No rollouts yet"};let i=!1,n=null;switch(e){case Ae.Gateway:i=a?.rolloutInProgress??!1,n=a?.lastRolloutAt??null;break;case Ae.Node:i=t?.rolloutInProgress??!1,n=t?.lastRolloutAt??null;break;default:return o}return i?{status:S.Info,label:"Rollout in progress",rightIcon:J,useSecondaryTone:!0}:n?{status:m.Disabled,label:`Last Rollout: ${l(n)}`}:o})(b,h,w,u),[h,w,b,u]),z=t(()=>((e,a,t,l)=>{let o=l?S.Info:m.Unknown,i=l?"Loading":G.Unknown,n=l?"Fetching data...":Oe(G.Unknown);switch(e){case Ae.Gateway:o=a?.status?V(a?.status):o,i=a?.status??i,n=a?.status?Oe(a.status):n;break;case Ae.Node:o=t?.status?V(t?.status):o,i=t?.status??i,n=t?.status?Oe(t.status):n}return{status:o,title:i,description:n}})(b,h,w,p),[h,w,b,p]),M=t(()=>((e,a,t,l)=>{switch(e){case Ae.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:a?.hpa?.min.toString()??"-",isLoading:l},{label:"Max.",value:a?.hpa?.max.toString()??"-",isLoading:l},{label:"Current",value:a?.hpa?.current.toString()??"-",isLoading:l},{label:"Desired",value:a?.hpa?.desired.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}]}];case Ae.Node:return[{title:"Nodes",cells:[{label:"Desired",value:t?.nodes?.desired.toString()??"-",isLoading:l},{label:"Ready",value:t?.nodes?.ready.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}]}];default:return[]}})(b,h,w,p),[h,w,b,p]),D=t(()=>(b===Ae.Gateway?h?.manifestYAML:w?.manifestYAML)??"",[h,w,b]),N=t(()=>(b===Ae.Gateway?h?.configMapYAML:w?.configMapYAML)??"",[h,w,b]),O=t(()=>b===Ae.Gateway?k:L,[k,L,b]);return e.createElement($,null,e.createElement(Me,{isLoading:p,selectedTab:b,setSelectedTab:y,onClickDownloadDiagnose:void 0,onClickRefresh:R}),e.createElement(Ne,{icon:de,title:I,badge:A,statusCard:z,textCards:M,manifestYaml:D,configMapYaml:N}),e.createElement(Ie,{isLoading:p,tableRowsMaxHeight:i,pods:O,getExtendedPodInfo:d}))};export{ve as CentralConnections,Te as PipelineCollectors};
package/lib/containers.js CHANGED
@@ -1,4 +1,4 @@
1
- import e,{useState as t,useEffect as a,forwardRef as i,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,M as b,Q as f,R as x,U as $,V as C,X as S,Y as k,Z as w,_ as T,$ as D,a0 as N,a1 as E,o as O,a2 as F,a3 as I,a4 as A,a5 as M,a6 as R,a7 as L,a8 as P,a9 as K,aa as j,ab as V,ac as q,ad as z,ae as H,af as B,n as W,ag as _,ah as U,ai as J,aj as G,ak as Y,al as X,am as Z,F as Q,an as ee,ao as te,ap as ae,aq as ie,ar as ne,as as oe,at as le,au as re,av as se,aw as ce,a as de,ax as ue,e as pe,ay as me,az as he,aA as ge,aB as ye,aC as ve,aD as be,aE as fe,aF as xe,aG as $e,aH as Ce,aI as Se,aJ as ke,aK as we,r as Te,N as De,aL as Ne,aM as Ee,aN as Oe,aO as Fe,aP as Ie,aQ as Ae,aR as Me,aS as Re,s as Le,aT as Pe,aU as Ke,aV as je,aW as Ve,aX as qe,aY as ze,aZ as He,a_ as Be,a$ as We,b0 as _e,b1 as Ue,b2 as Je,b3 as Ge,b4 as Ye,b5 as Xe,b6 as Ze,b7 as Qe,b8 as et,b9 as tt,ba as at,bb as it,bc as nt,bd as ot,be as lt,bf as rt,bg as st,bh as ct,bi as dt,bj as ut,bk as pt,bl as mt,bm as ht,bn as gt,bo as yt,bp as vt,bq as bt,br as ft,bs as xt,bt as $t,bu as Ct,bv as St,bw as kt,bx as wt,by as Tt,bz as Dt,bA as Nt,bB as Et,bC as Ot,bD as Ft,bE as It,bF as At,bG as Mt,bH as Rt,bI as Lt,bJ as Pt,bK as Kt,bL as jt,bM as Vt,bN as qt,bO as zt,h as Ht,bP as Bt,bQ as Wt,bR as _t,bS as Ut,bT as Jt,bU as Gt,bV as Yt,bW as Xt,bX as Zt,bY as Qt,bZ as ea,b_ as ta,b$ as aa,c0 as ia,c1 as na,c2 as oa,c3 as la,c4 as ra,c5 as sa,c6 as ca,p as da,u as ua,c7 as pa,c8 as ma,c9 as ha,ca as ga,cb as ya,cc as va,cd as ba}from"./chunks/ui-components-eab2149b.js";import{VSquareIcon as fa,XSquareIcon as xa,EditIcon as $a,TrashIcon as Ca,OdigosLogoText as Sa,PlusIcon as ka,SearchIcon as wa,FilterIcon as Ta,DataStreamIcon as Da,VIcon as Na,OdigosLogo as Ea,ArrowIcon as Oa,RefreshLeftArrowIcon as Fa,NotificationIcon as Ia,UserIcon as Aa,ImageErrorIcon as Ma,OverviewIcon as Ra,InstrumentationRuleIcon as La,ActionIcon as Pa,SourceIcon as Ka,DestinationIcon as ja,SlackLogo as Va,KeyIcon as qa,TerminalIcon as za,ExclamationTriangleIcon as Ha,TraceViewIcon as Ba}from"./icons.js";import{MarkerType as Wa,useNodesState as _a,useEdgesState as Ua,applyNodeChanges as Ja}from"@xyflow/react";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 Ga=e=>{const{type:t,name:a,notes:i,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:C,endpointsFilters:S,servicesNameFilters:k,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:a||""},{title:m.NOTES,value:i||""},{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:a},i)=>{let n="";n+=`Label Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${a||y.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${i+1}`:""),value:n})}),u?.length&&T.push({type:h.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:a},i)=>{let n="";n+=`Annotation Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${a||y.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${i+1}`:""),value:n})})),t===g.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";p?.forEach(({attributeName:t,attributeStringValue:a},i)=>{e+=`${t}: ${a}`,i<p.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.DeleteAttributes){let e="";b?.forEach((t,a)=>{e+=t,a<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([a,i],n)=>{e+=`${a}: ${i}`,n<t.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.PiiMasking){let e="";x?.forEach((t,a)=>{e+=t,a<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(C)}),t===g.LatencySampler&&S?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:a,fallbackSamplingRatio:i},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`HTTP Route: ${t}\n`,o+=`Min. Latency: ${a}\n`,o+=`Fallback Sampling Ratio: ${i}`,T.push({title:"Endpoint"+(S.length>1?` #${n+1}`:""),value:o})}),t===g.ServiceNameSampler&&k?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:a},i)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Sampling Ratio: ${t}\n`,n+=`Fallback Sampling Ratio: ${a}`,T.push({title:"Filter"+(k.length>1?` #${i+1}`:""),value:n})}),t===g.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:i},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`Attribute Key: ${t}\n`,o+=`Fallback Sampling Ratio: ${a}\n`;const l=Object.keys(i)[0];o+=`Condition: ${l}\n`,o+=`Operation: ${i[l]?.operation}\n`,o+=`Expected Value: ${i[l]?.expectedValue}`,"jsonCondition"===l&&(o+=`\nJSON Path: ${i[l].jsonPath}`),T.push({title:"Filter"+(w.length>1?` #${n+1}`:""),value:o})}),T},Ya=x.PiiCategories,Xa=d.div`
1
+ import e,{useState as t,useEffect as a,forwardRef as i,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,U as x,V as $,X as C,Y as S,Z as k,_ as w,$ as T,a0 as D,a1 as N,a2 as E,p as O,a3 as F,a4 as I,a5 as A,a6 as M,a7 as R,a8 as L,a9 as P,aa as K,ab as j,ac as V,ad as q,ae as z,af as H,ag as B,o as W,ah as _,ai as U,aj as J,ak as G,al as Y,am as X,an as Z,F as Q,ao as ee,ap as te,aq as ae,ar as ie,as as ne,at as oe,au as le,av as re,aw as se,ax as ce,a as de,ay as ue,e as pe,az as me,aA as he,aB as ge,aC as ye,aD as ve,aE as be,aF as fe,aG as xe,aH as $e,aI as Ce,aJ as Se,aK as ke,aL as we,s as Te,N as De,aM as Ne,aN as Ee,aO as Oe,aP as Fe,aQ as Ie,aR as Ae,aS as Me,aT as Re,t as Le,aU as Pe,aV as Ke,aW as je,aX as Ve,aY as qe,aZ as ze,a_ as He,a$ as Be,b0 as We,b1 as _e,b2 as Ue,b3 as Je,b4 as Ge,b5 as Ye,b6 as Xe,b7 as Ze,b8 as Qe,b9 as et,ba as tt,bb as at,bc as it,bd as nt,be as ot,bf as lt,bg as rt,bh as st,bi as ct,bj as dt,bk as ut,bl as pt,bm as mt,bn as ht,bo as gt,bp as yt,bq as vt,br as bt,bs as ft,bt as xt,bu as $t,bv as Ct,bw as St,bx as kt,by as wt,bz as Tt,bA as Dt,bB as Nt,bC as Et,bD as Ot,bE as Ft,bF as It,bG as At,bH as Mt,bI as Rt,bJ as Lt,bK as Pt,bL as Kt,bM as jt,bN as Vt,bO as qt,bP as zt,h as Ht,bQ as Bt,bR as Wt,bS as _t,bT as Ut,bU as Jt,bV as Gt,bW as Yt,bX as Xt,bY as Zt,bZ as Qt,b_ as ea,b$ as ta,c0 as aa,c1 as ia,c2 as na,c3 as oa,c4 as la,c5 as ra,c6 as sa,c7 as ca,q as da,u as ua,c8 as pa,c9 as ma,ca as ha,cb as ga,cc as ya,cd as va,ce as ba}from"./chunks/ui-components-6220f061.js";import{VSquareIcon as fa,XSquareIcon as xa,EditIcon as $a,TrashIcon as Ca,OdigosLogoText as Sa,PlusIcon as ka,SearchIcon as wa,FilterIcon as Ta,DataStreamIcon as Da,VIcon as Na,OdigosLogo as Ea,ArrowIcon as Oa,RefreshLeftArrowIcon as Fa,NotificationIcon as Ia,UserIcon as Aa,ImageErrorIcon as Ma,OverviewIcon as Ra,InstrumentationRuleIcon as La,ActionIcon as Pa,SourceIcon as Ka,DestinationIcon as ja,SlackLogo as Va,KeyIcon as qa,TerminalIcon as za,ExclamationTriangleIcon as Ha,TraceViewIcon as Ba}from"./icons.js";import{MarkerType as Wa,useNodesState as _a,useEdgesState as Ua,applyNodeChanges as Ja}from"@xyflow/react";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 Ga=e=>{const{type:t,name:a,notes:i,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:C,endpointsFilters:S,servicesNameFilters:k,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:a||""},{title:m.NOTES,value:i||""},{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:a},i)=>{let n="";n+=`Label Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${a||y.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${i+1}`:""),value:n})}),u?.length&&T.push({type:h.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:a},i)=>{let n="";n+=`Annotation Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${a||y.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${i+1}`:""),value:n})})),t===g.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";p?.forEach(({attributeName:t,attributeStringValue:a},i)=>{e+=`${t}: ${a}`,i<p.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.DeleteAttributes){let e="";b?.forEach((t,a)=>{e+=t,a<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([a,i],n)=>{e+=`${a}: ${i}`,n<t.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.PiiMasking){let e="";x?.forEach((t,a)=>{e+=t,a<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(C)}),t===g.LatencySampler&&S?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:a,fallbackSamplingRatio:i},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`HTTP Route: ${t}\n`,o+=`Min. Latency: ${a}\n`,o+=`Fallback Sampling Ratio: ${i}`,T.push({title:"Endpoint"+(S.length>1?` #${n+1}`:""),value:o})}),t===g.ServiceNameSampler&&k?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:a},i)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Sampling Ratio: ${t}\n`,n+=`Fallback Sampling Ratio: ${a}`,T.push({title:"Filter"+(k.length>1?` #${i+1}`:""),value:n})}),t===g.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:a,condition:i},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`Attribute Key: ${t}\n`,o+=`Fallback Sampling Ratio: ${a}\n`;const l=Object.keys(i)[0];o+=`Condition: ${l}\n`,o+=`Operation: ${i[l]?.operation}\n`,o+=`Expected Value: ${i[l]?.expectedValue}`,"jsonCondition"===l&&(o+=`\nJSON Path: ${i[l].jsonPath}`),T.push({title:"Filter"+(w.length>1?` #${n+1}`:""),value:o})}),T},Ya=x.PiiCategories,Xa=d.div`
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  gap: 32px;
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{bw as capitalizeFirstLetter,cw as cleanObjectEmptyStringsValues,br as compareCondition,by as deepClone,aB as filterActions,b4 as filterDestinations,b5 as filterDestinationsByStream,b2 as filterSources,b3 as filterSourcesByStream,cx as flattenObjectKeys,aV as formatBytes,ca as formatDuration,j as generateId,aj as getActionIcon,av as getConditionsBooleans,aZ as getContainersIcons,c5 as getContainersInstrumentedCount,aY as getDestinationIcon,aI as getEntityIcon,aT as getEntityId,aD as getEntityLabel,cy as getIdFromSseTarget,aX as getInstrumentationRuleIcon,cz as getMainContainerLanguage,bB as getMetricForEntity,cA as getMonitorIcon,cB as getPlatformIcon,cC as getPlatformLabel,bK as getProgrammingLanguageIcon,cc as getRecursiveValues,cD as getSseTargetFromId,x as getStatusColor,q as getStatusFromPodStatus,az as getStatusIcon,bU as getStatusTypeFromOdigosHealth,cE as getValueForRange,bO as getWorkloadId,bv as getYamlFieldsForDestination,bV as hasUnhealthyInstances,X as isEmpty,cF as isLegalK8sLabel,c6 as isOverTime,bZ as isStringABoolean,cG as isTimeElapsed,cH as isValidVersion,ax as mapConditions,bq as mapDestinationFieldsForDisplay,aU as mapExportedSignals,cI as numbersOnly,b_ as parseBooleanFromString,cJ as parseJsonStringToPrettyString,cK as removeEmptyValuesFromObject,bs as safeJsonParse,cL as safeJsonStringify,aN as sleep,bc as splitCamelString,cM as stringifyNonStringValues}from"./chunks/ui-components-eab2149b.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{bx as capitalizeFirstLetter,cx as cleanObjectEmptyStringsValues,bs as compareCondition,bz as deepClone,aC as filterActions,b5 as filterDestinations,b6 as filterDestinationsByStream,b3 as filterSources,b4 as filterSourcesByStream,cy as flattenObjectKeys,aW as formatBytes,cb as formatDuration,j as generateId,ak as getActionIcon,aw as getConditionsBooleans,a_ as getContainersIcons,c6 as getContainersInstrumentedCount,aZ as getDestinationIcon,aJ as getEntityIcon,aU as getEntityId,aE as getEntityLabel,cz as getIdFromSseTarget,aY as getInstrumentationRuleIcon,cA as getMainContainerLanguage,bC as getMetricForEntity,cB as getMonitorIcon,cC as getPlatformIcon,cD as getPlatformLabel,bL as getProgrammingLanguageIcon,cd as getRecursiveValues,cE as getSseTargetFromId,y as getStatusColor,r as getStatusFromPodStatus,aA as getStatusIcon,bV as getStatusTypeFromOdigosHealth,cF as getValueForRange,bP as getWorkloadId,bw as getYamlFieldsForDestination,bW as hasUnhealthyInstances,Y as isEmpty,cG as isLegalK8sLabel,c7 as isOverTime,b_ as isStringABoolean,cH as isTimeElapsed,cI as isValidVersion,ay as mapConditions,br as mapDestinationFieldsForDisplay,aV as mapExportedSignals,cJ as numbersOnly,b$ as parseBooleanFromString,cK as parseJsonStringToPrettyString,cL as removeEmptyValuesFromObject,bt as safeJsonParse,cM as safeJsonStringify,aO as sleep,bd as splitCamelString,cN as stringifyNonStringValues}from"./chunks/ui-components-6220f061.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{ah as useActionFormData,cQ as useBodyScroll,b6 as useClickNode,bP as useClickNotification,a$ as useConnection,b1 as useContainerSize,p as useCopy,bi as useDataStreamFormData,bu as useDestinationFormData,u as useGenericForm,cR as useInfiniteScroll,bL as useInstrumentationRuleFormData,aa as useKeyDown,bb as useOnClickOutside,b7 as usePopup,bh as useSessionStorage,b$ as useSourceFormData,c3 as useSourceSelectionFormData,h as useTimeAgo,bN as useTransition}from"./chunks/ui-components-eab2149b.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{ai as useActionFormData,cR as useBodyScroll,b7 as useClickNode,bQ as useClickNotification,b0 as useConnection,b2 as useContainerSize,q as useCopy,bj as useDataStreamFormData,bv as useDestinationFormData,u as useGenericForm,cS as useInfiniteScroll,bM as useInstrumentationRuleFormData,ab as useKeyDown,bc as useOnClickOutside,b8 as usePopup,bi as useSessionStorage,c0 as useSourceFormData,c4 as useSourceSelectionFormData,h as useTimeAgo,bO as useTransition}from"./chunks/ui-components-6220f061.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/snippets.js CHANGED
@@ -1 +1 @@
1
- export{bn as AddButton,bW as CopyText,bS as EditButton,bR as Flow,cS as MapItemNode,cT as NoDataNode,bo as NoteBackToSummary,bY as PodContainer,c0 as SourceContainer}from"./chunks/ui-components-eab2149b.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{bo as AddButton,bX as CopyText,bT as EditButton,bS as Flow,cT as MapItemNode,cU as NoDataNode,bp as NoteBackToSummary,bZ as PodContainer,c1 as SourceContainer}from"./chunks/ui-components-6220f061.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{cP as useActiveNodeStore,c9 as useDarkMode,b0 as useDataStreamStore,a9 as useDrawerStore,ag as useEntityStore,aA as useFilterStore,aR as useInstrumentStore,an as useModalStore,a8 as useNotificationStore,a7 as usePendingStore,aQ as useSelectedStore,bj as useSetupStore}from"./chunks/ui-components-eab2149b.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{cQ as useActiveNodeStore,ca as useDarkMode,b1 as useDataStreamStore,aa as useDrawerStore,ah as useEntityStore,aB as useFilterStore,aS as useInstrumentStore,ao as useModalStore,a9 as useNotificationStore,a8 as usePendingStore,aR as useSelectedStore,bk as useSetupStore}from"./chunks/ui-components-6220f061.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,4 +1,5 @@
1
1
  import * as opacity from './opacity';
2
+ import * as palletes from './palletes';
2
3
  import * as animations from './animations';
3
4
  import { useTheme } from 'styled-components';
4
5
  declare const Theme: {
@@ -7,6 +8,7 @@ declare const Theme: {
7
8
  }>;
8
9
  useTheme: typeof useTheme;
9
10
  opacity: typeof opacity;
11
+ palletes: typeof palletes;
10
12
  animations: typeof animations;
11
13
  };
12
14
  export default Theme;
@@ -1,6 +1,143 @@
1
1
  import { DefaultTheme } from 'styled-components';
2
- declare const darkModeTheme: DefaultTheme;
3
- declare const lightModeTheme: DefaultTheme;
2
+ export declare const baseTheme: {
3
+ v2: {
4
+ text: {
5
+ size: {
6
+ xxxs: number;
7
+ xxs: number;
8
+ xs: number;
9
+ s: number;
10
+ m: number;
11
+ l: number;
12
+ xl: number;
13
+ xxl: number;
14
+ xxxl: number;
15
+ };
16
+ };
17
+ colors: {
18
+ black: {
19
+ '500': string;
20
+ };
21
+ white: {
22
+ '500': string;
23
+ };
24
+ purple: {
25
+ '100': string;
26
+ '200': string;
27
+ '300': string;
28
+ '400': string;
29
+ '500': string;
30
+ '600': string;
31
+ '700': string;
32
+ '800': string;
33
+ '900': string;
34
+ };
35
+ green: {
36
+ '100': string;
37
+ '200': string;
38
+ '300': string;
39
+ '400': string;
40
+ '500': string;
41
+ '600': string;
42
+ '700': string;
43
+ '800': string;
44
+ '900': string;
45
+ };
46
+ grey: {
47
+ '25': string;
48
+ '50': string;
49
+ '100': string;
50
+ '150': string;
51
+ '200': string;
52
+ '300': string;
53
+ '400': string;
54
+ '500': string;
55
+ '600': string;
56
+ '700': string;
57
+ '800': string;
58
+ '900': string;
59
+ };
60
+ silver: {
61
+ '25': string;
62
+ '50': string;
63
+ '100': string;
64
+ '200': string;
65
+ '300': string;
66
+ '400': string;
67
+ '500': string;
68
+ '600': string;
69
+ '700': string;
70
+ '750': string;
71
+ '800': string;
72
+ '900': string;
73
+ '1000': string;
74
+ };
75
+ red: {
76
+ '100': string;
77
+ '200': string;
78
+ '300': string;
79
+ '400': string;
80
+ '500': string;
81
+ '600': string;
82
+ '700': string;
83
+ '800': string;
84
+ '900': string;
85
+ '1000': string;
86
+ };
87
+ blue: {
88
+ '100': string;
89
+ '200': string;
90
+ '300': string;
91
+ '400': string;
92
+ '500': string;
93
+ '600': string;
94
+ '700': string;
95
+ '800': string;
96
+ '900': string;
97
+ '1000': string;
98
+ };
99
+ yellow: {
100
+ '100': string;
101
+ '200': string;
102
+ '300': string;
103
+ '400': string;
104
+ '500': string;
105
+ '600': string;
106
+ '700': string;
107
+ '800': string;
108
+ '900': string;
109
+ '1000': string;
110
+ };
111
+ beige: {
112
+ '600': string;
113
+ };
114
+ pink: {
115
+ '600': string;
116
+ };
117
+ orange: {
118
+ '600': string;
119
+ };
120
+ };
121
+ };
122
+ colors: {
123
+ majestic_blue: string;
124
+ majestic_blue_soft: string;
125
+ orange_og: string;
126
+ orange_soft: string;
127
+ dark_red: string;
128
+ darker_red: string;
129
+ darkest_red: string;
130
+ darkest_red_hover: string;
131
+ dark_green: string;
132
+ };
133
+ text: {};
134
+ font_family: {
135
+ primary: string;
136
+ secondary: string;
137
+ code: string;
138
+ };
139
+ };
140
+ export declare const darkModeTheme: DefaultTheme;
141
+ export declare const lightModeTheme: DefaultTheme;
4
142
  export type Theme = typeof darkModeTheme | typeof lightModeTheme;
5
143
  export declare const getTheme: (darkMode: boolean) => Theme;
6
- export {};
package/lib/theme.js CHANGED
@@ -1 +1 @@
1
- export{o as default}from"./chunks/ui-components-eab2149b.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{p as default}from"./chunks/ui-components-6220f061.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{ce as ActionCategory,R as ActionKeyTypes,H as ActionType,cq as AddNodeTypes,ch as BooleanOperation,bG as CodeAttributesKeyTypes,am as Crud,bE as CustomInstrumentationsKeyTypes,cr as DestinationTypes,cp as EdgeTypes,af as EntityTypes,a0 as FieldTypes,bF as GolangCustomProbe,bC as HeadersCollectionKeyTypes,V as InputTypes,cl as InstallationMethod,bI as InstrumentationRuleType,cm as IntrumentationStatus,bD as JavaCustomProbe,ci as JsonOperation,K as K8sAttributesFrom,c1 as K8sResourceKind,bQ as NodeTypes,cg as NumberOperation,cv as OdigosHealthStatus,bp as OtherEntityTypes,ay as OtherStatus,O as OtherStatusType,bH as PayloadCollectionKeyTypes,ck as PlatformType,cu as PodContainerLifecycleStatus,ct as PodContainerStatus,cs as PodPhase,co as Profile,c2 as ProgrammingLanguages,bt as SignalType,cn as SortDirection,n as StatusType,cf as StringOperation,cj as Tier,W as WorkloadRolloutStatus}from"./chunks/ui-components-eab2149b.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{cf as ActionCategory,U as ActionKeyTypes,J as ActionType,cr as AddNodeTypes,ci as BooleanOperation,bH as CodeAttributesKeyTypes,an as Crud,bF as CustomInstrumentationsKeyTypes,cs as DestinationTypes,cq as EdgeTypes,ag as EntityTypes,a1 as FieldTypes,bG as GolangCustomProbe,bD as HeadersCollectionKeyTypes,X as InputTypes,cm as InstallationMethod,bJ as InstrumentationRuleType,cn as IntrumentationStatus,bE as JavaCustomProbe,cj as JsonOperation,K as K8sAttributesFrom,c2 as K8sResourceKind,bR as NodeTypes,ch as NumberOperation,cw as OdigosHealthStatus,bq as OtherEntityTypes,az as OtherStatus,O as OtherStatusType,bI as PayloadCollectionKeyTypes,cl as PlatformType,cv as PodContainerLifecycleStatus,cu as PodContainerStatus,ct as PodPhase,cp as Profile,c3 as ProgrammingLanguages,bu as SignalType,co as SortDirection,o as StatusType,cg as StringOperation,ck as Tier,W as WorkloadRolloutStatus}from"./chunks/ui-components-6220f061.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.140",
3
+ "version": "0.0.142",
4
4
  "author": "Odigos",
5
5
  "license": "MIT",
6
6
  "repository": {