@odigos/ui-kit 0.0.141 → 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,8 +1,9 @@
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[];
@@ -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,7 +1,8 @@
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;
@@ -1,6 +1,7 @@
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
7
  getRowActions: (row: TableRow) => TableRowAction[];
@@ -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;
@@ -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-c3adf029.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-c3adf029.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-c3adf029.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 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,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-c3adf029.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,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:de,header:{icon:W,title:"Cluster Configuration",onClose:o}},e.createElement(ue,null,e.createElement(pe,null,e.createElement(d,{value:P,onChange:R})),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"},I.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:R.Button,buttonProps:{variant:v.Secondary,size:I.S,label:"",leftIcon:K,onClick:()=>f(),disabled:p}},{id:P(),type:R.Button,buttonProps:{variant:v.Primary,size:I.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,getRowActions:({cells:e})=>[{id:P(),label:"",leftIcon:J,onClick:()=>{const a=e.find(e=>e.key===ke.Id)?.rawValue;a&&(S([a.toString()]),D(!0))},variant:v.Secondary,size:I.S},{id:P(),label:"",leftIcon:Q,disabled:e.find(e=>e.key===ke.Status)?.rawValue===z.Success,onClick:async()=>{const a=e.find(e=>e.key===ke.Id)?.rawValue;a&&(await c(a.toString()),f())},variant:v.Secondary,size:I.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:R.Button,buttonProps:{label:"",leftIcon:u?X:oe,onClick:()=>d(g.manifestYAML),disabled:u,size:I.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"}],Re=({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 Ie;!function(e){e.Gateway="gateway",e.Node="node"}(Ie||(Ie={}));const Ae=[{value:Ie.Gateway,label:"Gateway"},{value:Ie.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:I.S,variant:v.Text,onClick:l}),o&&e.createElement(w,{label:"Refresh",leftIcon:K,size:I.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:R.Button,buttonProps:{label:"",leftIcon:n?X:oe,onClick:()=>i(o),disabled:n,size:I.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:R.ButtonDropData,buttonProps:{variant:v.Secondary,size:I.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(Ie.Gateway),[C,h]=a(null),[k,f]=a([]),[w,v]=a(null),[L,P]=a([]),R=l(async()=>{g(!0);try{switch(b){case Ie.Gateway:h(await n()??null),f(await s()??[]);break;case Ie.Node:v(await r()??null),P(await c()??[])}}catch(e){}g(!1)},[b]);o(()=>{R()},[R]);const I=t(()=>(e=>{switch(e){case Ie.Gateway:return"Deployment";case Ie.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 Ie.Gateway:i=a?.rolloutInProgress??!1,n=a?.lastRolloutAt??null;break;case Ie.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 Ie.Gateway:o=a?.status?D(a?.status):o,i=a?.status??i,n=a?.status?Ne(a.status):n;break;case Ie.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 Ie.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 Ie.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===Ie.Gateway?C?.manifestYAML:w?.manifestYAML)??"",[C,w,b]),N=t(()=>(b===Ie.Gateway?C?.configMapYAML:w?.configMapYAML)??"",[C,w,b]),O=t(()=>b===Ie.Gateway?k:L,[k,L,b]);return e.createElement($,null,e.createElement(Se,{isLoading:p,selectedTab:b,setSelectedTab:y,onClickDownloadDiagnose:void 0,onClickRefresh:R}),e.createElement(Ve,{icon:ce,title:I,badge:A,statusCard:S,textCards:M,manifestYaml:V,configMapYaml:N}),e.createElement(Re,{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-c3adf029.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-c3adf029.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-c3adf029.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-c3adf029.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-c3adf029.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-c3adf029.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-c3adf029.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.141",
3
+ "version": "0.0.142",
4
4
  "author": "Odigos",
5
5
  "license": "MIT",
6
6
  "repository": {