@odigos/ui-kit 0.0.152 → 0.0.154

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.
Files changed (33) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/chunks/{index-b33f952d.js → index-64462d3a.js} +1 -1
  3. package/lib/chunks/ui-components-ea48d4a4.js +2228 -0
  4. package/lib/components/_v2/drop-data/index.d.ts +10 -2
  5. package/lib/components/_v2/note/index.d.ts +1 -0
  6. package/lib/components/_v2/table/index.d.ts +1 -1
  7. package/lib/components/_v2/table/styled.d.ts +1 -2
  8. package/lib/components/_v2/table/table-columns/filter/index.d.ts +11 -0
  9. package/lib/components/_v2/table/table-columns/index.d.ts +7 -2
  10. package/lib/components/_v2/table/table-columns/sort/index.d.ts +9 -0
  11. package/lib/components/_v2/table/types.d.ts +6 -6
  12. package/lib/components/v2.js +1 -1
  13. package/lib/components.js +1 -1
  14. package/lib/constants.js +1 -1
  15. package/lib/containers/_v2/central-connections/config-drawer/index.d.ts +3 -2
  16. package/lib/containers/_v2/central-connections/index.d.ts +4 -4
  17. package/lib/containers/v2.js +7 -7
  18. package/lib/containers.js +1 -1
  19. package/lib/contexts.js +1 -1
  20. package/lib/functions.js +1 -1
  21. package/lib/hooks/useActionFormData.d.ts +1 -1
  22. package/lib/hooks/useDataStreamFormData.d.ts +1 -1
  23. package/lib/hooks/useDestinationFormData.d.ts +1 -1
  24. package/lib/hooks/useGenericForm.d.ts +2 -1
  25. package/lib/hooks/useInstrumentationRuleFormData.d.ts +1 -1
  26. package/lib/hooks/useSourceFormData.d.ts +1 -1
  27. package/lib/hooks.js +1 -1
  28. package/lib/snippets.js +1 -1
  29. package/lib/store.js +1 -1
  30. package/lib/theme.js +1 -1
  31. package/lib/types.js +1 -1
  32. package/package.json +1 -1
  33. package/lib/chunks/ui-components-693d231b.js +0 -2230
@@ -1,6 +1,11 @@
1
1
  import { type FC } from 'react';
2
2
  import type { SVG } from '@/types';
3
3
  import { type ButtonProps } from '../button';
4
+ import { type IconButtonProps } from '../icon-button';
5
+ export declare enum DropDataAlign {
6
+ Left = "left",
7
+ Right = "right"
8
+ }
4
9
  interface DropDataOption {
5
10
  id: string;
6
11
  label: string;
@@ -9,10 +14,13 @@ interface DropDataOption {
9
14
  }
10
15
  export interface DropDataProps {
11
16
  items: DropDataOption[];
12
- selectedId: DropDataOption['id'];
13
- onSelect: (optionId: DropDataOption['id']) => void;
17
+ selectedIds: DropDataOption['id'][];
18
+ setSelectedIds: (ids: DropDataOption['id'][]) => void;
19
+ withMultiSelect?: boolean;
20
+ align?: DropDataAlign;
14
21
  defaultOpen?: boolean;
15
22
  buttonProps?: ButtonProps;
23
+ iconButtonProps?: IconButtonProps;
16
24
  }
17
25
  export declare const DropData: FC<DropDataProps>;
18
26
  export {};
@@ -8,6 +8,7 @@ export interface NoteProps {
8
8
  status: StatusType;
9
9
  message: string;
10
10
  action?: NoteAction;
11
+ fullWidth?: boolean;
11
12
  }
12
13
  export declare const Note: FC<NoteProps>;
13
14
  export {};
@@ -1,7 +1,7 @@
1
1
  import { type FC } from 'react';
2
+ import { HoverAction } from '../hover-actions';
2
3
  import { CSSProperties } from 'styled-components';
3
4
  import { type TableColumn, type TableRow, TableVariant } from './types';
4
- import { HoverAction } from '..';
5
5
  export * from './types';
6
6
  export interface TableProps {
7
7
  variant: TableVariant;
@@ -24,7 +24,6 @@ export declare const Td: import("styled-components/dist/types").IStyledComponent
24
24
  $isFirstCell: boolean;
25
25
  $isLastCell: boolean;
26
26
  }>> & string;
27
- export declare const Sortable: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
27
+ export declare const HeadWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
28
28
  $textAlign?: TableColumn["textAlign"];
29
- $withClick: boolean;
30
29
  }>> & string;
@@ -0,0 +1,11 @@
1
+ import { type FC } from 'react';
2
+ import { TableRow, type TableRowCell } from '../../types';
3
+ export interface FilterProps {
4
+ columnKey: string;
5
+ filters: {
6
+ [key: string]: TableRowCell['rawValue'][];
7
+ };
8
+ onFilter: (columnKey: string, values: TableRowCell['rawValue'][]) => void;
9
+ rowsUnfiltered: TableRow[];
10
+ }
11
+ export declare const Filter: FC<FilterProps>;
@@ -1,12 +1,17 @@
1
1
  import { type FC } from 'react';
2
2
  import { SortDirection } from '@/types';
3
- import { type TableColumn, TableVariant } from '../types';
3
+ import { type TableColumn, TableVariant, TableRowCell, TableRow } from '../types';
4
4
  interface TableColumnsProps {
5
5
  variant: TableVariant;
6
6
  columns: TableColumn[];
7
+ rowsUnfiltered: TableRow[];
7
8
  sortDirection: SortDirection;
8
9
  sortByKey: string;
9
- onSort: (key: string) => void;
10
+ onSort: (columnKey: string) => void;
11
+ filters: {
12
+ [key: string]: TableRowCell['rawValue'][];
13
+ };
14
+ onFilter: (columnKey: string, values: TableRowCell['rawValue'][]) => void;
10
15
  withCheckboxes?: boolean;
11
16
  partiallySelected?: boolean;
12
17
  allSelected?: boolean;
@@ -0,0 +1,9 @@
1
+ import { type FC } from 'react';
2
+ import { SortDirection } from '@/types';
3
+ export interface SortProps {
4
+ columnKey: string;
5
+ sortDirection: SortDirection;
6
+ sortByKey: string;
7
+ onSort: (columnKey: string) => void;
8
+ }
9
+ export declare const Sort: FC<SortProps>;
@@ -6,18 +6,18 @@ export declare enum TableVariant {
6
6
  export interface TableColumn {
7
7
  key: string;
8
8
  label: string;
9
- sortable?: boolean;
10
9
  minWidth?: CSSProperties['minWidth'];
11
10
  textAlign?: CSSProperties['textAlign'];
12
11
  }
12
+ export interface TableRowCell {
13
+ key: string;
14
+ rawValue: string | number | boolean;
15
+ component?: FC;
16
+ }
13
17
  export interface TableRow {
14
18
  onClick?: () => void;
15
19
  isSelected?: boolean;
16
20
  onSelect?: () => void;
17
21
  onDeselect?: () => void;
18
- cells: {
19
- key: string;
20
- rawValue: string | number | boolean;
21
- component?: FC;
22
- }[];
22
+ cells: TableRowCell[];
23
23
  }
@@ -1 +1 @@
1
- export{k as Badge,o as Button,B as ButtonSize,db as ButtonTab,dc as ButtonTabList,a as ButtonVariants,l as Checkbox,df as CheckboxList,de as CheckboxSize,x as CliCommand,w as DataCard,D as Drawer,dg as DropData,dh as Header,c1 as HoverActions,I as IconButton,cc as IconButtonSize,di as Input,L as Loader,dj as Modal,dk as Navbar,f as Note,dm as Radio,dn as RadioGroup,dl as RadioSize,e as Search,b as SectionCard,S as SectionCardActionType,dd as SectionCardSize,z as Segment,A as StatusCard,q as Table,r as TableVariant,dp as Tag,E as TextCard,m as Toggle,dr as ToggleLabelAlign,ds as ToggleList,n as ToggleSize,dq as ToggleVariant,T as Typography,j as TypographySize,dt as TypographyVariants,W as WarningModal}from"../chunks/ui-components-693d231b.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{k as Badge,p as Button,B as ButtonSize,db as ButtonTab,dc as ButtonTabList,a as ButtonVariants,l as Checkbox,df as CheckboxList,de as CheckboxSize,x as CliCommand,w as DataCard,D as Drawer,dh as DropData,dg as DropDataAlign,di as Header,c1 as HoverActions,I as IconButton,cc as IconButtonSize,dj as Input,L as Loader,dk as Modal,dl as Navbar,f as Note,dn as Radio,dp as RadioGroup,dm as RadioSize,e as Search,b as SectionCard,S as SectionCardActionType,dd as SectionCardSize,z as Segment,A as StatusCard,r as Table,s as TableVariant,dq as Tag,E as TextCard,n as Toggle,ds as ToggleLabelAlign,dt as ToggleList,o as ToggleSize,dr as ToggleVariant,T as Typography,j as TypographySize,du as TypographyVariants,W as WarningModal}from"../chunks/ui-components-ea48d4a4.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{aw as AutocompleteInput,aQ as Badge,aT as Button,ah as CancelWarning,c as CenterThis,R as Checkbox,C as Code,an as ConditionDetails,ao as DataCard,J as DataCardFieldTypes,bE as DataCardFields,c$ as DataFinger,aW as DataTab,ag as DeleteWarning,b$ as DescribeRow,ax as Divider,a7 as DocsButton,af as Drawer,d1 as DrawerFooter,d0 as DrawerHeader,bh as Dropdown,d2 as ErrorBoundary,bq as ExtendArrow,v as FadeLoader,V as FieldError,Q as FieldLabel,F as FlexColumn,i as FlexRow,d3 as Header,bp as IconButton,c9 as IconGroup,aL as IconTitleBadge,aG as IconWrapped,bX as IconsNav,d4 as ImageControlled,Y as Input,a2 as InputList,$ as InputTable,aO as InteractiveTable,a1 as KeyValueInputsList,aS as LoadingText,ar as Modal,at as ModalBody,a8 as MonitorsCheckboxes,aI as MonitorsIcons,as as NavigationButtons,N as NoDataFound,au as NotificationNote,da as Overlay,P as PageContent,bc as Popup,cd as PopupForm,ci as ScrollX,a_ as ScrollY,a6 as SectionTitle,a5 as Segment,bd as SelectionButton,b2 as SkeletonLoader,az as Status,bD as Stepper,d5 as TabList,aJ as TableContainer,aK as TableTitleWrap,aN as TableWrap,bN as Tag,a4 as Text,a9 as TextArea,a0 as Toggle,cg as ToggleCodeComponent,aB as Tooltip,aP as TraceLoader,U as UpgradeRequiredWrapper,be as VerticalScroll,d9 as WarningModal,d6 as getLinksFromText,d7 as getStrongsFromText,d8 as renderText}from"./chunks/ui-components-693d231b.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{aw as AutocompleteInput,aQ as Badge,aT as Button,ah as CancelWarning,c as CenterThis,R as Checkbox,C as Code,an as ConditionDetails,ao as DataCard,J as DataCardFieldTypes,bE as DataCardFields,c$ as DataFinger,aW as DataTab,ag as DeleteWarning,b$ as DescribeRow,ax as Divider,a7 as DocsButton,af as Drawer,d1 as DrawerFooter,d0 as DrawerHeader,bh as Dropdown,d2 as ErrorBoundary,bq as ExtendArrow,m as FadeLoader,V as FieldError,Q as FieldLabel,F as FlexColumn,i as FlexRow,d3 as Header,bp as IconButton,c9 as IconGroup,aL as IconTitleBadge,aG as IconWrapped,bX as IconsNav,d4 as ImageControlled,Y as Input,a2 as InputList,$ as InputTable,aO as InteractiveTable,a1 as KeyValueInputsList,aS as LoadingText,ar as Modal,at as ModalBody,a8 as MonitorsCheckboxes,aI as MonitorsIcons,as as NavigationButtons,N as NoDataFound,au as NotificationNote,da as Overlay,P as PageContent,bc as Popup,cd as PopupForm,ci as ScrollX,a_ as ScrollY,a6 as SectionTitle,a5 as Segment,bd as SelectionButton,b2 as SkeletonLoader,az as Status,bD as Stepper,d5 as TabList,aJ as TableContainer,aK as TableTitleWrap,aN as TableWrap,bN as Tag,a4 as Text,a9 as TextArea,a0 as Toggle,cg as ToggleCodeComponent,aB as Tooltip,aP as TraceLoader,U as UpgradeRequiredWrapper,be as VerticalScroll,d9 as WarningModal,d6 as getLinksFromText,d7 as getStrongsFromText,d8 as renderText}from"./chunks/ui-components-ea48d4a4.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{al as ACTION_OPTIONS,ae as BUTTON_TEXTS,bo as DEFAULT_DATA_STREAM_NAME,bB as DESTINATION_CATEGORIES,bi as DISPLAY_LANGUAGES,H as DISPLAY_TITLES,av as FORM_ALERTS,bQ as INSTRUMENTATION_RULE_OPTIONS,cU as LANGUAGE_OPTIONS,bj as MONITORS_OPTIONS,bk as STORAGE_KEYS,cV as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-693d231b.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{al as ACTION_OPTIONS,ae as BUTTON_TEXTS,bo as DEFAULT_DATA_STREAM_NAME,bB as DESTINATION_CATEGORIES,bi as DISPLAY_LANGUAGES,H as DISPLAY_TITLES,av as FORM_ALERTS,bQ as INSTRUMENTATION_RULE_OPTIONS,cU as LANGUAGE_OPTIONS,bj as MONITORS_OPTIONS,bk as STORAGE_KEYS,cV as TOKEN_ABOUT_TO_EXPIRE}from"./chunks/ui-components-ea48d4a4.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,9 +1,10 @@
1
1
  import { type FC, type Dispatch, type SetStateAction } from 'react';
2
- import { type Connection } from '@/types';
2
+ import { type Connection, type ConnectionRemoteConfig } from '@/types';
3
3
  import { DrawerProps } from '@/components/_v2';
4
4
  export interface ConnectionConfigurationsFormData {
5
5
  automaticRollout: boolean;
6
6
  }
7
+ export type GetConnectionRemoteConfig = (id: string) => Promise<ConnectionRemoteConfig | undefined>;
7
8
  export type ApplyConnectionsConfigurationsFunc = (connectionIds: string[], formData: ConnectionConfigurationsFormData) => Promise<{
8
9
  error?: string;
9
10
  }>;
@@ -12,7 +13,7 @@ export interface ConfigDrawerProps {
12
13
  connections: Connection[];
13
14
  selectedConnectionIds: string[];
14
15
  setSelectedConnectionIds: Dispatch<SetStateAction<string[]>>;
15
- defaultFormData?: ConnectionConfigurationsFormData;
16
+ getConnectionRemoteConfig: GetConnectionRemoteConfig;
16
17
  onApply: ApplyConnectionsConfigurationsFunc;
17
18
  }
18
19
  export declare const CONFIG_DRAWER_WIDTH = "75vw";
@@ -1,15 +1,15 @@
1
1
  import { type FC } from 'react';
2
2
  import { CSSProperties } from 'styled-components';
3
- import { type Connection, ConnectionRemoteConfig } from '@/types';
4
- import { type ApplyConnectionsConfigurationsFunc } from './config-drawer';
5
- export { type ApplyConnectionsConfigurationsFunc, type ConnectionConfigurationsFormData } from './config-drawer';
3
+ import { type Connection } from '@/types';
4
+ import { type ApplyConnectionsConfigurationsFunc, GetConnectionRemoteConfig } from './config-drawer';
5
+ export { type ApplyConnectionsConfigurationsFunc, type ConnectionConfigurationsFormData, type GetConnectionRemoteConfig } from './config-drawer';
6
6
  export interface CentralConnectionsProps {
7
7
  tableRowsMaxHeight: CSSProperties['maxHeight'];
8
8
  connections?: Connection[];
9
9
  getConnections: () => Promise<Connection[]>;
10
10
  onClickConnection: (connection: Connection) => void;
11
11
  deleteConnection: (id: string) => Promise<void>;
12
- getConnectionRemoteConfig: (id: string) => Promise<ConnectionRemoteConfig>;
12
+ getConnectionRemoteConfig: GetConnectionRemoteConfig;
13
13
  applyConfigurations: ApplyConnectionsConfigurationsFunc;
14
14
  }
15
15
  export declare const CentralConnections: FC<CentralConnectionsProps>;
@@ -1,4 +1,4 @@
1
- import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react";import n,{useTheme as i}from"styled-components";import{W as s,F as r,d,D as c,e as u,f as p,h as g,i as b,T as m,j as y,k as h,O as f,l as v,m as w,n as k,L as C,o as x,a as $,p as R,P as A,b as L,g as P,S as D,B as I,q as S,r as V,s as z,t as M,c as O,v as T,w as j,I as N,x as F,y as U,z as E,A as H,E as W,G as Y,U as q}from"../chunks/ui-components-693d231b.js";import{ConnectionsIcon as G,OdigosLogo as K,RefreshIcon as B,SettingsIcon as J,DeleteIcon as Q,VIcon as X,XIcon as Z,PodIcon as _,ChevronUpIcon as ee,ChevronDownIcon as te,TerminalIcon as ae,VSquareIcon as le,XSquareIcon as oe,PipelineCollectorIcon as ne,DownloadIcon as ie,GatewayIcon as se,YamlIcon as re}from"../icons.js";import{Y as de}from"../chunks/index-b33f952d.js";import{useOdigos as ce}from"../contexts.js";import{V as ue}from"../chunks/index-64bb5a64.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const pe=({onDeny:t,onApprove:a})=>e.createElement(s,{title:"Discard changes?",description:"You have unsaved changes.\nIf you cancel now, your changes won't be saved.",onDeny:t,denyLabel:"Keep editing",onApprove:a,approveLabel:"Discard changes"}),ge=({onDeny:t,onApprove:a,action:l="delete",target:o})=>{const n=l.charAt(0).toUpperCase()+l.substring(1),i=o?.endsWith("s")?"these":"this";return e.createElement(s,{title:`${n}${o?` ${o}`:""}?`,description:`Are you sure you want to ${l}${o?` ${i} ${o}`:""}?`,onDeny:t,denyLabel:"Go back",onApprove:a,approveLabel:n})},be=({minSupportedVersion:t,currentVersion:a})=>e.createElement(s,{relativeToParent:!0,visual:ue,title:"Upgrade Required",description:`To use this feature, please upgrade to Odigos v${t} or later.\nCurrent version: ${a}.`}),me="75vw",ye=n.div`
1
+ import e,{useState as t,useMemo as a,useEffect as l,useCallback as o}from"react";import n,{useTheme as i}from"styled-components";import{W as s,F as r,d as c,D as d,e as u,f as g,h as p,i as b,T as m,j as y,k as h,O as f,l as v,m as w,n as C,o as k,L as x,p as $,a as R,q as A,P as L,b as P,g as I,S as D,B as S,r as V,s as z,t as M,v as O,c as T,w as j,I as N,x as E,y as U,z as W,A as F,E as q,G as H,U as Y}from"../chunks/ui-components-ea48d4a4.js";import{ConnectionsIcon as G,OdigosLogo as K,RefreshIcon as B,SettingsIcon as J,DeleteIcon as Q,VIcon as X,XIcon as Z,PodIcon as _,ChevronUpIcon as ee,ChevronDownIcon as te,TerminalIcon as ae,VSquareIcon as le,XSquareIcon as oe,PipelineCollectorIcon as ne,DownloadIcon as ie,GatewayIcon as se,YamlIcon as re}from"../icons.js";import{Y as ce}from"../chunks/index-64462d3a.js";import{useOdigos as de}from"../contexts.js";import{V as ue}from"../chunks/index-64bb5a64.js";import"zustand";import"javascript-time-ago";import"../chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const ge=({onDeny:t,onApprove:a})=>e.createElement(s,{title:"Discard changes?",description:"You have unsaved changes.\nIf you cancel now, your changes won't be saved.",onDeny:t,denyLabel:"Keep editing",onApprove:a,approveLabel:"Discard changes"}),pe=({onDeny:t,onApprove:a,action:l="delete",target:o})=>{const n=l.charAt(0).toUpperCase()+l.substring(1),i=o?.endsWith("s")?"these":"this";return e.createElement(s,{title:`${n}${o?` ${o}`:""}?`,description:`Are you sure you want to ${l}${o?` ${i} ${o}`:""}?`,onDeny:t,denyLabel:"Go back",onApprove:a,approveLabel:n})},be=({minSupportedVersion:t,currentVersion:a})=>e.createElement(s,{relativeToParent:!0,visual:ue,title:"Upgrade Required",description:`To use this feature, please upgrade to Odigos v${t} or later.\nCurrent version: ${a}.`}),me="75vw",ye=n.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  border-radius: 16px;
@@ -29,7 +29,7 @@ import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react"
29
29
  background-color: ${({theme:e})=>e.v2.colors.silver[900]};
30
30
  overflow-y: auto;
31
31
  overflow-x: hidden;
32
- `,ke=n.div`
32
+ `,Ce=n.div`
33
33
  display: flex;
34
34
  align-items: center;
35
35
  gap: 12px;
@@ -40,13 +40,13 @@ import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react"
40
40
  &:hover {
41
41
  background-color: ${({theme:e})=>e.v2.colors.silver[800]};
42
42
  }
43
- `,Ce=n.div`
43
+ `,ke=n.div`
44
44
  display: flex;
45
45
  align-items: center;
46
46
  justify-content: flex-end;
47
47
  gap: 16px;
48
48
  padding: 0 24px;
49
- `,xe=({onClose:l,connections:o,selectedConnectionIds:n,setSelectedConnectionIds:s,defaultFormData:r,onApply:R})=>{const A=i(),[L,P]=t(""),D=a(()=>o.filter(e=>!L||e.name.toLowerCase().includes(L.toLowerCase())),[o,L]),I=n.length>0,S=e=>{s(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[V,z]=t(!1),[M,O]=t(!1),[T,j]=t(void 0),{formData:N,handleFormChange:F,resetFormData:U}=d(r||{automaticRollout:!0}),E=()=>{U(),s([]),l()};return e.createElement(c,{isOpen:!0,hideOverlay:!0,width:me,header:{icon:G,title:"Cluster Configuration",onClose:l}},e.createElement(ye,null,e.createElement(he,null,e.createElement(u,{width:"40%",value:L,onChange:P}),!!r&&n.length>1&&e.createElement(p,{status:g.Warning,message:"The values do not reflect the current configuration of the selected clusters, applying will override the current configurations."})),e.createElement(fe,null,e.createElement(ve,{$width:"40%"},e.createElement(b,{$padding:"0 12px",$justifyContent:"space-between"},e.createElement(b,{$gap:8},e.createElement(m,{size:y.XS},"Clusters"),e.createElement(h,{label:o.length,status:f.Unknown})),e.createElement(b,{$gap:8},e.createElement(m,{size:y.XXXS,color:A.v2.colors.silver[200]},"Selected"),e.createElement(h,{label:`${n.length}/${o.length}`,status:f.Unknown}))),e.createElement(we,{$isFooterOpen:I,$borderRadius:"16px 0 0 16px"},D.map(t=>e.createElement(ke,{key:t.id,onClick:()=>S(t.id)},e.createElement(v,{value:n.includes(t.id),onChange:()=>S(t.id)}),e.createElement(m,{size:y.XS},t.name))))),e.createElement(ve,{$width:"60%"},e.createElement(b,{$padding:"2px 12px"},e.createElement(m,{size:y.XS},"Configurations")),e.createElement(we,{$isFooterOpen:I,$borderRadius:"0 16px 16px 0"},e.createElement(b,{$gap:12},e.createElement(w,{size:k.S,label:"Automatic Rollout "+(N.automaticRollout?"Enabled":"Disabled"),tooltip:"Odigos automatically triggers a one-time rollout for workloads when instrumenting or uninstrumenting, ensuring that changes are applied without requiring manual intervention. When automatic rollout is enabled, Odigos will proactively restart workloads as needed to apply updated instrumentation. Users do not need to manually trigger rollouts after adding or removing sources. Any new pods created after enabling or disabling the agent (via automatic rollout, autoscaling, etc.) will still have the agent injected, regardless of this setting. When set to false, additional configurations related to automated rollouts or rollbacks take effect.",value:N.automaticRollout,onChange:e=>F("automaticRollout",e)})))))),I&&e.createElement(Ce,null,M?e.createElement(C,{label:"Applying configurations...",icon:K,withGradient:!0,typographyProps:{size:y.XXS}}):T?e.createElement(m,{size:y.XXS,color:A.v2.colors.red[500]},T):null,e.createElement("div",{style:{width:"150px"}},e.createElement(x,{variant:$.Secondary,label:"Cancel",fullWidth:!0,onClick:()=>z(!0),disabled:M})),e.createElement("div",{style:{width:"150px"}},e.createElement(x,{variant:$.Primary,label:"Apply",fullWidth:!0,onClick:async()=>{O(!0);const{error:e}=await R(n,N);O(!1),e?j(e):E()},disabled:M}))),V&&e.createElement(pe,{onDeny:()=>z(!1),onApprove:()=>{z(!1),E()}}))};var $e;!function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}($e||($e={}));const Re=[{key:$e.Name,label:"Name",sortable:!0},{key:$e.Type,label:"Type",sortable:!0,textAlign:"right"},{key:$e.Status,label:"Status",sortable:!0},{key:$e.OdigosVersion,label:"Odigos Version",sortable:!0},{key:$e.ConnectedSince,label:"Connected Since",sortable:!0},{key:$e.LastActivity,label:"Last Activity",sortable:!0}],Ae=({tableRowsMaxHeight:n,connections:i,getConnections:s,onClickConnection:r,deleteConnection:d,getConnectionRemoteConfig:c,applyConfigurations:u})=>{const{formatTimeAgo:p}=R(),[b,m]=t(!1),[y,v]=t(i||[]),[w,k]=t(""),C=l(async()=>{try{m(!0),v(await s()??[])}catch(e){}finally{m(!1)}},[]);o(()=>{y.length||C()},[y.length,C]);const[x,z]=t(null),[M,O]=t([]),[T,j]=t(!1),[N,F]=t(!1),[U,E]=t(void 0),H=a(()=>y.filter(e=>!w||e.name.toLowerCase().includes(w.toLowerCase())).map(t=>({onClick:()=>r(t),isSelected:M.includes(t.id),onSelect:()=>O(e=>[...e,t.id]),onDeselect:()=>O(e=>e.filter(e=>e!==t.id)),cells:[{key:$e.Id,rawValue:t.id},{key:$e.Name,rawValue:t.name},{key:$e.Type,rawValue:t.type},{key:$e.Status,rawValue:t.status,component:()=>(t=>{const a=t===g.Success?"Connection live":"Connection lost",l=t===g.Success?X:Z;return e.createElement(h,{status:t,label:a,leftIcon:l})})(t.status)},{key:$e.OdigosVersion,rawValue:t.odigosVersion},{key:$e.ConnectedSince,rawValue:t.connectedAt?p(t.connectedAt):"-"},{key:$e.LastActivity,rawValue:t.lastSeenAt?p(t.lastSeenAt):"-"}]})),[y,M,w]);return e.createElement(A,null,e.createElement(L,{backgroundWeight:"1000",icon:G,title:"Connections",badge:{label:y.length.toString(),status:f.Unknown},search:{placeholder:"Search by cluster name",value:w,onChange:e=>k(e)},actions:[{id:P(),type:D.Button,buttonProps:{variant:$.Secondary,size:I.S,leftIcon:B,onClick:()=>C(),disabled:b}},{id:P(),type:D.Button,buttonProps:{variant:$.Primary,size:I.S,label:"Configurations",rightIcon:J,onClick:()=>j(!0)}}]},e.createElement(S,{variant:V.Pretty,maxHeight:n,isLoading:b,withCheckboxes:!0,columns:Re,rows:H,rowActionsPushRightPosition:T?`calc(${me} - 24px)`:void 0,getRowActions:({cells:e})=>[{id:P(),label:"Edit Configuration",rightIcon:J,loading:N,onClick:async()=>{const t=e.find(e=>e.key===$e.Id)?.rawValue;if(t){O([t.toString()]),F(!0);const e=await c(t.toString());E({automaticRollout:!e.rollout?.automaticRolloutDisabled}),F(!1),j(!0)}}},{id:P(),label:"Delete Connection",rightIcon:Q,disabled:e.find(e=>e.key===$e.Status)?.rawValue===g.Success,onClick:()=>{const t=e.find(e=>e.key===$e.Id)?.rawValue;t&&z(t.toString())}}]}),T&&e.createElement(xe,{onClose:()=>{j(!1),E(void 0)},connections:y,selectedConnectionIds:M,setSelectedConnectionIds:O,defaultFormData:U,onApply:u}),x&&e.createElement(ge,{target:"connection",onDeny:()=>z(null),onApprove:async()=>{x&&(await d(x),C())}})))},Le=n.div`
49
+ `,xe=({onClose:o,connections:n,selectedConnectionIds:s,setSelectedConnectionIds:r,getConnectionRemoteConfig:A,onApply:L})=>{const P=i(),[I,D]=t(""),S=a(()=>n.filter(e=>!I||e.name.toLowerCase().includes(I.toLowerCase())),[n,I]),V=s.length>0,z=e=>{r(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[M,O]=t(!1),[T,j]=t(!1),[N,E]=t(void 0),[U,W]=t(!1),[F,q]=t(void 0),{formData:H,handleFormChange:Y,areFormValuesEqual:B,resetFormData:J}=c({automaticRollout:!0}),Q=a(()=>s.length>1||void 0!==F&&!B(F,H),[s.length,F,H]);return l(()=>{1===s.length?(async e=>{if(U)return;W(!0);const t=await A(e);if(t){const e={automaticRollout:!t.rollout?.automaticRolloutDisabled};q(e),J(e)}W(!1)})(s[0]):q(void 0)},[s.length]),e.createElement(d,{isOpen:!0,hideOverlay:!0,width:me,header:{icon:G,title:"Cluster Configuration",onClose:o}},e.createElement(ye,null,e.createElement(he,null,e.createElement(u,{width:"40%",value:I,onChange:D}),Q?e.createElement(g,{fullWidth:!0,status:p.Info,message:'The values don\'t reflect the current configuration of the selected clusters.\n"Apply" will override the current configurations.'}):1===s.length&&void 0!==F?e.createElement(g,{fullWidth:!0,status:p.Success,message:"The values reflect the current configuration of the selected cluster."}):null),e.createElement(fe,null,e.createElement(ve,{$width:"40%"},e.createElement(b,{$padding:"0 12px",$justifyContent:"space-between"},e.createElement(b,{$gap:8},e.createElement(m,{size:y.XS},"Clusters"),e.createElement(h,{label:n.length,status:f.Unknown})),e.createElement(b,{$gap:8},e.createElement(m,{size:y.XXXS,color:P.v2.colors.silver[200]},"Selected"),e.createElement(h,{label:`${s.length}/${n.length}`,status:f.Unknown}))),e.createElement(we,{$isFooterOpen:V,$borderRadius:"16px 0 0 16px"},S.map(t=>e.createElement(Ce,{key:t.id,onClick:()=>z(t.id)},e.createElement(v,{value:s.includes(t.id),onChange:()=>z(t.id)}),e.createElement(m,{size:y.XS},t.name))))),e.createElement(ve,{$width:"60%"},e.createElement(b,{$padding:"2px 12px"},e.createElement(m,{size:y.XS},"Configurations")),e.createElement(we,{$isFooterOpen:V,$borderRadius:"0 16px 16px 0"},U?e.createElement(w,null):e.createElement(b,{$gap:12},e.createElement(C,{size:k.S,label:"Automatic Rollout "+(H.automaticRollout?"Enabled":"Disabled"),tooltip:"Odigos automatically triggers a one-time rollout for workloads when instrumenting or uninstrumenting, ensuring that changes are applied without requiring manual intervention. When automatic rollout is enabled, Odigos will proactively restart workloads as needed to apply updated instrumentation. Users do not need to manually trigger rollouts after adding or removing sources. Any new pods created after enabling or disabling the agent (via automatic rollout, autoscaling, etc.) will still have the agent injected, regardless of this setting. When set to false, additional configurations related to automated rollouts or rollbacks take effect.",value:H.automaticRollout,onChange:e=>Y("automaticRollout",e)})))))),V&&e.createElement(ke,null,T?e.createElement(x,{label:"Applying configurations...",icon:K,withGradient:!0,typographyProps:{size:y.XXS}}):N?e.createElement(m,{size:y.XXS,color:P.v2.colors.red[500]},N):null,e.createElement("div",{style:{width:"150px"}},e.createElement($,{variant:R.Secondary,label:"Cancel",fullWidth:!0,onClick:()=>O(!0),disabled:T})),e.createElement("div",{style:{width:"150px"}},e.createElement($,{variant:R.Primary,label:"Apply",fullWidth:!0,onClick:async()=>{j(!0);const{error:e}=await L(s,H);j(!1),e?E(e):(r([]),o())},disabled:T}))),M&&e.createElement(ge,{onDeny:()=>O(!1),onApprove:()=>{O(!1),r([]),o()}}))};var $e;!function(e){e.Id="id",e.Name="name",e.Type="type",e.Status="status",e.OdigosVersion="odigosVersion",e.ConnectedSince="connectedSince",e.LastActivity="lastActivity"}($e||($e={}));const Re=[{key:$e.Name,label:"Name"},{key:$e.Type,label:"Type",textAlign:"right"},{key:$e.Status,label:"Status"},{key:$e.OdigosVersion,label:"Odigos Version"},{key:$e.ConnectedSince,label:"Connected Since"},{key:$e.LastActivity,label:"Last Activity"}],Ae=({tableRowsMaxHeight:n,connections:i,getConnections:s,onClickConnection:r,deleteConnection:c,getConnectionRemoteConfig:d,applyConfigurations:u})=>{const{formatTimeAgo:g}=A(),[b,m]=t(!1),[y,v]=t(i||[]),[w,C]=t(""),k=o(async()=>{try{m(!0),v(await s()??[])}catch(e){}finally{m(!1)}},[]);l(()=>{y.length||k()},[y.length,k]);const[x,$]=t(null),[M,O]=t([]),[T,j]=t(!1),N=a(()=>y.filter(e=>!w||e.name.toLowerCase().includes(w.toLowerCase())).map(t=>({onClick:()=>r(t),isSelected:M.includes(t.id),onSelect:()=>O(e=>[...e,t.id]),onDeselect:()=>O(e=>e.filter(e=>e!==t.id)),cells:[{key:$e.Id,rawValue:t.id},{key:$e.Name,rawValue:t.name},{key:$e.Type,rawValue:t.type},{key:$e.Status,rawValue:t.status,component:()=>(t=>{const a=t===p.Success?"Connection live":"Connection lost",l=t===p.Success?X:Z;return e.createElement(h,{status:t,label:a,leftIcon:l})})(t.status)},{key:$e.OdigosVersion,rawValue:t.odigosVersion},{key:$e.ConnectedSince,rawValue:t.connectedAt?g(t.connectedAt):"-"},{key:$e.LastActivity,rawValue:t.lastSeenAt?g(t.lastSeenAt):"-"}]})),[y,M,w]);return e.createElement(L,null,e.createElement(P,{backgroundWeight:"1000",icon:G,title:"Connections",badge:{label:y.length.toString(),status:f.Unknown},search:{placeholder:"Search by cluster name",value:w,onChange:e=>C(e)},actions:[{id:I(),type:D.Button,buttonProps:{variant:R.Secondary,size:S.S,leftIcon:B,onClick:()=>k(),disabled:b}},{id:I(),type:D.Button,buttonProps:{variant:R.Primary,size:S.S,label:"Configurations",rightIcon:J,onClick:()=>j(!0)}}]},e.createElement(V,{variant:z.Pretty,maxHeight:n,isLoading:b,withCheckboxes:!0,columns:Re,rows:N,rowActionsPushRightPosition:T?`calc(${me} - 24px)`:void 0,getRowActions:({cells:e})=>[{id:I(),label:"Edit Configuration",rightIcon:J,onClick:async()=>{const t=e.find(e=>e.key===$e.Id)?.rawValue;t&&(O([t.toString()]),j(!0))}},{id:I(),label:"Delete Connection",rightIcon:Q,disabled:e.find(e=>e.key===$e.Status)?.rawValue===p.Success,onClick:()=>{const t=e.find(e=>e.key===$e.Id)?.rawValue;t&&$(t.toString())}}]}),T&&e.createElement(xe,{onClose:()=>j(!1),connections:y,selectedConnectionIds:M,setSelectedConnectionIds:O,getConnectionRemoteConfig:d,onApply:u}),x&&e.createElement(pe,{target:"connection",onDeny:()=>$(null),onApprove:async()=>{x&&(await c(x),k())}})))},Le=n.div`
50
50
  display: flex;
51
51
  align-items: center;
52
52
  justify-content: space-between;
@@ -59,9 +59,9 @@ import e,{useState as t,useMemo as a,useCallback as l,useEffect as o}from"react"
59
59
  background: ${({theme:e})=>e.v2.colors.silver[700]};
60
60
  }
61
61
  `,Pe=n.div`
62
- animation-name: ${z.animations.fade.in};
63
- `,De=({pod:l,getExtendedPodInfo:n,onClose:i})=>{const{formatTimeAgo:s}=R(),[d,u]=t(null),[p,g]=t(!1);o(()=>{l?n(l.namespace,l.name).then(e=>u(e??null)):(u(null),g(!1))},[l]);const b=a(()=>[{id:P(),title:"Node",label:d?.node??"-",withCopy:!0},{id:P(),title:"Status",badge:{status:M(d?.status),label:d?.status??"-"}}],[d]),y=a(()=>d?.containers?.map(e=>({id:P(),items:[{id:P(),title:"Container",label:e.name??"-"},{id:P(),title:"Status",badge:{status:M(e.status),label:e.status??"-"},label:e.startedAt?`(since ${s(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}`}]}))||[],[d]);return e.createElement(c,{isOpen:!!l,header:{icon:_,title:"Pod Information",onClose:i}},d?null:e.createElement(O,null,e.createElement(T,null)),d?e.createElement(e.Fragment,null,e.createElement(L,{icon:_,title:d.name,withCopyTitle:!0},e.createElement(r,{$gap:24},e.createElement(j,{cellsPerRow:2,items:b}),y.length>0&&e.createElement(r,{$gap:12},e.createElement(Le,{onClick:()=>g(e=>!e)},e.createElement(m,null,"Containers Overview"),e.createElement(N,{icon:p?ee:te})),p&&y.map(({id:t,items:a})=>e.createElement(Pe,{key:t},e.createElement(j,{cellsPerRow:2,items:a})))))),e.createElement(L,{icon:ae,title:"Kubectl Commands"},e.createElement(r,{$gap:12},e.createElement(F,{value:`kubectl get pod ${d.name} -n ${d.namespace} -o yaml`}),e.createElement(F,{value:`kubectl describe pod ${d.name} -n ${d.namespace}`}),e.createElement(F,{value:`kubectl logs ${d.name} -n ${d.namespace}`}))),e.createElement(de,{yaml:d.manifestYAML})):null)};var Ie;!function(e){e.PodName="podName",e.Ready="ready",e.Started="started",e.Status="status",e.Restarts="restarts",e.NodeName="nodeName",e.Age="age",e.DockerImage="dockerImage"}(Ie||(Ie={}));const Se=[{key:Ie.PodName,label:"Pod Name",sortable:!0},{key:Ie.Ready,label:"Ready",sortable:!0,textAlign:"right"},{key:Ie.Started,label:"Started",sortable:!0,textAlign:"right"},{key:Ie.Status,label:"Status",sortable:!0},{key:Ie.Restarts,label:"Restarts",sortable:!0,textAlign:"right"},{key:Ie.NodeName,label:"Node Name",sortable:!0},{key:Ie.Age,label:"Age",sortable:!0,textAlign:"right"},{key:Ie.DockerImage,label:"Docker Image",sortable:!0,textAlign:"right"}],Ve=({isLoading:l,tableRowsMaxHeight:o,pods:n,getExtendedPodInfo:s})=>{const r=i(),{formatTimeAgo:d}=R(),[c,u]=t(null),p=a(()=>{const t=t=>t?e.createElement(le,{fill:U(r,g.Success,"500"),size:20}):e.createElement(oe,{fill:U(r,g.Error,"500"),size:20});return n.map(a=>({onClick:()=>u(a),cells:[{key:Ie.PodName,rawValue:a.name},{key:Ie.Ready,rawValue:a.ready,component:()=>t(a.ready)},{key:Ie.Started,rawValue:a.started,component:()=>t(a.started)},{key:Ie.Status,rawValue:a.status,component:()=>{return t=a.status,e.createElement(h,{status:M(t),label:t});var t}},{key:Ie.Restarts,rawValue:a.restartsCount.toString()},{key:Ie.NodeName,rawValue:a.nodeName},{key:Ie.Age,rawValue:d(a.creationTimestamp)},{key:Ie.DockerImage,rawValue:a.image}]}))},[n,r]);return e.createElement(L,{icon:_,title:"Pods"},e.createElement(S,{variant:V.Data,maxHeight:o,isLoading:l,columns:Se,rows:p}),e.createElement(De,{pod:c,getExtendedPodInfo:s,onClose:()=>u(null)}))};var ze;!function(e){e.Gateway="gateway",e.Node="node"}(ze||(ze={}));const Me=[{value:ze.Gateway,label:"Gateway"},{value:ze.Node,label:"Node Collector"}],Oe=n.div`
62
+ animation-name: ${M.animations.fade.in};
63
+ `,Ie=({pod:o,getExtendedPodInfo:n,onClose:i})=>{const{formatTimeAgo:s}=A(),[c,u]=t(null),[g,p]=t(!1);l(()=>{o?n(o.namespace,o.name).then(e=>u(e??null)):(u(null),p(!1))},[o]);const b=a(()=>[{id:I(),title:"Node",label:c?.node??"-",withCopy:!0},{id:I(),title:"Status",badge:{status:O(c?.status),label:c?.status??"-"}}],[c]),y=a(()=>c?.containers?.map(e=>({id:I(),items:[{id:I(),title:"Container",label:e.name??"-"},{id:I(),title:"Status",badge:{status:O(e.status),label:e.status??"-"},label:e.startedAt?`(since ${s(e.startedAt)})`:""},{id:I(),title:"Image Version",label:e.image?.split(":")?.[1]??"-"},{id:I(),title:"Image Repository",label:e.image?.split(":")?.[0]??"-"},{id:I(),title:"Restarts",label:e.restarts.toString()},{id:I(),title:"State Reason",label:e.stateReason??"-"},{id:I(),title:"Resource Requests",label:`CPU ${e.resources.requests.cpu} • Memory ${e.resources.requests.memory}`},{id:I(),title:"Resource Limits",label:`CPU ${e.resources.limits.cpu} • Memory ${e.resources.limits.memory}`}]}))||[],[c]);return e.createElement(d,{isOpen:!!o,header:{icon:_,title:"Pod Information",onClose:i}},c?null:e.createElement(T,null,e.createElement(w,null)),c?e.createElement(e.Fragment,null,e.createElement(P,{icon:_,title:c.name,withCopyTitle:!0},e.createElement(r,{$gap:24},e.createElement(j,{cellsPerRow:2,items:b}),y.length>0&&e.createElement(r,{$gap:12},e.createElement(Le,{onClick:()=>p(e=>!e)},e.createElement(m,null,"Containers Overview"),e.createElement(N,{icon:g?ee:te})),g&&y.map(({id:t,items:a})=>e.createElement(Pe,{key:t},e.createElement(j,{cellsPerRow:2,items:a})))))),e.createElement(P,{icon:ae,title:"Kubectl Commands"},e.createElement(r,{$gap:12},e.createElement(E,{value:`kubectl get pod ${c.name} -n ${c.namespace} -o yaml`}),e.createElement(E,{value:`kubectl describe pod ${c.name} -n ${c.namespace}`}),e.createElement(E,{value:`kubectl logs ${c.name} -n ${c.namespace}`}))),e.createElement(ce,{yaml:c.manifestYAML})):null)};var De;!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"}(De||(De={}));const Se=[{key:De.PodName,label:"Pod Name"},{key:De.Ready,label:"Ready",textAlign:"right"},{key:De.Started,label:"Started",textAlign:"right"},{key:De.Status,label:"Status"},{key:De.Restarts,label:"Restarts",textAlign:"right"},{key:De.NodeName,label:"Node Name"},{key:De.Age,label:"Age",textAlign:"right"},{key:De.DockerImage,label:"Docker Image",textAlign:"right"}],Ve=({isLoading:l,tableRowsMaxHeight:o,pods:n,getExtendedPodInfo:s})=>{const r=i(),{formatTimeAgo:c}=A(),[d,u]=t(null),g=a(()=>{const t=t=>t?e.createElement(le,{fill:U(r,p.Success,"500"),size:20}):e.createElement(oe,{fill:U(r,p.Error,"500"),size:20});return n.map(a=>({onClick:()=>u(a),cells:[{key:De.PodName,rawValue:a.name},{key:De.Ready,rawValue:a.ready,component:()=>t(a.ready)},{key:De.Started,rawValue:a.started,component:()=>t(a.started)},{key:De.Status,rawValue:a.status,component:()=>{return t=a.status,e.createElement(h,{status:O(t),label:t});var t}},{key:De.Restarts,rawValue:a.restartsCount.toString()},{key:De.NodeName,rawValue:a.nodeName},{key:De.Age,rawValue:c(a.creationTimestamp)},{key:De.DockerImage,rawValue:a.image}]}))},[n,r]);return e.createElement(P,{icon:_,title:"Pods"},e.createElement(V,{variant:z.Data,maxHeight:o,isLoading:l,columns:Se,rows:g}),e.createElement(Ie,{pod:d,getExtendedPodInfo:s,onClose:()=>u(null)}))};var ze;!function(e){e.Gateway="gateway",e.Node="node"}(ze||(ze={}));const Me=[{value:ze.Gateway,label:"Gateway"},{value:ze.Node,label:"Node Collector"}],Oe=n.div`
64
64
  display: flex;
65
65
  align-items: center;
66
66
  justify-content: space-between;
67
- `,Te=({selectedTab:t,setSelectedTab:a,onClickDownloadDiagnose:l,onClickRefresh:o,loading:n,disabled:i})=>e.createElement(Oe,null,e.createElement(b,{$gap:12},e.createElement(b,{$gap:8},e.createElement(ne,{size:32}),e.createElement(m,{size:y.M,weight:500},"Pipeline Collectors")),e.createElement(E,{options:Me,selected:t,setSelected:a,disabled:i})),e.createElement(b,{$gap:8},l&&e.createElement(x,{label:"Download Diagnose",leftIcon:ie,size:I.S,variant:$.Text,onClick:l,disabled:i}),o&&e.createElement(x,{label:"Refresh",leftIcon:B,size:I.S,variant:$.Text,onClick:o,loading:n,disabled:i}))),je=({isOpen:t,onClose:a,title:l,yaml:o})=>e.createElement(c,{isOpen:t,header:{icon:se,title:l,onClose:a}},e.createElement(de,{yaml:o}));var Ne;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(Ne||(Ne={}));const Fe=({icon:a,title:l,badge:o,statusCard:n,textCards:i,manifestYaml:s,configMapYaml:r})=>{const[d,c]=t(null);return e.createElement(L,{icon:a,title:l,badge:o,actions:[{id:P(),type:D.ButtonDropData,buttonProps:{variant:$.Secondary,size:I.S,label:"View YAML",onClick:e=>c(e)},dropDataItems:[{id:Ne.ManifestYaml,label:l,icon:re},{id:Ne.ConfigMapYaml,label:"ConfigMap",icon:re}]}]},e.createElement(b,{$gap:16},e.createElement(H,{...n}),i.map(t=>e.createElement(W,{key:t.title,...t}))),e.createElement(je,{isOpen:d===Ne.ManifestYaml,onClose:()=>c(null),title:l,yaml:s}),e.createElement(je,{isOpen:d===Ne.ConfigMapYaml,onClose:()=>c(null),title:"ConfigMap",yaml:r}))},Ue=e=>{switch(e){case Y.Healthy:return"All desired replicas are updated, available, and ready";case Y.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case Y.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case Y.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case Y.Down:return"No available replicas";case Y.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},Ee=({tableRowsMaxHeight:n,getGatewayInfo:i,getGatewayPods:s,getNodeCollectorInfo:r,getNodeCollectorPods:d,getExtendedPodInfo:c})=>{const{formatTimeAgo:u}=R(),{isVersionSupported:p,version:b}=ce(1.12),[m,y]=t(!1),[h,v]=t(ze.Gateway),[w,k]=t(null),[C,x]=t([]),[$,L]=t(null),[P,D]=t([]),I=l(async()=>{y(!0);try{switch(h){case ze.Gateway:k(await i()??null),x(await s()??[]);break;case ze.Node:L(await r()??null),D(await d()??[])}}catch(e){}y(!1)},[h]);o(()=>{I()},[I]);const S=a(()=>(e=>{switch(e){case ze.Gateway:return"Deployment";case ze.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(h),[h]),V=a(()=>((e,t,a,l)=>{const o={status:f.Disabled,label:"No rollouts yet"};let n=!1,i=null;switch(e){case ze.Gateway:n=t?.rolloutInProgress??!1,i=t?.lastRolloutAt??null;break;case ze.Node:n=a?.rolloutInProgress??!1,i=a?.lastRolloutAt??null;break;default:return o}return n?{status:g.Info,label:"Rollout in progress",rightIcon:B,useSecondaryTone:!0}:i?{status:f.Disabled,label:`Last Rollout: ${l(i)}`}:o})(h,w,$,u),[w,$,h,u]),z=a(()=>((e,t,a,l)=>{let o=l?g.Info:f.Unknown,n=l?"Loading":Y.Unknown,i=l?"Fetching data...":Ue(Y.Unknown);switch(e){case ze.Gateway:o=t?.status?M(t?.status):o,n=t?.status??n,i=t?.status?Ue(t.status):i;break;case ze.Node:o=a?.status?M(a?.status):o,n=a?.status??n,i=a?.status?Ue(a.status):i}return{status:o,title:n,description:i}})(h,w,$,m),[w,$,h,m]),O=a(()=>((e,t,a,l)=>{switch(e){case ze.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:t?.hpa?.min.toString()??"-",isLoading:l},{label:"Max.",value:t?.hpa?.max.toString()??"-",isLoading:l},{label:"Current",value:t?.hpa?.current.toString()??"-",isLoading:l},{label:"Desired",value:t?.hpa?.desired.toString()??"-",isLoading:l}]},{title:"Requests",cells:[{label:"CPU",value:t?.resources?.requests.cpu??"-",isLoading:l},{label:"Memory",value:t?.resources?.requests.memory??"-",isLoading:l}]},{title:"Limits",cells:[{label:"CPU",value:t?.resources?.limits.cpu??"-",isLoading:l},{label:"Memory",value:t?.resources?.limits.memory??"-",isLoading:l}]},{title:"Docker Image",cells:[{value:t?.imageVersion??"-",isLoading:l}]}];case ze.Node:return[{title:"Nodes",cells:[{label:"Desired",value:a?.nodes?.desired.toString()??"-",isLoading:l},{label:"Ready",value:a?.nodes?.ready.toString()??"-",isLoading:l}]},{title:"Requests",cells:[{label:"CPU",value:a?.resources?.requests.cpu??"-",isLoading:l},{label:"Memory",value:a?.resources?.requests.memory??"-",isLoading:l}]},{title:"Limits",cells:[{label:"CPU",value:a?.resources?.limits.cpu??"-",isLoading:l},{label:"Memory",value:a?.resources?.limits.memory??"-",isLoading:l}]},{title:"Docker Image",cells:[{value:a?.imageVersion??"-",isLoading:l}]}];default:return[]}})(h,w,$,m),[w,$,h,m]),T=a(()=>(h===ze.Gateway?w?.manifestYAML:$?.manifestYAML)??"",[w,$,h]),j=a(()=>(h===ze.Gateway?w?.configMapYAML:$?.configMapYAML)??"",[w,$,h]),N=a(()=>h===ze.Gateway?C:P,[C,P,h]);return e.createElement(A,null,e.createElement(Te,{disabled:!p,loading:m,selectedTab:h,setSelectedTab:v,onClickDownloadDiagnose:void 0,onClickRefresh:I}),e.createElement(q,null,e.createElement(Fe,{icon:se,title:S,badge:V,statusCard:z,textCards:O,manifestYaml:T,configMapYaml:j}),e.createElement(Ve,{isLoading:m,tableRowsMaxHeight:n,pods:N,getExtendedPodInfo:c}),!p&&e.createElement(be,{minSupportedVersion:1.12,currentVersion:b||""})))};export{Ae as CentralConnections,Ee as PipelineCollectors};
67
+ `,Te=({selectedTab:t,setSelectedTab:a,onClickDownloadDiagnose:l,onClickRefresh:o,loading:n,disabled:i})=>e.createElement(Oe,null,e.createElement(b,{$gap:12},e.createElement(b,{$gap:8},e.createElement(ne,{size:32}),e.createElement(m,{size:y.M,weight:500},"Pipeline Collectors")),e.createElement(W,{options:Me,selected:t,setSelected:a,disabled:i})),e.createElement(b,{$gap:8},l&&e.createElement($,{label:"Download Diagnose",leftIcon:ie,size:S.S,variant:R.Text,onClick:l,disabled:i}),o&&e.createElement($,{label:"Refresh",leftIcon:B,size:S.S,variant:R.Text,onClick:o,loading:n,disabled:i}))),je=({isOpen:t,onClose:a,title:l,yaml:o})=>e.createElement(d,{isOpen:t,header:{icon:se,title:l,onClose:a}},e.createElement(ce,{yaml:o}));var Ne;!function(e){e.ManifestYaml="manifest-yaml",e.ConfigMapYaml="configmap-yaml"}(Ne||(Ne={}));const Ee=({icon:a,title:l,badge:o,statusCard:n,textCards:i,manifestYaml:s,configMapYaml:r})=>{const[c,d]=t(null);return e.createElement(P,{icon:a,title:l,badge:o,actions:[{id:I(),type:D.ButtonDropData,buttonProps:{variant:R.Secondary,size:S.S,label:"View YAML",onClick:e=>d(e)},dropDataItems:[{id:Ne.ManifestYaml,label:l,icon:re},{id:Ne.ConfigMapYaml,label:"ConfigMap",icon:re}]}]},e.createElement(b,{$gap:16},e.createElement(F,{...n}),i.map(t=>e.createElement(q,{key:t.title,...t}))),e.createElement(je,{isOpen:c===Ne.ManifestYaml,onClose:()=>d(null),title:l,yaml:s}),e.createElement(je,{isOpen:c===Ne.ConfigMapYaml,onClose:()=>d(null),title:"ConfigMap",yaml:r}))},Ue=e=>{switch(e){case H.Healthy:return"All desired replicas are updated, available, and ready";case H.Updating:return"Workload is progressing towards desired state (e.g., updating pods)";case H.Degraded:return"Progressing but with availability issues (e.g., not enough available replicas)";case H.Failed:return"Progress deadline exceeded or an unrecoverable error occurred";case H.Down:return"No available replicas";case H.Unknown:return"Status cannot be determined from current signals";default:return"Status unknown"}},We=({tableRowsMaxHeight:n,getGatewayInfo:i,getGatewayPods:s,getNodeCollectorInfo:r,getNodeCollectorPods:c,getExtendedPodInfo:d})=>{const{formatTimeAgo:u}=A(),{isVersionSupported:g,version:b}=de(1.12),[m,y]=t(!1),[h,v]=t(ze.Gateway),[w,C]=t(null),[k,x]=t([]),[$,R]=t(null),[P,I]=t([]),D=o(async()=>{y(!0);try{switch(h){case ze.Gateway:C(await i()??null),x(await s()??[]);break;case ze.Node:R(await r()??null),I(await c()??[])}}catch(e){}y(!1)},[h]);l(()=>{D()},[D]);const S=a(()=>(e=>{switch(e){case ze.Gateway:return"Deployment";case ze.Node:return"DaemonSet";default:return"Pipeline Collectors"}})(h),[h]),V=a(()=>((e,t,a,l)=>{const o={status:f.Disabled,label:"No rollouts yet"};let n=!1,i=null;switch(e){case ze.Gateway:n=t?.rolloutInProgress??!1,i=t?.lastRolloutAt??null;break;case ze.Node:n=a?.rolloutInProgress??!1,i=a?.lastRolloutAt??null;break;default:return o}return n?{status:p.Info,label:"Rollout in progress",rightIcon:B,useSecondaryTone:!0}:i?{status:f.Disabled,label:`Last Rollout: ${l(i)}`}:o})(h,w,$,u),[w,$,h,u]),z=a(()=>((e,t,a,l)=>{let o=l?p.Info:f.Unknown,n=l?"Loading":H.Unknown,i=l?"Fetching data...":Ue(H.Unknown);switch(e){case ze.Gateway:o=t?.status?O(t?.status):o,n=t?.status??n,i=t?.status?Ue(t.status):i;break;case ze.Node:o=a?.status?O(a?.status):o,n=a?.status??n,i=a?.status?Ue(a.status):i}return{status:o,title:n,description:i}})(h,w,$,m),[w,$,h,m]),M=a(()=>((e,t,a,l)=>{switch(e){case ze.Gateway:return[{title:"HPA Spec (Replicas)",cells:[{label:"Min.",value:t?.hpa?.min.toString()??"-",isLoading:l},{label:"Max.",value:t?.hpa?.max.toString()??"-",isLoading:l},{label:"Current",value:t?.hpa?.current.toString()??"-",isLoading:l},{label:"Desired",value:t?.hpa?.desired.toString()??"-",isLoading:l}]},{title:"Requests",cells:[{label:"CPU",value:t?.resources?.requests.cpu??"-",isLoading:l},{label:"Memory",value:t?.resources?.requests.memory??"-",isLoading:l}]},{title:"Limits",cells:[{label:"CPU",value:t?.resources?.limits.cpu??"-",isLoading:l},{label:"Memory",value:t?.resources?.limits.memory??"-",isLoading:l}]},{title:"Docker Image",cells:[{value:t?.imageVersion??"-",isLoading:l}]}];case ze.Node:return[{title:"Nodes",cells:[{label:"Desired",value:a?.nodes?.desired.toString()??"-",isLoading:l},{label:"Ready",value:a?.nodes?.ready.toString()??"-",isLoading:l}]},{title:"Requests",cells:[{label:"CPU",value:a?.resources?.requests.cpu??"-",isLoading:l},{label:"Memory",value:a?.resources?.requests.memory??"-",isLoading:l}]},{title:"Limits",cells:[{label:"CPU",value:a?.resources?.limits.cpu??"-",isLoading:l},{label:"Memory",value:a?.resources?.limits.memory??"-",isLoading:l}]},{title:"Docker Image",cells:[{value:a?.imageVersion??"-",isLoading:l}]}];default:return[]}})(h,w,$,m),[w,$,h,m]),T=a(()=>(h===ze.Gateway?w?.manifestYAML:$?.manifestYAML)??"",[w,$,h]),j=a(()=>(h===ze.Gateway?w?.configMapYAML:$?.configMapYAML)??"",[w,$,h]),N=a(()=>h===ze.Gateway?k:P,[k,P,h]);return e.createElement(L,null,e.createElement(Te,{disabled:!g,loading:m,selectedTab:h,setSelectedTab:v,onClickDownloadDiagnose:void 0,onClickRefresh:D}),e.createElement(Y,null,e.createElement(Ee,{icon:se,title:S,badge:V,statusCard:z,textCards:M,manifestYaml:T,configMapYaml:j}),e.createElement(Ve,{isLoading:m,tableRowsMaxHeight:n,pods:N,getExtendedPodInfo:d}),!g&&e.createElement(be,{minSupportedVersion:1.12,currentVersion:b||""})))};export{Ae as CentralConnections,We as PipelineCollectors};
package/lib/containers.js CHANGED
@@ -1,4 +1,4 @@
1
- import e,{useState as t,useEffect as i,forwardRef as a,useRef as n,useImperativeHandle as o,useMemo as l,Fragment as r,useCallback as s,Children as c}from"react";import d,{css as u,useTheme as p}from"styled-components";import{H as m,J as h,K as g,M as y,Q as v,R as b,V as f,X as x,Y as $,Z as k,_ as C,$ as S,a0 as w,a1 as T,a2 as D,a3 as N,a4 as E,s as O,a5 as F,a6 as I,a7 as A,a8 as M,a9 as R,aa as L,ab as P,ac as K,ad as j,ae as V,af as q,ag as z,ah as H,ai as B,h as W,aj as _,ak as J,al as U,am as Y,an as G,ao as X,ap as Z,F as Q,aq as ee,ar as te,as as ie,at as ae,au as ne,av as oe,aw as le,ax as re,ay as se,az as ce,i as de,aA as ue,aB as pe,aC as me,aD as he,aE as ge,aF as ye,aG as ve,aH as be,aI as fe,aJ as xe,aK as $e,aL as ke,aM as Ce,aN as Se,aO as we,c as Te,N as De,aP as Ne,aQ as Ee,aR as Oe,aS as Fe,aT as Ie,aU as Ae,aV as Me,aW as Re,v as Le,aX as Pe,aY as Ke,aZ as je,a_ as Ve,a$ as qe,b0 as ze,b1 as He,b2 as Be,b3 as We,b4 as _e,b5 as Je,b6 as Ue,b7 as Ye,b8 as Ge,b9 as Xe,ba as Ze,bb as Qe,bc as et,bd as tt,be as it,bf as at,bg as nt,bh as ot,bi as lt,bj as rt,bk as st,bl as ct,bm as dt,bn as ut,bo as pt,bp as mt,bq as ht,br as gt,bs as yt,bt as vt,bu as bt,bv as ft,bw as xt,bx as $t,by as kt,bz as Ct,bA as St,bB as wt,bC as Tt,bD as Dt,bE as Nt,bF as Et,bG as Ot,bH as Ft,bI as It,bJ as At,bK as Mt,bL as Rt,bM as Lt,bN as Pt,bO as Kt,bP as jt,bQ as Vt,bR as qt,bS as zt,p as Ht,bT as Bt,bU as Wt,bV as _t,bW as Jt,bX as Ut,bY as Yt,bZ as Gt,b_ as Xt,b$ as Zt,c0 as Qt,c1 as ei,g as ti,c2 as ii,c3 as ai,c4 as ni,c5 as oi,c6 as li,c7 as ri,c8 as si,c9 as ci,ca as di,cb as ui,u as pi,d as mi,cc as hi,cd as gi,ce as yi,cf as vi,cg as bi,ch as fi,ci as xi}from"./chunks/ui-components-693d231b.js";import{VSquareIcon as $i,XSquareIcon as ki,EditIcon as Ci,TrashIcon as Si,OdigosLogoText as wi,PlusIcon as Ti,SearchIcon as Di,FilterIcon as Ni,DataStreamIcon as Ei,VIcon as Oi,OdigosLogo as Fi,ArrowIcon as Ii,RefreshLeftArrowIcon as Ai,NotificationIcon as Mi,UserIcon as Ri,ImageErrorIcon as Li,OverviewIcon as Pi,InstrumentationRuleIcon as Ki,ActionIcon as ji,SourceIcon as Vi,DestinationIcon as qi,SlackLogo as zi,RefreshIcon as Hi,KeyIcon as Bi,TerminalIcon as Wi,ExclamationTriangleIcon as _i,TraceViewIcon as Ji}from"./icons.js";import{MarkerType as Ui,useNodesState as Yi,useEdgesState as Gi,applyNodeChanges as Xi}from"@xyflow/react";import{Y as Zi}from"./chunks/index-b33f952d.js";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const Qi=e=>{const{type:t,name:i,notes:a,signals:n,disabled:o,fields:{collectContainerAttributes:l,collectReplicaSetAttributes:r,collectWorkloadId:s,collectClusterId:c,labelsAttributes:d,annotationsAttributes:u,clusterAttributes:p,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:$,samplingPercentage:k,endpointsFilters:C,servicesNameFilters:S,attributeFilters:w}}=e,T=[{title:m.TYPE,value:t},{type:h.ActiveStatus,title:m.STATUS,value:String(!o)},{type:h.Monitors,title:m.SIGNALS_FOR_PROCESSING,value:n?.map(e=>e.toLowerCase()).join(", ")||""},{title:m.NAME,value:i||""},{title:m.NOTES,value:a||""},{type:h.Divider}];if(t===g.K8sAttributes&&(T.push({title:"Collect Container Attributes",value:String(l)}),T.push({title:"Collect ReplicaSet Attributes",value:String(r)}),T.push({title:"Collect Workload ID",value:String(s)}),T.push({title:"Collect Cluster ID",value:String(c)}),d?.length&&T.push({type:h.Divider}),d?.forEach(({labelKey:e,attributeKey:t,from:i},a)=>{let n="";n+=`Label Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${i||y.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${a+1}`:""),value:n})}),u?.length&&T.push({type:h.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:i},a)=>{let n="";n+=`Annotation Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${i||y.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${a+1}`:""),value:n})})),t===g.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";p?.forEach(({attributeName:t,attributeStringValue:i},a)=>{e+=`${t}: ${i}`,a<p.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.DeleteAttributes){let e="";b?.forEach((t,i)=>{e+=t,i<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([i,a],n)=>{e+=`${i}: ${a}`,n<t.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.PiiMasking){let e="";x?.forEach((t,i)=>{e+=t,i<x.length-1&&(e+=", ")}),T.push({title:"Categories",value:e})}return t===g.ErrorSampler&&T.push({title:"Sampling Ratio",value:String($)}),t===g.ProbabilisticSampler&&T.push({title:"Sampling Percentage",value:String(k)}),t===g.LatencySampler&&C?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:i,fallbackSamplingRatio:a},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`HTTP Route: ${t}\n`,o+=`Min. Latency: ${i}\n`,o+=`Fallback Sampling Ratio: ${a}`,T.push({title:"Endpoint"+(C.length>1?` #${n+1}`:""),value:o})}),t===g.ServiceNameSampler&&S?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Sampling Ratio: ${t}\n`,n+=`Fallback Sampling Ratio: ${i}`,T.push({title:"Filter"+(S.length>1?` #${a+1}`:""),value:n})}),t===g.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:i,condition:a},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`Attribute Key: ${t}\n`,o+=`Fallback Sampling Ratio: ${i}\n`;const l=Object.keys(a)[0];o+=`Condition: ${l}\n`,o+=`Operation: ${a[l]?.operation}\n`,o+=`Expected Value: ${a[l]?.expectedValue}`,"jsonCondition"===l&&(o+=`\nJSON Path: ${a[l].jsonPath}`),T.push({title:"Filter"+(w.length>1?` #${n+1}`:""),value:o})}),T},ea=x.PiiCategories,ta=d.div`
1
+ import e,{useState as t,useEffect as i,forwardRef as a,useRef as n,useImperativeHandle as o,useMemo as l,Fragment as r,useCallback as s,Children as c}from"react";import d,{css as u,useTheme as p}from"styled-components";import{H as m,J as h,K as g,M as y,Q as v,R as b,V as f,X as x,Y as $,Z as k,_ as C,$ as S,a0 as w,a1 as T,a2 as D,a3 as N,a4 as E,t as O,a5 as F,a6 as I,a7 as A,a8 as M,a9 as R,aa as L,ab as P,ac as K,ad as j,ae as V,af as q,ag as z,ah as H,ai as B,h as W,aj as _,ak as J,al as U,am as Y,an as G,ao as X,ap as Z,F as Q,aq as ee,ar as te,as as ie,at as ae,au as ne,av as oe,aw as le,ax as re,ay as se,az as ce,i as de,aA as ue,aB as pe,aC as me,aD as he,aE as ge,aF as ye,aG as ve,aH as be,aI as fe,aJ as xe,aK as $e,aL as ke,aM as Ce,aN as Se,aO as we,c as Te,N as De,aP as Ne,aQ as Ee,aR as Oe,aS as Fe,aT as Ie,aU as Ae,aV as Me,aW as Re,m as Le,aX as Pe,aY as Ke,aZ as je,a_ as Ve,a$ as qe,b0 as ze,b1 as He,b2 as Be,b3 as We,b4 as _e,b5 as Je,b6 as Ue,b7 as Ye,b8 as Ge,b9 as Xe,ba as Ze,bb as Qe,bc as et,bd as tt,be as it,bf as at,bg as nt,bh as ot,bi as lt,bj as rt,bk as st,bl as ct,bm as dt,bn as ut,bo as pt,bp as mt,bq as ht,br as gt,bs as yt,bt as vt,bu as bt,bv as ft,bw as xt,bx as $t,by as kt,bz as Ct,bA as St,bB as wt,bC as Tt,bD as Dt,bE as Nt,bF as Et,bG as Ot,bH as Ft,bI as It,bJ as At,bK as Mt,bL as Rt,bM as Lt,bN as Pt,bO as Kt,bP as jt,bQ as Vt,bR as qt,bS as zt,q as Ht,bT as Bt,bU as Wt,bV as _t,bW as Jt,bX as Ut,bY as Yt,bZ as Gt,b_ as Xt,b$ as Zt,c0 as Qt,c1 as ei,g as ti,c2 as ii,c3 as ai,c4 as ni,c5 as oi,c6 as li,c7 as ri,c8 as si,c9 as ci,ca as di,cb as ui,u as pi,d as mi,cc as hi,cd as gi,ce as yi,cf as vi,cg as bi,ch as fi,ci as xi}from"./chunks/ui-components-ea48d4a4.js";import{VSquareIcon as $i,XSquareIcon as ki,EditIcon as Ci,TrashIcon as Si,OdigosLogoText as wi,PlusIcon as Ti,SearchIcon as Di,FilterIcon as Ni,DataStreamIcon as Ei,VIcon as Oi,OdigosLogo as Fi,ArrowIcon as Ii,RefreshLeftArrowIcon as Ai,NotificationIcon as Mi,UserIcon as Ri,ImageErrorIcon as Li,OverviewIcon as Pi,InstrumentationRuleIcon as Ki,ActionIcon as ji,SourceIcon as Vi,DestinationIcon as qi,SlackLogo as zi,RefreshIcon as Hi,KeyIcon as Bi,TerminalIcon as Wi,ExclamationTriangleIcon as _i,TraceViewIcon as Ji}from"./icons.js";import{MarkerType as Ui,useNodesState as Yi,useEdgesState as Gi,applyNodeChanges as Xi}from"@xyflow/react";import{Y as Zi}from"./chunks/index-64462d3a.js";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const Qi=e=>{const{type:t,name:i,notes:a,signals:n,disabled:o,fields:{collectContainerAttributes:l,collectReplicaSetAttributes:r,collectWorkloadId:s,collectClusterId:c,labelsAttributes:d,annotationsAttributes:u,clusterAttributes:p,overwriteExistingValues:v,attributeNamesToDelete:b,renames:f,piiCategories:x,fallbackSamplingRatio:$,samplingPercentage:k,endpointsFilters:C,servicesNameFilters:S,attributeFilters:w}}=e,T=[{title:m.TYPE,value:t},{type:h.ActiveStatus,title:m.STATUS,value:String(!o)},{type:h.Monitors,title:m.SIGNALS_FOR_PROCESSING,value:n?.map(e=>e.toLowerCase()).join(", ")||""},{title:m.NAME,value:i||""},{title:m.NOTES,value:a||""},{type:h.Divider}];if(t===g.K8sAttributes&&(T.push({title:"Collect Container Attributes",value:String(l)}),T.push({title:"Collect ReplicaSet Attributes",value:String(r)}),T.push({title:"Collect Workload ID",value:String(s)}),T.push({title:"Collect Cluster ID",value:String(c)}),d?.length&&T.push({type:h.Divider}),d?.forEach(({labelKey:e,attributeKey:t,from:i},a)=>{let n="";n+=`Label Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${i||y.Pod}\n`,T.push({title:"Label"+(d.length>1?` #${a+1}`:""),value:n})}),u?.length&&T.push({type:h.Divider}),u?.forEach(({annotationKey:e,attributeKey:t,from:i},a)=>{let n="";n+=`Annotation Key: ${e}\n`,n+=`Attribute Key: ${t}\n`,n+=`From: ${i||y.Pod}\n`,T.push({title:"Annotation"+(u.length>1?` #${a+1}`:""),value:n})})),t===g.AddClusterInfo){T.push({title:"Overwrite Existing Values",value:String(v||!1)});let e="";p?.forEach(({attributeName:t,attributeStringValue:i},a)=>{e+=`${t}: ${i}`,a<p.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.DeleteAttributes){let e="";b?.forEach((t,i)=>{e+=t,i<b.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.RenameAttributes){let e="";const t=Object.entries(f||{});t.forEach(([i,a],n)=>{e+=`${i}: ${a}`,n<t.length-1&&(e+=", ")}),T.push({title:"Attributes",value:e})}if(t===g.PiiMasking){let e="";x?.forEach((t,i)=>{e+=t,i<x.length-1&&(e+=", ")}),T.push({title:"Categories",value:e})}return t===g.ErrorSampler&&T.push({title:"Sampling Ratio",value:String($)}),t===g.ProbabilisticSampler&&T.push({title:"Sampling Percentage",value:String(k)}),t===g.LatencySampler&&C?.forEach(({serviceName:e,httpRoute:t,minimumLatencyThreshold:i,fallbackSamplingRatio:a},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`HTTP Route: ${t}\n`,o+=`Min. Latency: ${i}\n`,o+=`Fallback Sampling Ratio: ${a}`,T.push({title:"Endpoint"+(C.length>1?` #${n+1}`:""),value:o})}),t===g.ServiceNameSampler&&S?.forEach(({serviceName:e,samplingRatio:t,fallbackSamplingRatio:i},a)=>{let n="";n+=`Service Name: ${e}\n`,n+=`Sampling Ratio: ${t}\n`,n+=`Fallback Sampling Ratio: ${i}`,T.push({title:"Filter"+(S.length>1?` #${a+1}`:""),value:n})}),t===g.SpanAttributeSampler&&w?.forEach(({serviceName:e,attributeKey:t,fallbackSamplingRatio:i,condition:a},n)=>{let o="";o+=`Service Name: ${e}\n`,o+=`Attribute Key: ${t}\n`,o+=`Fallback Sampling Ratio: ${i}\n`;const l=Object.keys(a)[0];o+=`Condition: ${l}\n`,o+=`Operation: ${a[l]?.operation}\n`,o+=`Expected Value: ${a[l]?.expectedValue}`,"jsonCondition"===l&&(o+=`\nJSON Path: ${a[l].jsonPath}`),T.push({title:"Filter"+(w.length>1?` #${n+1}`:""),value:o})}),T},ea=x.PiiCategories,ta=d.div`
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  gap: 32px;
package/lib/contexts.js CHANGED
@@ -1 +1 @@
1
- import r,{createContext as o,useMemo as t,useContext as e}from"react";import{cj as i}from"./chunks/ui-components-693d231b.js";import"./icons.js";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const s=o({tier:void 0,version:void 0,isVersionSupported:!1}),n=({children:o,tier:e,version:i})=>{const n=t(()=>({tier:e,version:i}),[e,i]);return r.createElement(s.Provider,{value:n},o)},p=r=>{const o=e(s),t=!r||o.version&&i(o.version)>=i(r);return{...o,isVersionSupported:t}};export{n as OdigosProvider,p as useOdigos};
1
+ import r,{createContext as o,useMemo as t,useContext as e}from"react";import{cj as i}from"./chunks/ui-components-ea48d4a4.js";import"./icons.js";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";const s=o({tier:void 0,version:void 0,isVersionSupported:!1}),n=({children:o,tier:e,version:i})=>{const n=t(()=>({tier:e,version:i}),[e,i]);return r.createElement(s.Provider,{value:n},o)},p=r=>{const o=e(s),t=!r||o.version&&i(o.version)>=i(r);return{...o,isVersionSupported:t}};export{n as OdigosProvider,p as useOdigos};
package/lib/functions.js CHANGED
@@ -1 +1 @@
1
- export{bA as capitalizeFirstLetter,cD as cleanObjectEmptyStringsValues,bv as compareCondition,bC as deepClone,aF as filterActions,b8 as filterDestinations,b9 as filterDestinationsByStream,b6 as filterSources,b7 as filterSourcesByStream,cE as flattenObjectKeys,aZ as formatBytes,cf as formatDuration,g as generateId,am as getActionIcon,ay as getConditionsBooleans,b1 as getContainersIcons,ca as getContainersInstrumentedCount,b0 as getDestinationIcon,aM as getEntityIcon,aX as getEntityId,aH as getEntityLabel,cF as getIdFromSseTarget,a$ as getInstrumentationRuleIcon,cG as getMainContainerLanguage,bF as getMetricForEntity,cH as getMonitorIcon,cI as getPlatformIcon,cJ as getPlatformLabel,bO as getProgrammingLanguageIcon,ch as getRecursiveValues,cK as getSseTargetFromId,y as getStatusColor,t as getStatusFromPodStatus,aD as getStatusIcon,bY as getStatusTypeFromOdigosHealth,cL as getValueForRange,bS as getWorkloadId,bz as getYamlFieldsForDestination,bZ as hasUnhealthyInstances,_ as isEmpty,cM as isLegalK8sLabel,cb as isOverTime,c2 as isStringABoolean,cN as isTimeElapsed,cO as isValidVersion,aA as mapConditions,bu as mapDestinationFieldsForDisplay,aY as mapExportedSignals,cP as numbersOnly,c3 as parseBooleanFromString,cQ as parseJsonStringToPrettyString,cR as removeEmptyValuesFromObject,bw as safeJsonParse,cS as safeJsonStringify,aR as sleep,bg as splitCamelString,cT as stringifyNonStringValues,cj as trimVersion}from"./chunks/ui-components-693d231b.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{bA as capitalizeFirstLetter,cD as cleanObjectEmptyStringsValues,bv as compareCondition,bC as deepClone,aF as filterActions,b8 as filterDestinations,b9 as filterDestinationsByStream,b6 as filterSources,b7 as filterSourcesByStream,cE as flattenObjectKeys,aZ as formatBytes,cf as formatDuration,g as generateId,am as getActionIcon,ay as getConditionsBooleans,b1 as getContainersIcons,ca as getContainersInstrumentedCount,b0 as getDestinationIcon,aM as getEntityIcon,aX as getEntityId,aH as getEntityLabel,cF as getIdFromSseTarget,a$ as getInstrumentationRuleIcon,cG as getMainContainerLanguage,bF as getMetricForEntity,cH as getMonitorIcon,cI as getPlatformIcon,cJ as getPlatformLabel,bO as getProgrammingLanguageIcon,ch as getRecursiveValues,cK as getSseTargetFromId,y as getStatusColor,v as getStatusFromPodStatus,aD as getStatusIcon,bY as getStatusTypeFromOdigosHealth,cL as getValueForRange,bS as getWorkloadId,bz as getYamlFieldsForDestination,bZ as hasUnhealthyInstances,_ as isEmpty,cM as isLegalK8sLabel,cb as isOverTime,c2 as isStringABoolean,cN as isTimeElapsed,cO as isValidVersion,aA as mapConditions,bu as mapDestinationFieldsForDisplay,aY as mapExportedSignals,cP as numbersOnly,c3 as parseBooleanFromString,cQ as parseJsonStringToPrettyString,cR as removeEmptyValuesFromObject,bw as safeJsonParse,cS as safeJsonStringify,aR as sleep,bg as splitCamelString,cT as stringifyNonStringValues,cj as trimVersion}from"./chunks/ui-components-ea48d4a4.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";
@@ -3,7 +3,7 @@ export declare const useActionFormData: () => {
3
3
  formData: ActionFormData;
4
4
  formErrors: Partial<Record<"disabled" | "type" | "name" | "notes" | "signals" | "fields", string>>;
5
5
  handleFormChange: (key?: string | undefined, val?: any, obj?: ActionFormData | undefined) => void;
6
- resetFormData: () => void;
6
+ resetFormData: (overrideForm?: ActionFormData | undefined) => void;
7
7
  validateForm: (params?: {
8
8
  withAlert?: boolean;
9
9
  alertTitle?: string;
@@ -3,7 +3,7 @@ export declare const useDataStreamFormData: (initialFormData: DataStream) => {
3
3
  formData: DataStream;
4
4
  formErrors: Partial<Record<"name", string>>;
5
5
  handleFormChange: (key?: string | undefined, val?: any, obj?: DataStream | undefined) => void;
6
- resetFormData: () => void;
6
+ resetFormData: (overrideForm?: DataStream | undefined) => void;
7
7
  validateForm: (params?: {
8
8
  withAlert?: boolean;
9
9
  alertTitle?: string;
@@ -7,7 +7,7 @@ export declare const useDestinationFormData: (params?: Params) => {
7
7
  formData: DestinationFormData;
8
8
  formErrors: Partial<Record<keyof DestinationFormData, string>>;
9
9
  handleFormChange: (key?: string | undefined, val?: any, obj?: DestinationFormData | undefined) => void;
10
- resetFormData: () => void;
10
+ resetFormData: (overrideForm?: DestinationFormData | undefined) => void;
11
11
  validateForm: (params?: {
12
12
  withAlert?: boolean;
13
13
  alertTitle?: string;
@@ -2,8 +2,9 @@ import type { AnyObj } from '@/types';
2
2
  export declare const useGenericForm: <Form extends AnyObj>(initialFormData: Form | undefined) => {
3
3
  formData: Form;
4
4
  formErrors: Partial<Record<keyof Form, string>>;
5
+ areFormValuesEqual: (initial: Form, current: Form) => boolean;
5
6
  isFormDirty: boolean;
6
7
  handleFormChange: (key?: keyof Form | string, val?: any, obj?: Form) => void;
7
8
  handleErrorChange: (key?: keyof Form | string, val?: string, obj?: Partial<Record<keyof Form, string>>) => void;
8
- resetFormData: () => void;
9
+ resetFormData: (overrideForm?: Form) => void;
9
10
  };
@@ -3,7 +3,7 @@ export declare const useInstrumentationRuleFormData: () => {
3
3
  formData: InstrumentationRuleFormData;
4
4
  formErrors: Partial<Record<"disabled" | "conditions" | "notes" | "ruleName" | "workloads" | "instrumentationLibraries" | "codeAttributes" | "headersCollection" | "payloadCollection" | "customInstrumentations", string>>;
5
5
  handleFormChange: (key?: string | undefined, val?: any, obj?: InstrumentationRuleFormData | undefined) => void;
6
- resetFormData: () => void;
6
+ resetFormData: (overrideForm?: InstrumentationRuleFormData | undefined) => void;
7
7
  validateForm: () => boolean;
8
8
  loadFormWithDrawerItem: ({ ruleName, notes, disabled, payloadCollection, codeAttributes, headersCollection, customInstrumentations }: InstrumentationRule) => void;
9
9
  };
@@ -3,7 +3,7 @@ export declare const useSourceFormData: () => {
3
3
  formData: SourceFormData;
4
4
  formErrors: Partial<Record<keyof SourceFormData, string>>;
5
5
  handleFormChange: (key?: string | undefined, val?: any, obj?: SourceFormData | undefined) => void;
6
- resetFormData: () => void;
6
+ resetFormData: (overrideForm?: SourceFormData | undefined) => void;
7
7
  validateForm: () => boolean;
8
8
  loadFormWithDrawerItem: ({ otelServiceName, name }: Source) => void;
9
9
  };
package/lib/hooks.js CHANGED
@@ -1 +1 @@
1
- export{ak as useActionFormData,cX as useBodyScroll,ba as useClickNode,bT as useClickNotification,b3 as useConnection,b5 as useContainerSize,u as useCopy,bm as useDataStreamFormData,by as useDestinationFormData,d as useGenericForm,cY as useInfiniteScroll,bP as useInstrumentationRuleFormData,ad as useKeyDown,bf as useOnClickOutside,bb as usePopup,bl as useSessionStorage,c4 as useSourceFormData,c8 as useSourceSelectionFormData,p as useTimeAgo,bR as useTransition}from"./chunks/ui-components-693d231b.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
1
+ export{ak as useActionFormData,cX as useBodyScroll,ba as useClickNode,bT as useClickNotification,b3 as useConnection,b5 as useContainerSize,u as useCopy,bm as useDataStreamFormData,by as useDestinationFormData,d as useGenericForm,cY as useInfiniteScroll,bP as useInstrumentationRuleFormData,ad as useKeyDown,bf as useOnClickOutside,bb as usePopup,bl as useSessionStorage,c4 as useSourceFormData,c8 as useSourceSelectionFormData,q as useTimeAgo,bR as useTransition}from"./chunks/ui-components-ea48d4a4.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{br as AddButton,b_ as CopyText,bW as EditButton,bV as Flow,cZ as MapItemNode,c_ as NoDataNode,bs as NoteBackToSummary,c0 as PodContainer,c5 as SourceContainer}from"./chunks/ui-components-693d231b.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{br as AddButton,b_ as CopyText,bW as EditButton,bV as Flow,cZ as MapItemNode,c_ as NoDataNode,bs as NoteBackToSummary,c0 as PodContainer,c5 as SourceContainer}from"./chunks/ui-components-ea48d4a4.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{cW as useActiveNodeStore,ce as useDarkMode,b4 as useDataStreamStore,ac as useDrawerStore,aj as useEntityStore,aE as useFilterStore,aV as useInstrumentStore,aq as useModalStore,ab as useNotificationStore,aa as usePendingStore,aU as useSelectedStore,bn as useSetupStore}from"./chunks/ui-components-693d231b.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{cW as useActiveNodeStore,ce as useDarkMode,b4 as useDataStreamStore,ac as useDrawerStore,aj as useEntityStore,aE as useFilterStore,aV as useInstrumentStore,aq as useModalStore,ab as useNotificationStore,aa as usePendingStore,aU as useSelectedStore,bn as useSetupStore}from"./chunks/ui-components-ea48d4a4.js";import"./icons.js";import"react";import"styled-components";import"zustand";import"javascript-time-ago";import"./chunks/vendor-55cc654c.js";import"react-dom";import"@xyflow/react";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";
package/lib/theme.js CHANGED
@@ -1 +1 @@
1
- export{s as default}from"./chunks/ui-components-693d231b.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{t as default}from"./chunks/ui-components-ea48d4a4.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{ck as ActionCategory,X as ActionKeyTypes,K as ActionType,cx as AddNodeTypes,cn as BooleanOperation,bK as CodeAttributesKeyTypes,ap as Crud,bI as CustomInstrumentationsKeyTypes,cy as DestinationTypes,cw as EdgeTypes,ai as EntityTypes,a3 as FieldTypes,bJ as GolangCustomProbe,bG as HeadersCollectionKeyTypes,Z as InputTypes,ct as InstallationMethod,bM as InstrumentationRuleType,cu as IntrumentationStatus,bH as JavaCustomProbe,co as JsonOperation,M as K8sAttributesFrom,c6 as K8sResourceKind,cp as ListDirection,bU as NodeTypes,cm as NumberOperation,cC as OdigosHealthStatus,bt as OtherEntityTypes,aC as OtherStatus,O as OtherStatusType,bL as PayloadCollectionKeyTypes,cs as PlatformType,cB as PodContainerLifecycleStatus,cA as PodContainerStatus,cz as PodPhase,cv as Profile,c7 as ProgrammingLanguages,bx as SignalType,cq as SortDirection,h as StatusType,cl as StringOperation,cr as Tier,G as WorkloadRolloutStatus}from"./chunks/ui-components-693d231b.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{ck as ActionCategory,X as ActionKeyTypes,K as ActionType,cx as AddNodeTypes,cn as BooleanOperation,bK as CodeAttributesKeyTypes,ap as Crud,bI as CustomInstrumentationsKeyTypes,cy as DestinationTypes,cw as EdgeTypes,ai as EntityTypes,a3 as FieldTypes,bJ as GolangCustomProbe,bG as HeadersCollectionKeyTypes,Z as InputTypes,ct as InstallationMethod,bM as InstrumentationRuleType,cu as IntrumentationStatus,bH as JavaCustomProbe,co as JsonOperation,M as K8sAttributesFrom,c6 as K8sResourceKind,cp as ListDirection,bU as NodeTypes,cm as NumberOperation,cC as OdigosHealthStatus,bt as OtherEntityTypes,aC as OtherStatus,O as OtherStatusType,bL as PayloadCollectionKeyTypes,cs as PlatformType,cB as PodContainerLifecycleStatus,cA as PodContainerStatus,cz as PodPhase,cv as Profile,c7 as ProgrammingLanguages,bx as SignalType,cq as SortDirection,h as StatusType,cl as StringOperation,cr as Tier,G as WorkloadRolloutStatus}from"./chunks/ui-components-ea48d4a4.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.152",
3
+ "version": "0.0.154",
4
4
  "author": "Odigos",
5
5
  "license": "MIT",
6
6
  "repository": {