@odigos/ui-kit 0.0.136 → 0.0.137

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.
@@ -2,12 +2,14 @@ import { type ReactNode, type FC } from 'react';
2
2
  import type { SVG } from '@/types';
3
3
  import { type BadgeProps } from '../../badge';
4
4
  import { type ButtonProps } from '../../button';
5
+ import { type DropDataProps } from '../../drop-data';
5
6
  export declare enum SectionCardSize {
6
7
  S = "small",
7
8
  M = "medium"
8
9
  }
9
10
  export declare enum SectionCardActionType {
10
- Button = "button"
11
+ Button = "button",
12
+ ButtonDropData = "button-drop-data"
11
13
  }
12
14
  export interface SectionCardProps {
13
15
  size?: SectionCardSize;
@@ -18,7 +20,10 @@ export interface SectionCardProps {
18
20
  actions?: {
19
21
  id: string;
20
22
  type: SectionCardActionType;
21
- props: ButtonProps;
23
+ buttonProps?: ButtonProps & {
24
+ onClick?: (id: string) => void;
25
+ };
26
+ dropDataItems?: DropDataProps['items'];
22
27
  }[];
23
28
  children?: ReactNode;
24
29
  }
@@ -0,0 +1,18 @@
1
+ import { type FC } from 'react';
2
+ import type { SVG } from '@/types';
3
+ import { type ButtonProps } from '../button';
4
+ interface DropDataOption {
5
+ id: string;
6
+ label: string;
7
+ icon?: SVG;
8
+ withCheckbox?: boolean;
9
+ }
10
+ export interface DropDataProps {
11
+ items: DropDataOption[];
12
+ selectedId: DropDataOption['id'];
13
+ onSelect: (optionId: DropDataOption['id']) => void;
14
+ defaultOpen?: boolean;
15
+ buttonProps?: ButtonProps;
16
+ }
17
+ export declare const DropData: FC<DropDataProps>;
18
+ export {};
@@ -7,6 +7,7 @@ export * from './checkbox';
7
7
  export * from './checkbox-list';
8
8
  export * from './cli-command';
9
9
  export * from './drawer';
10
+ export * from './drop-data';
10
11
  export * from './header';
11
12
  export * from './icon-button';
12
13
  export * from './input';
@@ -1 +1 @@
1
- export{n as Badge,r as Button,B as ButtonSize,c$ as ButtonTab,d0 as ButtonTabList,i as ButtonVariants,d3 as Checkbox,d5 as CheckboxList,d4 as CheckboxListDirection,d2 as CheckboxSize,f as CliCommand,d as DataCard,D as Drawer,d6 as Header,I as IconButton,c2 as IconButtonSize,d7 as Input,d8 as Modal,d9 as Navbar,da as Note,dc as Radio,de as RadioGroup,dd as RadioGroupDirection,db as RadioSize,S as SectionCard,h as SectionCardActionType,d1 as SectionCardSize,q as Segment,s as StatusCard,k as Table,df as Tag,t as TextCard,e as Typography,p as TypographySize,dg as TypographyVariants}from"../chunks/ui-components-d05b354a.js";import"../icons.js";import"react";import"zustand";import"javascript-time-ago";import"../chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{n as Badge,r as Button,B as ButtonSize,c$ as ButtonTab,d0 as ButtonTabList,i as ButtonVariants,d3 as Checkbox,d5 as CheckboxList,d4 as CheckboxListDirection,d2 as CheckboxSize,f as CliCommand,d as DataCard,D as Drawer,d6 as DropData,d7 as Header,I as IconButton,c2 as IconButtonSize,d8 as Input,d9 as Modal,da as Navbar,db as Note,dd as Radio,df as RadioGroup,de as RadioGroupDirection,dc as RadioSize,S as SectionCard,h as SectionCardActionType,d1 as SectionCardSize,q as Segment,s as StatusCard,k as Table,dg as Tag,t as TextCard,e as Typography,p as TypographySize,dh as TypographyVariants}from"../chunks/ui-components-a8941c5a.js";import"../icons.js";import"react";import"zustand";import"javascript-time-ago";import"../chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/components.js CHANGED
@@ -1 +1 @@
1
- export{al as AutocompleteInput,aG as Badge,aJ as Button,a6 as CancelWarning,C as CenterThis,y as Checkbox,j as Code,ac as ConditionDetails,ad as DataCard,w as DataCardFieldTypes,bu as DataCardFields,cP as DataFinger,aM as DataTab,a5 as DeleteWarning,bR as DescribeRow,am as Divider,Y as DocsButton,a4 as Drawer,cR as DrawerFooter,cQ as DrawerHeader,b7 as Dropdown,cS as ErrorBoundary,bg as ExtendArrow,F as FadeLoader,z as FieldError,x as FieldLabel,c as FlexColumn,o as FlexRow,cT as Header,bf as IconButton,b_ as IconGroup,aA as IconTitleBadge,av as IconWrapped,bN as IconsNav,cU as ImageControlled,G as Input,Q as InputList,L as InputTable,aD as InteractiveTable,N as KeyValueInputsList,aI as LoadingText,ag as Modal,ai as ModalBody,Z as MonitorsCheckboxes,ax as MonitorsIcons,ah as NavigationButtons,aE as NoDataFound,aj as NotificationNote,c_ as Overlay,P as PageContent,b2 as Popup,c3 as PopupForm,c8 as ScrollX,aQ as ScrollY,X as SectionTitle,V as Segment,b3 as SelectionButton,aU as SkeletonLoader,ao as Status,bt as Stepper,cV as TabList,ay as TableContainer,az as TableTitleWrap,aC as TableWrap,bD as Tag,U as Text,_ as TextArea,M as Toggle,c6 as ToggleCodeComponent,aq as Tooltip,aF as TraceLoader,b4 as VerticalScroll,cZ as WarningModal,cW as getLinksFromText,cX as getStrongsFromText,cY as renderText}from"./chunks/ui-components-d05b354a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{am as AutocompleteInput,aG as Badge,aJ as Button,a7 as CancelWarning,C as CenterThis,y as Checkbox,j as Code,ad as ConditionDetails,ae as DataCard,w as DataCardFieldTypes,bu as DataCardFields,cP as DataFinger,aM as DataTab,a6 as DeleteWarning,bR as DescribeRow,an as Divider,Z as DocsButton,a5 as Drawer,cR as DrawerFooter,cQ as DrawerHeader,b7 as Dropdown,cS as ErrorBoundary,bg as ExtendArrow,F as FadeLoader,z as FieldError,x as FieldLabel,c as FlexColumn,o as FlexRow,cT as Header,bf as IconButton,b_ as IconGroup,aB as IconTitleBadge,aw as IconWrapped,bN as IconsNav,cU as ImageControlled,G as Input,R as InputList,L as InputTable,aE as InteractiveTable,Q as KeyValueInputsList,aI as LoadingText,ah as Modal,aj as ModalBody,_ as MonitorsCheckboxes,ay as MonitorsIcons,ai as NavigationButtons,N as NoDataFound,ak as NotificationNote,c_ as Overlay,P as PageContent,b2 as Popup,c3 as PopupForm,c8 as ScrollX,aQ as ScrollY,Y as SectionTitle,X as Segment,b3 as SelectionButton,aU as SkeletonLoader,ap as Status,bt as Stepper,cV as TabList,az as TableContainer,aA as TableTitleWrap,aD as TableWrap,bD as Tag,V as Text,$ as TextArea,M as Toggle,c6 as ToggleCodeComponent,ar as Tooltip,aF as TraceLoader,b4 as VerticalScroll,cZ as WarningModal,cW as getLinksFromText,cX as getStrongsFromText,cY as renderText}from"./chunks/ui-components-a8941c5a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/constants.js CHANGED
@@ -1 +1 @@
1
- export{aa as ACTION_OPTIONS,a3 as BUTTON_TEXTS,be as DEFAULT_DATA_STREAM_NAME,br as DESTINATION_CATEGORIES,b8 as DISPLAY_LANGUAGES,v as DISPLAY_TITLES,ak as FORM_ALERTS,bG as INSTRUMENTATION_RULE_OPTIONS,cI as LANGUAGE_OPTIONS,b9 as MONITORS_OPTIONS,ba as STORAGE_KEYS,cJ as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-d05b354a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{ab as ACTION_OPTIONS,a4 as BUTTON_TEXTS,be as DEFAULT_DATA_STREAM_NAME,br as DESTINATION_CATEGORIES,b8 as DISPLAY_LANGUAGES,v as DISPLAY_TITLES,al as FORM_ALERTS,bG as INSTRUMENTATION_RULE_OPTIONS,cI as LANGUAGE_OPTIONS,b9 as MONITORS_OPTIONS,ba as STORAGE_KEYS,cJ as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-a8941c5a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
@@ -3,6 +3,7 @@ import { type SectionCardProps, type StatusCardProps, type TextCardProps } from
3
3
  export interface GeneralInfoProps extends SectionCardProps {
4
4
  statusCard: StatusCardProps;
5
5
  textCards: TextCardProps[];
6
- yaml: string;
6
+ manifestYaml: string;
7
+ configMapYaml: string;
7
8
  }
8
9
  export declare const GeneralInfo: FC<GeneralInfoProps>;
@@ -1,4 +1,4 @@
1
- import e,{useState as a,useEffect as t,useMemo as l,useCallback as s}from"react";import{T as i,u as o,a as n,g as r,b as d,D as c,C as u,F as g,S as b,c as p,d as m,e as y,I as k,f as C,h as v,B as w,i as f,j as h,k as L,l as x,m as P,n as R,o as $,p as I,q as A,r as D,s as M,t as S,O as N,W as z,P as T}from"../chunks/ui-components-d05b354a.js";import V,{useTheme as j}from"styled-components";import{PodIcon as O,ChevronUpIcon as U,ChevronDownIcon as E,TerminalIcon as H,YamlIcon as q,VIcon as G,CopyIcon as Y,VSquareIcon as F,XSquareIcon as W,PipelineCollectorIcon as B,DownloadIcon as K,RefreshIcon as J,GatewayIcon as Q}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 X=V.div`
1
+ import e,{useState as a,useEffect as t,useMemo as l,useCallback as i}from"react";import{T as o,u as s,a as n,g as r,b as d,D as c,C as u,F as g,S as b,c as m,d as p,e as y,I as k,f,h as C,B as v,i as w,j as h,k as L,l as x,m as P,n as R,o as $,p as I,q as M,r as D,N as A,s as N,t as S,O as T,W as z,P as V}from"../chunks/ui-components-a8941c5a.js";import Y,{useTheme as j}from"styled-components";import{PodIcon as O,ChevronUpIcon as U,ChevronDownIcon as E,TerminalIcon as H,YamlIcon as q,VIcon as G,CopyIcon as F,VSquareIcon as W,XSquareIcon as B,PipelineCollectorIcon as K,DownloadIcon as J,RefreshIcon as Q,GatewayIcon as X}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 Z=Y.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: space-between;
@@ -10,10 +10,10 @@ import e,{useState as a,useEffect as t,useMemo as l,useCallback as s}from"react"
10
10
  &:hover {
11
11
  background: ${({theme:e})=>e.v2.colors.silver[700]};
12
12
  }
13
- `,Z=V.div`
14
- animation-name: ${i.animations.fade.in};
15
- `,_=({pod:s,getExtendedPodInfo:i,onClose:L})=>{const{formatTimeAgo:x}=o(),{clickCopy:P,isCopied:R}=n(),[$,I]=a(null),[A,D]=a(!1);t(()=>{s?i(s.namespace,s.name).then(e=>I(e??null)):(I(null),D(!1))},[s]);const M=l(()=>[{id:r(),title:"Node",label:$?.node??"-",withCopy:!0},{id:r(),title:"Status",badge:{status:d($?.status),label:$?.status??"-"}}],[$]),S=l(()=>$?.containers?.map(e=>({id:r(),items:[{id:r(),title:"Container",label:e.name??"-"},{id:r(),title:"Status",badge:{status:d(e.status),label:e.status??"-"},label:e.startedAt?`(since ${x(e.startedAt)})`:""},{id:r(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:r(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:r(),title:"Restarts",label:e.restarts.toString()},{id:r(),title:"State Reason",label:e.stateReason??"-"},{id:r(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:r(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[$]);return e.createElement(c,{isOpen:!!s,header:{icon:O,title:"Pod Information",onClose:L}},$?null:e.createElement(u,null,e.createElement(g,null)),$?e.createElement(e.Fragment,null,e.createElement(b,{icon:O,title:$.name,withCopyTitle:!0},e.createElement(p,{$gap:24},e.createElement(m,{cellsPerRow:2,items:M}),S.length>0&&e.createElement(p,{$gap:12},e.createElement(X,{onClick:()=>D(e=>!e)},e.createElement(y,null,"Containers Overview"),e.createElement(k,{icon:A?U:E})),A&&S.map(({id:a,items:t})=>e.createElement(Z,{key:a},e.createElement(m,{cellsPerRow:2,items:t})))))),e.createElement(b,{icon:H,title:"Kubectl Commands"},e.createElement(p,{$gap:12},e.createElement(C,{value:`kubectl get pod ${$.name} -n ${$.namespace} -o yaml`}),e.createElement(C,{value:`kubectl describe pod ${$.name} -n ${$.namespace}`}),e.createElement(C,{value:`kubectl logs ${$.name} -n ${$.namespace}`}))),e.createElement(b,{icon:q,title:"YAML",actions:[{id:r(),type:v.Button,props:{label:"",leftIcon:R?G:Y,onClick:()=>P($.manifestYAML),disabled:R,size:w.S,variant:f.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(h,{code:$.manifestYAML,language:"yaml",theme:"duotoneDark"})))):null)};var ee;!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"}(ee||(ee={}));const ae=[{key:ee.PodName,label:"Pod Name",sortable:!0},{key:ee.Ready,label:"Ready",sortable:!0,textAlign:"right"},{key:ee.Started,label:"Started",sortable:!0,textAlign:"right"},{key:ee.Status,label:"Status",sortable:!0},{key:ee.Restarts,label:"Restarts",sortable:!0,textAlign:"right"},{key:ee.NodeName,label:"Node Name",sortable:!0},{key:ee.Age,label:"Age",sortable:!0,textAlign:"right"},{key:ee.DockerImage,label:"Docker Image",sortable:!0,textAlign:"right"}],te=({isLoading:t,tableRowsMaxHeight:s,pods:i,getExtendedPodInfo:n})=>{const r=j(),{formatTimeAgo:c}=o(),[u,g]=a(null),p=l(()=>{const a=a=>a?e.createElement(F,{fill:x(r,P.Success,"500"),size:20}):e.createElement(W,{fill:x(r,P.Error,"500"),size:20});return i.map(t=>({onClick:()=>g(t),cells:[{key:ee.PodName,rawValue:t.name},{key:ee.Ready,rawValue:t.ready,component:()=>a(t.ready)},{key:ee.Started,rawValue:t.started,component:()=>a(t.started)},{key:ee.Status,rawValue:t.status,component:()=>{return a=t.status,e.createElement(R,{status:d(a),label:a});var a}},{key:ee.Restarts,rawValue:t.restartsCount.toString()},{key:ee.NodeName,rawValue:t.nodeName},{key:ee.Age,rawValue:c(t.creationTimestamp)},{key:ee.DockerImage,rawValue:t.image}]}))},[i,r]);return e.createElement(b,{icon:O,title:"Pods"},e.createElement(L,{maxHeight:s,isLoading:t,columns:ae,rows:p}),e.createElement(_,{pod:u,getExtendedPodInfo:n,onClose:()=>g(null)}))};var le;!function(e){e.Gateway="gateway",e.Node="node"}(le||(le={}));const se=[{value:le.Gateway,label:"Gateway"},{value:le.Node,label:"Node Collector"}],ie=V.div`
13
+ `,_=Y.div`
14
+ animation-name: ${o.animations.fade.in};
15
+ `,ee=({pod:i,getExtendedPodInfo:o,onClose:L})=>{const{formatTimeAgo:x}=s(),{clickCopy:P,isCopied:R}=n(),[$,I]=a(null),[M,D]=a(!1);t(()=>{i?o(i.namespace,i.name).then(e=>I(e??null)):(I(null),D(!1))},[i]);const A=l(()=>[{id:r(),title:"Node",label:$?.node??"-",withCopy:!0},{id:r(),title:"Status",badge:{status:d($?.status),label:$?.status??"-"}}],[$]),N=l(()=>$?.containers?.map(e=>({id:r(),items:[{id:r(),title:"Container",label:e.name??"-"},{id:r(),title:"Status",badge:{status:d(e.status),label:e.status??"-"},label:e.startedAt?`(since ${x(e.startedAt)})`:""},{id:r(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:r(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:r(),title:"Restarts",label:e.restarts.toString()},{id:r(),title:"State Reason",label:e.stateReason??"-"},{id:r(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:r(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[$]);return e.createElement(c,{isOpen:!!i,header:{icon:O,title:"Pod Information",onClose:L}},$?null:e.createElement(u,null,e.createElement(g,null)),$?e.createElement(e.Fragment,null,e.createElement(b,{icon:O,title:$.name,withCopyTitle:!0},e.createElement(m,{$gap:24},e.createElement(p,{cellsPerRow:2,items:A}),N.length>0&&e.createElement(m,{$gap:12},e.createElement(Z,{onClick:()=>D(e=>!e)},e.createElement(y,null,"Containers Overview"),e.createElement(k,{icon:M?U:E})),M&&N.map(({id:a,items:t})=>e.createElement(_,{key:a},e.createElement(p,{cellsPerRow:2,items:t})))))),e.createElement(b,{icon:H,title:"Kubectl Commands"},e.createElement(m,{$gap:12},e.createElement(f,{value:`kubectl get pod ${$.name} -n ${$.namespace} -o yaml`}),e.createElement(f,{value:`kubectl describe pod ${$.name} -n ${$.namespace}`}),e.createElement(f,{value:`kubectl logs ${$.name} -n ${$.namespace}`}))),e.createElement(b,{icon:q,title:"YAML",actions:[{id:r(),type:C.Button,buttonProps:{label:"",leftIcon:R?G:F,onClick:()=>P($.manifestYAML),disabled:R,size:v.S,variant:w.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(h,{code:$.manifestYAML,language:"yaml",theme:"duotoneDark"})))):null)};var ae;!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"}(ae||(ae={}));const te=[{key:ae.PodName,label:"Pod Name",sortable:!0},{key:ae.Ready,label:"Ready",sortable:!0,textAlign:"right"},{key:ae.Started,label:"Started",sortable:!0,textAlign:"right"},{key:ae.Status,label:"Status",sortable:!0},{key:ae.Restarts,label:"Restarts",sortable:!0,textAlign:"right"},{key:ae.NodeName,label:"Node Name",sortable:!0},{key:ae.Age,label:"Age",sortable:!0,textAlign:"right"},{key:ae.DockerImage,label:"Docker Image",sortable:!0,textAlign:"right"}],le=({isLoading:t,tableRowsMaxHeight:i,pods:o,getExtendedPodInfo:n})=>{const r=j(),{formatTimeAgo:c}=s(),[u,g]=a(null),m=l(()=>{const a=a=>a?e.createElement(W,{fill:x(r,P.Success,"500"),size:20}):e.createElement(B,{fill:x(r,P.Error,"500"),size:20});return o.map(t=>({onClick:()=>g(t),cells:[{key:ae.PodName,rawValue:t.name},{key:ae.Ready,rawValue:t.ready,component:()=>a(t.ready)},{key:ae.Started,rawValue:t.started,component:()=>a(t.started)},{key:ae.Status,rawValue:t.status,component:()=>{return a=t.status,e.createElement(R,{status:d(a),label:a});var a}},{key:ae.Restarts,rawValue:t.restartsCount.toString()},{key:ae.NodeName,rawValue:t.nodeName},{key:ae.Age,rawValue:c(t.creationTimestamp)},{key:ae.DockerImage,rawValue:t.image}]}))},[o,r]);return e.createElement(b,{icon:O,title:"Pods"},e.createElement(L,{maxHeight:i,isLoading:t,columns:te,rows:m}),e.createElement(ee,{pod:u,getExtendedPodInfo:n,onClose:()=>g(null)}))};var ie;!function(e){e.Gateway="gateway",e.Node="node"}(ie||(ie={}));const oe=[{value:ie.Gateway,label:"Gateway"},{value:ie.Node,label:"Node Collector"}],se=Y.div`
16
16
  display: flex;
17
17
  align-items: center;
18
18
  justify-content: space-between;
19
- `,oe=({selectedTab:a,setSelectedTab:t,onClickDownloadDiagnose:l,onClickRefresh:s,isLoading:i})=>e.createElement(ie,null,e.createElement($,{$gap:12},e.createElement($,{$gap:8},e.createElement(B,{size:32}),e.createElement(y,{size:I.M,weight:500},"Pipeline Collectors")),e.createElement(A,{options:se,selected:a,setSelected:t})),e.createElement($,{$gap:8},l&&e.createElement(D,{label:"Download Diagnose",leftIcon:K,size:w.S,variant:f.Text,onClick:l}),s&&e.createElement(D,{label:"Refresh",leftIcon:J,size:w.S,variant:f.Text,onClick:s,loading:i}))),ne=({isOpen:a,onClose:t,title:l,yaml:s})=>{const{clickCopy:i,isCopied:o}=n();return e.createElement(c,{isOpen:a,header:{icon:Q,title:l,onClose:t}},e.createElement(b,{icon:q,title:"YAML",actions:[{id:r(),type:v.Button,props:{label:"",leftIcon:o?G:Y,onClick:()=>i(s),disabled:o,size:w.S,variant:f.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(h,{code:s,language:"yaml",theme:"duotoneDark"}))))},re=({icon:t,title:l,badge:s,statusCard:i,textCards:o,yaml:n})=>{const[d,c]=a(!1);return e.createElement(b,{icon:t,title:l,badge:s,actions:[{id:r(),type:v.Button,props:{variant:f.Secondary,size:w.S,leftIcon:q,label:"View YAML",onClick:()=>c(!0)}}]},e.createElement($,{$gap:16},e.createElement(M,{...i}),o.map(a=>e.createElement(S,{key:a.title,...a}))),e.createElement(ne,{isOpen:d,onClose:()=>c(!1),title:l,yaml:n}))},de=e=>{switch(e){case z.Healthy:return"All desired replicas are updated, available, and ready";case z.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case z.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case z.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case z.Down:return"No available replicas";case z.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},ce=({tableRowsMaxHeight:i,getGatewayInfo:n,getGatewayPods:r,getNodeCollectorInfo:c,getNodeCollectorPods:u,getExtendedPodInfo:g})=>{const{formatTimeAgo:b}=o(),[p,m]=a(!1),[y,k]=a(le.Gateway),[C,v]=a(null),[w,f]=a([]),[h,L]=a(null),[x,R]=a([]),$=s(async()=>{switch(m(!0),y){case le.Gateway:v(await n()??null),f(await r()??[]);break;case le.Node:L(await c()??null),R(await u()??[])}m(!1)},[y]);t(()=>{$().catch(e=>{})},[$]);const I=l(()=>(e=>{const a=se.find(a=>a.value===e);return a?.label??"Pipeline Collectors"})(y),[y]),A=l(()=>((e,a,t,l)=>{const s={status:N.Disabled,label:"No rollouts yet"};let i=!1,o=null;switch(e){case le.Gateway:i=a?.rolloutInProgress??!1,o=a?.lastRolloutAt??null;break;case le.Node:i=t?.rolloutInProgress??!1,o=t?.lastRolloutAt??null;break;default:return s}return i?{status:P.Info,label:"Rollout in progress",rightIcon:J,useSecondaryTone:!0}:o?{status:N.Disabled,label:`Last Rollout: ${l(o)}`}:s})(y,C,h,b),[C,h,y,b]),D=l(()=>((e,a,t,l)=>{let s=l?P.Info:N.Unknown,i=l?"Loading":z.Unknown,o=l?"Fetching data...":de(z.Unknown);switch(e){case le.Gateway:s=a?.status?d(a?.status):s,i=a?.status??i,o=a?.status?de(a.status):o;break;case le.Node:s=t?.status?d(t?.status):s,i=t?.status??i,o=t?.status?de(t.status):o}return{status:s,title:i,description:o}})(y,C,h,p),[C,h,y,p]),M=l(()=>((e,a,t,l)=>{switch(e){case le.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 le.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[]}})(y,C,h,p),[C,h,y,p]),S=l(()=>(y===le.Gateway?C?.manifestYAML:h?.manifestYAML)??"",[C,h,y]),V=l(()=>y===le.Gateway?w:x,[w,x,y]);return e.createElement(T,null,e.createElement(oe,{isLoading:p,selectedTab:y,setSelectedTab:k,onClickDownloadDiagnose:void 0,onClickRefresh:$}),e.createElement(re,{icon:Q,title:I,badge:A,statusCard:D,textCards:M,yaml:S}),e.createElement(te,{isLoading:p,tableRowsMaxHeight:i,pods:V,getExtendedPodInfo:g}))};export{ce as PipelineCollectors};
19
+ `,ne=({selectedTab:a,setSelectedTab:t,onClickDownloadDiagnose:l,onClickRefresh:i,isLoading:o})=>e.createElement(se,null,e.createElement($,{$gap:12},e.createElement($,{$gap:8},e.createElement(K,{size:32}),e.createElement(y,{size:I.M,weight:500},"Pipeline Collectors")),e.createElement(M,{options:oe,selected:a,setSelected:t})),e.createElement($,{$gap:8},l&&e.createElement(D,{label:"Download Diagnose",leftIcon:J,size:v.S,variant:w.Text,onClick:l}),i&&e.createElement(D,{label:"Refresh",leftIcon:Q,size:v.S,variant:w.Text,onClick:i,loading:o}))),re=({isOpen:a,onClose:t,title:l,yaml:i})=>{const{clickCopy:o,isCopied:s}=n();return e.createElement(c,{isOpen:a,header:{icon:X,title:l,onClose:t}},i?e.createElement(b,{icon:q,title:"YAML",actions:[{id:r(),type:C.Button,buttonProps:{label:"",leftIcon:s?G:F,onClick:()=>o(i),disabled:s,size:v.S,variant:w.Secondary}}]},e.createElement("div",{style:{padding:"0 12px"}},e.createElement(h,{code:i,language:"yaml",theme:"duotoneDark"}))):e.createElement(A,{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 ce=({icon:t,title:l,badge:i,statusCard:o,textCards:s,manifestYaml:n,configMapYaml:d})=>{const[c,u]=a(null);return e.createElement(b,{icon:t,title:l,badge:i,actions:[{id:r(),type:C.ButtonDropData,buttonProps:{variant:w.Secondary,size:v.S,label:"View YAML",onClick:e=>u(e)},dropDataItems:[{id:de.ManifestYaml,label:l,icon:q},{id:de.ConfigMapYaml,label:"ConfigMap",icon:q}]}]},e.createElement($,{$gap:16},e.createElement(N,{...o}),s.map(a=>e.createElement(S,{key:a.title,...a}))),e.createElement(re,{isOpen:c===de.ManifestYaml,onClose:()=>u(null),title:l,yaml:n}),e.createElement(re,{isOpen:c===de.ConfigMapYaml,onClose:()=>u(null),title:"ConfigMap",yaml:d}))},ue=e=>{switch(e){case z.Healthy:return"All desired replicas are updated, available, and ready";case z.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case z.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case z.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case z.Down:return"No available replicas";case z.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},ge=({tableRowsMaxHeight:o,getGatewayInfo:n,getGatewayPods:r,getNodeCollectorInfo:c,getNodeCollectorPods:u,getExtendedPodInfo:g})=>{const{formatTimeAgo:b}=s(),[m,p]=a(!1),[y,k]=a(ie.Gateway),[f,C]=a(null),[v,w]=a([]),[h,L]=a(null),[x,R]=a([]),$=i(async()=>{switch(p(!0),y){case ie.Gateway:C(await n()??null),w(await r()??[]);break;case ie.Node:L(await c()??null),R(await u()??[])}p(!1)},[y]);t(()=>{$().catch(e=>{})},[$]);const I=l(()=>(e=>{switch(e){case ie.Gateway:return"Deployment";case ie.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(y),[y]),M=l(()=>((e,a,t,l)=>{const i={status:T.Disabled,label:"No rollouts yet"};let o=!1,s=null;switch(e){case ie.Gateway:o=a?.rolloutInProgress??!1,s=a?.lastRolloutAt??null;break;case ie.Node:o=t?.rolloutInProgress??!1,s=t?.lastRolloutAt??null;break;default:return i}return o?{status:P.Info,label:"Rollout in progress",rightIcon:Q,useSecondaryTone:!0}:s?{status:T.Disabled,label:`Last Rollout: ${l(s)}`}:i})(y,f,h,b),[f,h,y,b]),D=l(()=>((e,a,t,l)=>{let i=l?P.Info:T.Unknown,o=l?"Loading":z.Unknown,s=l?"Fetching data...":ue(z.Unknown);switch(e){case ie.Gateway:i=a?.status?d(a?.status):i,o=a?.status??o,s=a?.status?ue(a.status):s;break;case ie.Node:i=t?.status?d(t?.status):i,o=t?.status??o,s=t?.status?ue(t.status):s}return{status:i,title:o,description:s}})(y,f,h,m),[f,h,y,m]),A=l(()=>((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[]}})(y,f,h,m),[f,h,y,m]),N=l(()=>(y===ie.Gateway?f?.manifestYAML:h?.manifestYAML)??"",[f,h,y]),S=l(()=>(y===ie.Gateway?f?.configMapYAML:h?.configMapYAML)??"",[f,h,y]),Y=l(()=>y===ie.Gateway?v:x,[v,x,y]);return e.createElement(V,null,e.createElement(ne,{isLoading:m,selectedTab:y,setSelectedTab:k,onClickDownloadDiagnose:void 0,onClickRefresh:$}),e.createElement(ce,{icon:X,title:I,badge:M,statusCard:D,textCards:A,manifestYaml:N,configMapYaml:S}),e.createElement(le,{isLoading:m,tableRowsMaxHeight:o,pods:Y,getExtendedPodInfo:g}))};export{ge 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}from"styled-components";import{v as p,w as m,A as h,K as g,x as y,y as v,z as b,E as f,G as x,H as $,J as C,L as S,M as k,N as w,Q as T,R as D,U as N,T as E,V as O,X as F,Y as I,Z as A,_ as M,$ as R,a0 as L,a1 as P,a2 as K,a3 as j,a4 as V,a5 as q,a6 as z,a7 as H,m as B,a8 as W,a9 as _,aa as U,ab as J,ac as G,ad as Y,ae as X,c as Z,af as Q,ag as ee,ah as te,ai as ae,aj as ie,ak as ne,al as oe,am as le,an as re,ao as se,o as ce,ap as de,aq as ue,ar as pe,as as me,at as he,au as ge,av as ye,aw as ve,ax as be,ay as fe,az as xe,aA as $e,aB as Ce,aC as Se,aD as ke,C as we,aE as Te,aF as De,aG as Ne,aH as Ee,aI as Oe,aJ as Fe,aK as Ie,aL as Ae,aM as Me,F as Re,aN as Le,aO as Pe,aP as Ke,aQ as je,aR as Ve,aS as qe,aT as ze,aU as He,aV as Be,aW as We,aX as _e,aY as Ue,aZ as Je,a_ as Ge,a$ as Ye,b0 as Xe,b1 as Ze,b2 as Qe,b3 as et,b4 as tt,b5 as at,b6 as it,b7 as nt,b8 as ot,b9 as lt,ba as rt,bb as st,bc as ct,bd as dt,be as ut,bf as pt,bg as mt,bh as ht,bi as gt,bj as yt,bk as vt,bl as bt,bm as ft,bn as xt,bo as $t,bp as Ct,bq as St,br as kt,bs as wt,bt as Tt,bu as Dt,bv as Nt,bw as Et,bx as Ot,by as Ft,bz as It,bA as At,bB as Mt,bC as Rt,bD as Lt,bE as Pt,bF as Kt,bG as jt,bH as Vt,bI as qt,u as zt,bJ as Ht,bK as Bt,bL as Wt,bM as _t,bN as Ut,bO as Jt,bP as Gt,bQ as Yt,bR as Xt,bS as Zt,bT as Qt,bU as ea,bV as ta,bW as aa,bX as ia,bY as na,bZ as oa,b_ as la,b$ as ra,c0 as sa,a as ca,c1 as da,c2 as ua,c3 as pa,c4 as ma,c5 as ha,c6 as ga,c7 as ya,c8 as va}from"./chunks/ui-components-d05b354a.js";import{VSquareIcon as ba,XSquareIcon as fa,EditIcon as xa,TrashIcon as $a,OdigosLogoText as Ca,PlusIcon as Sa,SearchIcon as ka,FilterIcon as wa,DataStreamIcon as Ta,VIcon as Da,OdigosLogo as Na,ArrowIcon as Ea,RefreshLeftArrowIcon as Oa,NotificationIcon as Fa,UserIcon as Ia,ImageErrorIcon as Aa,OverviewIcon as Ma,InstrumentationRuleIcon as Ra,ActionIcon as La,SourceIcon as Pa,DestinationIcon as Ka,SlackLogo as ja,KeyIcon as Va,TerminalIcon as qa,ExclamationTriangleIcon as za,TraceViewIcon as Ha}from"./icons.js";import{MarkerType as Ba,useNodesState as Wa,useEdgesState as _a,applyNodeChanges as Ua}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 Ja=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:y,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:$,samplingPercentage:C,endpointsFilters:S,servicesNameFilters:k,attributeFilters:w}}=e,T=[{title:p.TYPE,value:t},{type:m.ActiveStatus,title:p.STATUS,value:String(!o)},{type:m.Monitors,title:p.SIGNALS_FOR_PROCESSING,value:n?.map(e=>e.toLowerCase()).join(", ")||""},{title:p.NAME,value:a||""},{title:p.NOTES,value:i||""},{type:m.Divider}];if(t===h.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:m.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||g.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${i+1}`:""),value:n})}),u?.length&&T.push({type:m.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||g.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${i+1}`:""),value:n})})),t===h.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";y?.forEach(({attributeName:t,attributeStringValue:a},i)=>{e+=`${t}: ${a}`,i<y.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===h.DeleteAttributes){let e="";b?.forEach((t,a)=>{e+=t,a<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===h.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===h.PiiMasking){let e="";x?.forEach((t,a)=>{e+=t,a<x.length-1&&(e+=", ")}),T.push({title:"Categories",value:e})}return t===h.ErrorSampler&&T.push({title:"Sampling Ratio",value:String($)}),t===h.ProbabilisticSampler&&T.push({title:"Sampling Percentage",value:String(C)}),t===h.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===h.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===h.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},Ga=f.PiiCategories,Ya=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}from"styled-components";import{v as p,w as m,A as h,K as g,x as y,y as v,z as b,E as f,G as x,H as $,J as C,L as S,M as k,Q as w,R as T,U as D,V as N,T as E,X as O,Y as F,Z as I,_ as A,$ as M,a0 as R,a1 as L,a2 as P,a3 as K,a4 as j,a5 as V,a6 as q,a7 as z,a8 as H,m as B,a9 as W,aa as _,ab as U,ac as J,ad as G,ae as Y,af as X,c as Z,ag as Q,ah as ee,ai as te,aj as ae,ak as ie,al as ne,am as oe,an as le,ao as re,ap as se,o as ce,aq as de,ar as ue,as as pe,at as me,au as he,av as ge,aw as ye,ax as ve,ay as be,az as fe,aA as xe,aB as $e,aC as Ce,aD as Se,aE as ke,C as we,N as Te,aF as De,aG as Ne,aH as Ee,aI as Oe,aJ as Fe,aK as Ie,aL as Ae,aM as Me,F as Re,aN as Le,aO as Pe,aP as Ke,aQ as je,aR as Ve,aS as qe,aT as ze,aU as He,aV as Be,aW as We,aX as _e,aY as Ue,aZ as Je,a_ as Ge,a$ as Ye,b0 as Xe,b1 as Ze,b2 as Qe,b3 as et,b4 as tt,b5 as at,b6 as it,b7 as nt,b8 as ot,b9 as lt,ba as rt,bb as st,bc as ct,bd as dt,be as ut,bf as pt,bg as mt,bh as ht,bi as gt,bj as yt,bk as vt,bl as bt,bm as ft,bn as xt,bo as $t,bp as Ct,bq as St,br as kt,bs as wt,bt as Tt,bu as Dt,bv as Nt,bw as Et,bx as Ot,by as Ft,bz as It,bA as At,bB as Mt,bC as Rt,bD as Lt,bE as Pt,bF as Kt,bG as jt,bH as Vt,bI as qt,u as zt,bJ as Ht,bK as Bt,bL as Wt,bM as _t,bN as Ut,bO as Jt,bP as Gt,bQ as Yt,bR as Xt,bS as Zt,bT as Qt,bU as ea,bV as ta,bW as aa,bX as ia,bY as na,bZ as oa,b_ as la,b$ as ra,c0 as sa,a as ca,c1 as da,c2 as ua,c3 as pa,c4 as ma,c5 as ha,c6 as ga,c7 as ya,c8 as va}from"./chunks/ui-components-a8941c5a.js";import{VSquareIcon as ba,XSquareIcon as fa,EditIcon as xa,TrashIcon as $a,OdigosLogoText as Ca,PlusIcon as Sa,SearchIcon as ka,FilterIcon as wa,DataStreamIcon as Ta,VIcon as Da,OdigosLogo as Na,ArrowIcon as Ea,RefreshLeftArrowIcon as Oa,NotificationIcon as Fa,UserIcon as Ia,ImageErrorIcon as Aa,OverviewIcon as Ma,InstrumentationRuleIcon as Ra,ActionIcon as La,SourceIcon as Pa,DestinationIcon as Ka,SlackLogo as ja,KeyIcon as Va,TerminalIcon as qa,ExclamationTriangleIcon as za,TraceViewIcon as Ha}from"./icons.js";import{MarkerType as Ba,useNodesState as Wa,useEdgesState as _a,applyNodeChanges as Ua}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 Ja=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:y,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:$,samplingPercentage:C,endpointsFilters:S,servicesNameFilters:k,attributeFilters:w}}=e,T=[{title:p.TYPE,value:t},{type:m.ActiveStatus,title:p.STATUS,value:String(!o)},{type:m.Monitors,title:p.SIGNALS_FOR_PROCESSING,value:n?.map(e=>e.toLowerCase()).join(", ")||""},{title:p.NAME,value:a||""},{title:p.NOTES,value:i||""},{type:m.Divider}];if(t===h.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:m.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||g.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${i+1}`:""),value:n})}),u?.length&&T.push({type:m.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||g.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${i+1}`:""),value:n})})),t===h.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";y?.forEach(({attributeName:t,attributeStringValue:a},i)=>{e+=`${t}: ${a}`,i<y.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===h.DeleteAttributes){let e="";b?.forEach((t,a)=>{e+=t,a<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===h.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===h.PiiMasking){let e="";x?.forEach((t,a)=>{e+=t,a<x.length-1&&(e+=", ")}),T.push({title:"Categories",value:e})}return t===h.ErrorSampler&&T.push({title:"Sampling Ratio",value:String($)}),t===h.ProbabilisticSampler&&T.push({title:"Sampling Percentage",value:String(C)}),t===h.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===h.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===h.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},Ga=f.PiiCategories,Ya=d.div`
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  gap: 32px;
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{bq as capitalizeFirstLetter,cr as cleanObjectEmptyStringsValues,bl as compareCondition,bs as deepClone,au as filterActions,a_ as filterDestinations,a$ as filterDestinationsByStream,aY as filterSources,aZ as filterSourcesByStream,cs as flattenObjectKeys,aP as formatBytes,c5 as formatDuration,g as generateId,ab as getActionIcon,an as getConditionsBooleans,aT as getContainersIcons,b$ as getContainersInstrumentedCount,aS as getDestinationIcon,aB as getEntityIcon,aN as getEntityId,aw as getEntityLabel,ct as getIdFromSseTarget,aR as getInstrumentationRuleIcon,cu as getMainContainerLanguage,bv as getMetricForEntity,cv as getMonitorIcon,cw as getPlatformIcon,cx as getPlatformLabel,bE as getProgrammingLanguageIcon,c7 as getRecursiveValues,cy as getSseTargetFromId,l as getStatusColor,b as getStatusFromPodStatus,as as getStatusIcon,bO as getStatusTypeFromOdigosHealth,cz as getValueForRange,bI as getWorkloadId,bp as getYamlFieldsForDestination,bP as hasUnhealthyInstances,J as isEmpty,cA as isLegalK8sLabel,c0 as isOverTime,bT as isStringABoolean,cB as isTimeElapsed,cC as isValidVersion,ap as mapConditions,bk as mapDestinationFieldsForDisplay,aO as mapExportedSignals,cD as numbersOnly,bU as parseBooleanFromString,cE as parseJsonStringToPrettyString,cF as removeEmptyValuesFromObject,bm as safeJsonParse,cG as safeJsonStringify,aH as sleep,b6 as splitCamelString,cH as stringifyNonStringValues}from"./chunks/ui-components-d05b354a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{bq as capitalizeFirstLetter,cr as cleanObjectEmptyStringsValues,bl as compareCondition,bs as deepClone,av as filterActions,a_ as filterDestinations,a$ as filterDestinationsByStream,aY as filterSources,aZ as filterSourcesByStream,cs as flattenObjectKeys,aP as formatBytes,c5 as formatDuration,g as generateId,ac as getActionIcon,ao as getConditionsBooleans,aT as getContainersIcons,b$ as getContainersInstrumentedCount,aS as getDestinationIcon,aC as getEntityIcon,aN as getEntityId,ax as getEntityLabel,ct as getIdFromSseTarget,aR as getInstrumentationRuleIcon,cu as getMainContainerLanguage,bv as getMetricForEntity,cv as getMonitorIcon,cw as getPlatformIcon,cx as getPlatformLabel,bE as getProgrammingLanguageIcon,c7 as getRecursiveValues,cy as getSseTargetFromId,l as getStatusColor,b as getStatusFromPodStatus,at as getStatusIcon,bO as getStatusTypeFromOdigosHealth,cz as getValueForRange,bI as getWorkloadId,bp as getYamlFieldsForDestination,bP as hasUnhealthyInstances,J as isEmpty,cA as isLegalK8sLabel,c0 as isOverTime,bT as isStringABoolean,cB as isTimeElapsed,cC as isValidVersion,aq as mapConditions,bk as mapDestinationFieldsForDisplay,aO as mapExportedSignals,cD as numbersOnly,bU as parseBooleanFromString,cE as parseJsonStringToPrettyString,cF as removeEmptyValuesFromObject,bm as safeJsonParse,cG as safeJsonStringify,aH as sleep,b6 as splitCamelString,cH as stringifyNonStringValues}from"./chunks/ui-components-a8941c5a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/hooks.js CHANGED
@@ -1 +1 @@
1
- export{a9 as useActionFormData,cL as useBodyScroll,b0 as useClickNode,bJ as useClickNotification,aV as useConnection,aX as useContainerSize,a as useCopy,bc as useDataStreamFormData,bo as useDestinationFormData,c1 as useGenericForm,cM as useInfiniteScroll,bF as useInstrumentationRuleFormData,a2 as useKeyDown,b5 as useOnClickOutside,b1 as usePopup,bb as useSessionStorage,bV as useSourceFormData,bZ as useSourceSelectionFormData,u as useTimeAgo,bH as useTransition}from"./chunks/ui-components-d05b354a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{aa as useActionFormData,cL as useBodyScroll,b0 as useClickNode,bJ as useClickNotification,aV as useConnection,aX as useContainerSize,a as useCopy,bc as useDataStreamFormData,bo as useDestinationFormData,c1 as useGenericForm,cM as useInfiniteScroll,bF as useInstrumentationRuleFormData,a3 as useKeyDown,b5 as useOnClickOutside,b1 as usePopup,bb as useSessionStorage,bV as useSourceFormData,bZ as useSourceSelectionFormData,u as useTimeAgo,bH as useTransition}from"./chunks/ui-components-a8941c5a.js";import"./icons.js";import"react";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"styled-components";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";