@odigos/ui-kit 0.0.80 → 0.0.82

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 (31) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/components.js +8 -8
  3. package/lib/constants.js +1 -1
  4. package/lib/containers/dropdowns/index.d.ts +0 -2
  5. package/lib/containers/index.d.ts +0 -3
  6. package/lib/containers.js +110 -293
  7. package/lib/functions.js +29 -7
  8. package/lib/hooks.js +3 -3
  9. package/lib/icons.js +7 -6
  10. package/lib/index-1b05e560.js +11 -0
  11. package/lib/{index-6034549d.js → index-4dfaeaab.js} +1 -1
  12. package/lib/{index-b9d7a992.js → index-6bb0eb56.js} +2 -9
  13. package/lib/{index-e4e75973.js → index-6cc9ec6b.js} +2 -2
  14. package/lib/{index-19b8f8bc.js → index-72089d6e.js} +1 -1
  15. package/lib/{index-90ccd949.js → index-86030474.js} +1 -1
  16. package/lib/{index-ba4f9a19.js → index-8b736e84.js} +4 -25
  17. package/lib/{index-192794e8.js → index-8b8d8883.js} +10 -8
  18. package/lib/{index-c8aab9c4.js → index-c1a8e92c.js} +1 -1
  19. package/lib/{index-a067d6e9.js → index-f22371cb.js} +2 -2
  20. package/lib/snippets.js +7 -7
  21. package/lib/store.js +1 -1
  22. package/lib/theme.js +1 -1
  23. package/lib/types/index.d.ts +0 -1
  24. package/lib/{useTransition-807be8bc.js → useTransition-cac1649d.js} +2 -2
  25. package/package.json +1 -1
  26. package/lib/containers/compute-platform-select/index.d.ts +0 -10
  27. package/lib/containers/compute-platforms/index.d.ts +0 -8
  28. package/lib/containers/compute-platforms-actions-menu/index.d.ts +0 -7
  29. package/lib/containers/dropdowns/connection-status-dropdown/index.d.ts +0 -15
  30. package/lib/containers/dropdowns/connection-type-dropdown/index.d.ts +0 -15
  31. package/lib/types/connection/index.d.ts +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.82](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.81...ui-kit-v0.0.82) (2025-08-13)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **text:** handle empty textArray by rendering children instead of breaking layout ([#318](https://github.com/odigos-io/ui-kit/issues/318)) ([87a3e4d](https://github.com/odigos-io/ui-kit/commit/87a3e4d140d6dbfd483d2ca6cdcee2d06db6dfbb))
9
+
10
+ ## [0.0.81](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.80...ui-kit-v0.0.81) (2025-08-12)
11
+
12
+
13
+ ### Features
14
+
15
+ * remove compute platform components ([#316](https://github.com/odigos-io/ui-kit/issues/316)) ([2dbe328](https://github.com/odigos-io/ui-kit/commit/2dbe3289f7cdbfca74fe7cfc970817baffa5d6e8))
16
+
3
17
  ## [0.0.80](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.79...ui-kit-v0.0.80) (2025-08-10)
4
18
 
5
19
 
package/lib/components.js CHANGED
@@ -1,16 +1,16 @@
1
- import { B as Button } from './index-192794e8.js';
2
- export { A as AutocompleteInput, a as Badge, a9 as CenterThis, C as Checkbox, b as Code, c as ConditionDetails, D as DataCard, e as DataCardFieldTypes, d as DataCardFields, f as DataFinger, g as DataTab, h as DescribeRow, i as Divider, j as DocsButton, k as Drawer, m as DrawerFooter, l as DrawerHeader, n as Dropdown, E as ExtendArrow, F as FadeLoader, o as FieldError, p as FieldLabel, a8 as FlexColumn, a7 as FlexRow, H as Header, I as IconButton, q as IconGroup, r as IconTitleBadge, s as IconWrapped, t as IconsNav, u as ImageControlled, v as Input, w as InputList, x as InputTable, y as InteractiveTable, K as KeyValueInputsList, M as Modal, ac as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, ab as Overlay, P as Popup, O as PopupForm, S as ScrollX, Q as SectionTitle, R as Segment, U as SelectionButton, V as SkeletonLoader, W as Status, X as Stepper, Y as TabList, ad as TableContainer, ae as TableTitleWrap, af as TableWrap, Z as Tag, _ as Text, a2 as TextArea, a3 as Toggle, T as ToggleCodeComponent, a4 as Tooltip, a5 as TraceLoader, aa as VerticalScroll, a6 as WarningModal, $ as getLinksFromText, a0 as getStrongsFromText, a1 as renderText } from './index-192794e8.js';
3
- export { C as CancelWarning, D as DeleteWarning } from './index-e4e75973.js';
1
+ import { B as Button } from './index-8b8d8883.js';
2
+ export { A as AutocompleteInput, a as Badge, a9 as CenterThis, C as Checkbox, b as Code, c as ConditionDetails, D as DataCard, e as DataCardFieldTypes, d as DataCardFields, f as DataFinger, g as DataTab, h as DescribeRow, i as Divider, j as DocsButton, k as Drawer, m as DrawerFooter, l as DrawerHeader, n as Dropdown, E as ExtendArrow, F as FadeLoader, o as FieldError, p as FieldLabel, a8 as FlexColumn, a7 as FlexRow, H as Header, I as IconButton, q as IconGroup, r as IconTitleBadge, s as IconWrapped, t as IconsNav, u as ImageControlled, v as Input, w as InputList, x as InputTable, y as InteractiveTable, K as KeyValueInputsList, M as Modal, ac as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, ab as Overlay, P as Popup, O as PopupForm, S as ScrollX, Q as SectionTitle, R as Segment, U as SelectionButton, V as SkeletonLoader, W as Status, X as Stepper, Y as TabList, ad as TableContainer, ae as TableTitleWrap, af as TableWrap, Z as Tag, _ as Text, a2 as TextArea, a3 as Toggle, T as ToggleCodeComponent, a4 as Tooltip, a5 as TraceLoader, aa as VerticalScroll, a6 as WarningModal, $ as getLinksFromText, a0 as getStrongsFromText, a1 as renderText } from './index-8b8d8883.js';
3
+ export { C as CancelWarning, D as DeleteWarning } from './index-6cc9ec6b.js';
4
4
  import React, { createContext, Component, createElement } from 'react';
5
- import { T as Theme } from './index-90ccd949.js';
5
+ import { T as Theme } from './index-86030474.js';
6
6
  import 'styled-components';
7
- import './index-19b8f8bc.js';
7
+ import './index-72089d6e.js';
8
8
  import './types.js';
9
9
  import './index-5e5f7bda.js';
10
- import './index-a067d6e9.js';
11
- import './index-6034549d.js';
10
+ import './index-f22371cb.js';
11
+ import './index-4dfaeaab.js';
12
12
  import 'react-dom';
13
- import './useTransition-807be8bc.js';
13
+ import './useTransition-cac1649d.js';
14
14
 
15
15
  const ErrorBoundaryContext = createContext(null);
16
16
 
package/lib/constants.js CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, a as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, b as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, L as LANGUAGE_OPTIONS, M as MONITORS_OPTIONS, S as STORAGE_KEYS } from './index-90ccd949.js';
1
+ export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, a as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, b as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, L as LANGUAGE_OPTIONS, M as MONITORS_OPTIONS, S as STORAGE_KEYS } from './index-86030474.js';
2
2
  export { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
3
3
  import 'react';
4
4
  import './types.js';
@@ -1,6 +1,4 @@
1
1
  export * from './condition-dropdown';
2
- export * from './connection-status-dropdown';
3
- export * from './connection-type-dropdown';
4
2
  export * from './error-dropdown';
5
3
  export * from './language-dropdown';
6
4
  export * from './monitor-dropdown';
@@ -3,9 +3,6 @@ export * from './action-form';
3
3
  export * from './action-modal';
4
4
  export * from './action-table';
5
5
  export * from './await-pipeline';
6
- export * from './compute-platform-select';
7
- export * from './compute-platforms';
8
- export * from './compute-platforms-actions-menu';
9
6
  export * from './data-flow';
10
7
  export * from './data-flow-actions-menu';
11
8
  export * from './data-stream-drawer';
package/lib/containers.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, Fragment, useCallback, Children } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
- import { b as DISPLAY_TITLES, T as Theme, U as usePendingStore, V as useNotificationStore, O as useDrawerStore, B as BUTTON_TEXTS, W as useEntityStore, A as ACTION_OPTIONS, g as getActionIcon, z as useModalStore, F as FORM_ALERTS, X as useFilterStore, D as DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, e as getProgrammingLanguageIcon, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore, j as ImageErrorIcon, a0 as useDarkMode } from './index-90ccd949.js';
3
+ import { b as DISPLAY_TITLES, T as Theme, U as usePendingStore, V as useNotificationStore, O as useDrawerStore, B as BUTTON_TEXTS, W as useEntityStore, A as ACTION_OPTIONS, g as getActionIcon, z as useModalStore, F as FORM_ALERTS, X as useFilterStore, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, D as DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, e as getProgrammingLanguageIcon, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore, k as ImageErrorIcon, a0 as useDarkMode } from './index-86030474.js';
4
4
  import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, EdgeTypes, AddNodeTypes, SignalType, HeadersCollectionKeyTypes, CustomInstrumentationsKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind, ProgrammingLanguages, MountMethod, AgentEnvVarsInjectionMethod, Profile, InstallationMethod } from './types.js';
5
- import { e as DataCardFieldTypes, p as FieldLabel, C as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, _ as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, a2 as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a8 as FlexColumn, M as Modal, N as NavigationButtons, ac as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a7 as FlexRow, a4 as Tooltip, s as IconWrapped, G as MonitorsIcons, ad as TableContainer, ae as TableTitleWrap, r as IconTitleBadge, af as TableWrap, y as InteractiveTable, a9 as CenterThis, J as NoDataFound, a5 as TraceLoader, a as Badge, E as ExtendArrow, aa as VerticalScroll, U as SelectionButton, B as Button, n as Dropdown, ag as nodeConfig, ah as useNodesState, ai as useEdgesState, aj as Flow, ak as applyNodeChanges, P as Popup, a3 as Toggle, I as IconButton, al as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, Z as Tag, am as MarkerType, t as IconsNav, an as CopyText, h as DescribeRow, ao as PodContainer, ap as SourceContainer, q as IconGroup, O as PopupForm } from './index-192794e8.js';
5
+ import { e as DataCardFieldTypes, p as FieldLabel, C as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, _ as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, a2 as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a8 as FlexColumn, M as Modal, N as NavigationButtons, ac as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a7 as FlexRow, a4 as Tooltip, s as IconWrapped, G as MonitorsIcons, ad as TableContainer, ae as TableTitleWrap, r as IconTitleBadge, af as TableWrap, y as InteractiveTable, a9 as CenterThis, J as NoDataFound, a5 as TraceLoader, a as Badge, ag as nodeConfig, ah as useNodesState, ai as useEdgesState, aj as Flow, ak as applyNodeChanges, P as Popup, U as SelectionButton, aa as VerticalScroll, n as Dropdown, B as Button, a3 as Toggle, I as IconButton, E as ExtendArrow, al as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, Z as Tag, am as MarkerType, t as IconsNav, an as CopyText, h as DescribeRow, ao as PodContainer, ap as SourceContainer, q as IconGroup, O as PopupForm } from './index-8b8d8883.js';
6
6
  import { i as isEmpty, s as safeJsonParse, d as deepClone } from './index-5e5f7bda.js';
7
- import { C as CheckCircledIcon, O as OdigosLogo } from './index-6034549d.js';
8
- import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, A as ArrowIcon, R as RefreshLeftArrowIcon, N as NotificationIcon, U as UserIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon, G as GearIcon } from './index-c8aab9c4.js';
7
+ import { C as CheckCircledIcon, O as OdigosLogo } from './index-4dfaeaab.js';
8
+ import { C as CrossCircledIcon, O as OdigosLogoText, F as FilterIcon, D as DataStreamsIcon, A as ArrowIcon, R as RefreshLeftArrowIcon, N as NotificationIcon, U as UserIcon, a as OverviewIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon, G as GearIcon } from './index-c1a8e92c.js';
9
9
  import { useActionFormData, useSessionStorage, useDataStreamFormData, useDestinationFormData, useClickNotification, useSourceFormData, useSourceSelectionFormData } from './hooks.js';
10
- import { u as useKeyDown, a as useOnClickOutside, b as useContainerSize, c as useClickNode, d as usePopup, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-807be8bc.js';
11
- import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, P as PlusIcon, a as CopyIcon } from './index-19b8f8bc.js';
12
- import { D as DeleteWarning, C as CancelWarning } from './index-e4e75973.js';
13
- import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, h as splitCamelString, c as capitalizeFirstLetter, i as isStringABoolean, p as parseBooleanFromString } from './index-a067d6e9.js';
14
- import { f as filterActions, l as getEntityLabel, k as getEntityIcon, v as sleep, n as getPlatformIcon, o as getPlatformLabel, g as formatBytes, i as getContainersIcons, p as getValueForRange, j as getDestinationIcon, e as filterSourcesByStream, d as filterSources, b as filterDestinationsByStream, a as filterDestinations, u as mapDestinationFieldsForDisplay, c as compareCondition, r as getYamlFieldsForDestination, m as getMetricForEntity, q as getWorkloadId, s as hasUnhealthyInstances, h as getContainersInstrumentedCount, t as isOverTime } from './index-ba4f9a19.js';
10
+ import { u as useKeyDown, a as useContainerSize, b as useClickNode, c as usePopup, d as useOnClickOutside, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-cac1649d.js';
11
+ import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, P as PlusIcon, a as CopyIcon } from './index-72089d6e.js';
12
+ import { D as DeleteWarning, C as CancelWarning } from './index-6cc9ec6b.js';
13
+ import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, h as splitCamelString, c as capitalizeFirstLetter, i as isStringABoolean, p as parseBooleanFromString } from './index-f22371cb.js';
14
+ import { f as filterActions, l as getEntityLabel, k as getEntityIcon, t as sleep, g as formatBytes, i as getContainersIcons, n as getValueForRange, j as getDestinationIcon, e as filterSourcesByStream, d as filterSources, b as filterDestinationsByStream, a as filterDestinations, s as mapDestinationFieldsForDisplay, c as compareCondition, p as getYamlFieldsForDestination, m as getMetricForEntity, o as getWorkloadId, q as hasUnhealthyInstances, h as getContainersInstrumentedCount, r as isOverTime } from './index-8b736e84.js';
15
15
  import { m as mapExportedSignals } from './index-6a6bea6e.js';
16
16
  import { NoteBackToSummary, EditButton } from './snippets.js';
17
17
  import { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
18
- import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-b9d7a992.js';
18
+ import { a6 as RulesIcon, a3 as SourcesIcon, a5 as ActionsIcon, a4 as DestinationsIcon } from './index-6bb0eb56.js';
19
19
  import 'react-dom';
20
20
 
21
21
  const buildCard$3 = (action) => {
@@ -503,7 +503,7 @@ const CustomFields$1 = ({ actionType, value, setValue, formErrors }) => {
503
503
  return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
504
504
  };
505
505
 
506
- const Container$i = styled.div `
506
+ const Container$h = styled.div `
507
507
  display: flex;
508
508
  flex-direction: column;
509
509
  gap: 24px;
@@ -514,7 +514,7 @@ const FieldTitle$2 = styled(Text) `
514
514
  `;
515
515
  const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }) => {
516
516
  const theme = Theme.useTheme();
517
- return (React.createElement(Container$i, null,
517
+ return (React.createElement(Container$h, null,
518
518
  isUpdate && (React.createElement("div", null,
519
519
  React.createElement(FieldTitle$2, null, "Status"),
520
520
  React.createElement(Segment, { options: [
@@ -1028,7 +1028,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
1028
1028
  React.createElement(NoDataFound, null)))));
1029
1029
  };
1030
1030
 
1031
- const Container$h = styled(FlexColumn) `
1031
+ const Container$g = styled(FlexColumn) `
1032
1032
  // width: 100vw;
1033
1033
  // height: 100vh;
1034
1034
  gap: 64px;
@@ -1041,7 +1041,7 @@ const TextWrap = styled(FlexColumn) `
1041
1041
  align-items: center;
1042
1042
  justify-content: center;
1043
1043
  `;
1044
- const Title$3 = styled(Text) `
1044
+ const Title$1 = styled(Text) `
1045
1045
  text-align: center;
1046
1046
  font-size: 24px;
1047
1047
  `;
@@ -1062,292 +1062,16 @@ const AwaitPipeline = () => {
1062
1062
  useEffect(() => {
1063
1063
  awaitPipeline();
1064
1064
  }, []);
1065
- return (React.createElement(Container$h, null,
1065
+ return (React.createElement(Container$g, null,
1066
1066
  React.createElement(OdigosLogoText, { size: 100 }),
1067
1067
  React.createElement(TraceLoader, { width: 400 }),
1068
1068
  React.createElement(TextWrap, null,
1069
1069
  React.createElement(FlexRow, { "$gap": 16 },
1070
- React.createElement(Title$3, null, "Preparing your workspace..."),
1070
+ React.createElement(Title$1, null, "Preparing your workspace..."),
1071
1071
  React.createElement(Badge, { label: `${progress}%` })),
1072
1072
  React.createElement(Description, null, "It can take up to a few minutes. Grab a cup of coffee, look out a window, and enjoy your free moment!"))));
1073
1073
  };
1074
1074
 
1075
- const Tab = styled(FlexRow) `
1076
- width: 260px;
1077
- padding: 4px;
1078
- gap: 10px;
1079
- border: 1px solid ${({ theme }) => theme.colors.border};
1080
- border-radius: 32px;
1081
- cursor: ${({ $withSelect }) => ($withSelect ? 'pointer' : 'default')};
1082
-
1083
- ${({ $withSelect }) => $withSelect &&
1084
- css `
1085
- &:hover {
1086
- border: 1px solid ${({ theme }) => theme.colors.secondary};
1087
- }
1088
- `}
1089
- `;
1090
- const Title$2 = styled(Text) `
1091
- font-size: 14px;
1092
- margin-right: 10px;
1093
- color: ${({ theme }) => theme.text.secondary};
1094
- `;
1095
- const LogoWrap = styled.div `
1096
- display: flex;
1097
- align-items: center;
1098
- justify-content: center;
1099
- padding: 4px;
1100
- border-radius: 100%;
1101
- background-color: ${({ theme }) => theme.colors.info};
1102
- `;
1103
- const PushToEnd$1 = styled.div `
1104
- margin-left: auto;
1105
- margin-right: 6px;
1106
- `;
1107
- const RelativeContainer$3 = styled.div `
1108
- position: relative;
1109
- `;
1110
- const AbsoluteContainer = styled.div `
1111
- position: absolute;
1112
- top: calc(100% + 8px);
1113
- left: 0;
1114
- z-index: 1;
1115
- background-color: ${({ theme }) => theme.colors.dropdown_bg};
1116
- border: ${({ theme }) => `1px solid ${theme.colors.border}`};
1117
- border-radius: 24px;
1118
- width: 420px;
1119
- `;
1120
- const HeadWrap = styled.div `
1121
- border-bottom: ${({ theme }) => `1px solid ${theme.colors.border}`};
1122
- padding: 12px;
1123
- `;
1124
- const FootWrap = styled.div `
1125
- border-top: ${({ theme }) => `1px solid ${theme.colors.border}`};
1126
- padding: 12px;
1127
- `;
1128
- const ComputePlatformSelect = ({ connections, selected, onSelect, onViewAll }) => {
1129
- const theme = Theme.useTheme();
1130
- const { addNotification } = useNotificationStore();
1131
- const [isOpen, setIsOpen] = useState(false);
1132
- const [searchText, setSearchText] = useState('');
1133
- const onClose = () => {
1134
- setIsOpen(false);
1135
- };
1136
- const containerRef = useRef(null);
1137
- useOnClickOutside(containerRef, onClose);
1138
- useKeyDown({ key: 'Escape', active: isOpen }, onClose);
1139
- const withSelect = !!connections.length;
1140
- const filtered = connections.filter(({ id }) => id.toLowerCase().includes(searchText));
1141
- const Icon = !!selected?.type ? getPlatformIcon(selected.type) : null;
1142
- return (React.createElement(RelativeContainer$3, { ref: containerRef },
1143
- React.createElement(Tab, { "$withSelect": withSelect, onClick: () => setIsOpen((prev) => !prev) },
1144
- React.createElement(LogoWrap, null, !!Icon ? React.createElement(Icon, { size: 20, fill: theme.text.info }) : React.createElement(OverviewIcon, { fill: theme.text.info })),
1145
- React.createElement(Title$2, null, selected?.name || selected?.id || 'no platform'),
1146
- withSelect && (React.createElement(PushToEnd$1, null,
1147
- React.createElement(ExtendArrow, { extend: isOpen, align: 'right' })))),
1148
- isOpen && withSelect && (React.createElement(AbsoluteContainer, null,
1149
- React.createElement(HeadWrap, null,
1150
- React.createElement(Input, { placeholder: 'Search...', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
1151
- React.createElement(VerticalScroll, { style: { maxHeight: '240px' } }, filtered.map(({ id, type, name, status }, idx) => (React.createElement(SelectionButton, { key: `platform-${id}`, icon: () => getPlatformIcon(type)?.({ fill: status === StatusType.Success ? theme.text.success : theme.text.error }), label: `${!!name ? name : getPlatformLabel(type)} (${id})`, isSelected: selected?.id === id, onClick: () => {
1152
- if (status === StatusType.Success) {
1153
- onSelect(filtered[idx]);
1154
- }
1155
- else {
1156
- addNotification({
1157
- type: StatusType.Warning,
1158
- title: 'Connection lost',
1159
- message: 'Cannot connect to this platform',
1160
- hideFromHistory: true,
1161
- });
1162
- }
1163
- onClose();
1164
- }, color: 'transparent', style: { width: '100%', justifyContent: 'flex-start' } })))),
1165
- React.createElement(FootWrap, null,
1166
- React.createElement(Button, { variant: 'secondary', style: { width: '100%' }, onClick: onViewAll }, "VIEW ALL"))))));
1167
- };
1168
-
1169
- const ComputePlatforms = ({ connections, onSelect }) => {
1170
- const { searchText, platformTypes, statuses } = useFilterStore();
1171
- const filtered = useMemo(() => connections.filter(({ id, type, status }) => (!searchText || id.toLowerCase().includes(searchText)) &&
1172
- (!platformTypes?.length || platformTypes.find((opt) => opt.id === type)) &&
1173
- (!statuses?.length || statuses.find((opt) => opt.id === status))), [connections, searchText, platformTypes, statuses]);
1174
- const rows = useMemo(() => filtered.map((item) => ({
1175
- onClick: () => onSelect(item),
1176
- cells: [
1177
- { columnKey: 'id', value: item.id },
1178
- { columnKey: 'type', value: item.type },
1179
- { columnKey: 'name', value: item.name || getPlatformLabel(item.type) },
1180
- { columnKey: 'icon', icon: getPlatformIcon(item.type) },
1181
- {
1182
- columnKey: 'status',
1183
- component: () => (React.createElement("div", { style: { lineHeight: 1 } },
1184
- React.createElement(Status, { title: status === StatusType.Success ? 'connection alive' : 'connection lost', status: item.status, withIcon: true, withBorder: true }))),
1185
- },
1186
- ],
1187
- })), [filtered]);
1188
- return (React.createElement(React.Fragment, null,
1189
- React.createElement(InteractiveTable, { columns: [
1190
- { key: 'icon', title: '' },
1191
- { key: 'name', title: 'Name' },
1192
- { key: 'type', title: 'Type' },
1193
- { key: 'status', title: 'Status' },
1194
- { key: 'id', title: 'Unique ID' },
1195
- ], rows: rows }),
1196
- !filtered.length && (React.createElement(CenterThis, { style: { marginTop: '2rem' } },
1197
- React.createElement(NoDataFound, null)))));
1198
- };
1199
-
1200
- const ConditionDropdown = ({ sources, title = 'Condition', value, onSelect, onDeselect, ...props }) => {
1201
- const options = useMemo(() => {
1202
- const payload = [];
1203
- sources.forEach(({ conditions }) => {
1204
- conditions?.forEach(({ type, reason }) => {
1205
- if (!payload.find((opt) => opt.id === `${type}#${reason}`)) {
1206
- payload.push({ id: `${type}#${reason}`, value: `${splitCamelString(type)} - ${splitCamelString(reason)}` });
1207
- }
1208
- });
1209
- });
1210
- return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
1211
- }, [sources]);
1212
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1213
- };
1214
-
1215
- const ConnectionStatusDropdown = ({ connections, title = '', value, onSelect, onDeselect, ...props }) => {
1216
- const options = useMemo(() => {
1217
- const payload = [];
1218
- connections?.forEach(({ status }) => {
1219
- if (!payload.find((opt) => opt.id === status)) {
1220
- payload.push({ id: status, value: status });
1221
- }
1222
- });
1223
- return payload;
1224
- }, [connections]);
1225
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All Statuses', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1226
- };
1227
-
1228
- const ConnectionTypeDropdown = ({ connections, title = '', value, onSelect, onDeselect, ...props }) => {
1229
- const options = useMemo(() => {
1230
- const payload = [];
1231
- connections?.forEach(({ type }) => {
1232
- if (!payload.find((opt) => opt.id === type)) {
1233
- payload.push({ id: type, value: type });
1234
- }
1235
- });
1236
- return payload;
1237
- }, [connections]);
1238
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All Types', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1239
- };
1240
-
1241
- const ErrorDropdown = ({ sources, title = 'Error Message', value, onSelect, onDeselect, disabled, ...props }) => {
1242
- const options = useMemo(() => {
1243
- const payload = [];
1244
- // !! note:
1245
- // conditions no longer have "message" being a required string,
1246
- // instead, it is now optional and we should fallback to "reason" which is also optional.
1247
- sources.forEach(({ conditions }) => {
1248
- mapConditions(conditions || []).forEach(({ status, message, reason }) => {
1249
- if (status === StatusType.Error && !payload.find((opt) => opt.id === message)) {
1250
- if (!!message) {
1251
- if (!payload.find((opt) => opt.id === message))
1252
- payload.push({ id: message, value: message });
1253
- }
1254
- else if (!!reason) {
1255
- if (!payload.find((opt) => opt.id === reason))
1256
- payload.push({ id: reason, value: reason });
1257
- }
1258
- }
1259
- });
1260
- });
1261
- return payload;
1262
- }, [sources]);
1263
- return React.createElement(Dropdown, { disabled: disabled || !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1264
- };
1265
-
1266
- const LanguageDropdown = ({ sources, title = 'Programming Language', value, onSelect, onDeselect, ...props }) => {
1267
- const options = useMemo(() => {
1268
- const payload = [];
1269
- sources.forEach(({ containers }) => {
1270
- containers?.forEach(({ language }) => {
1271
- if (!payload.find((opt) => opt.id === language)) {
1272
- payload.push({ id: language, value: DISPLAY_LANGUAGES[language] || language });
1273
- }
1274
- });
1275
- });
1276
- return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
1277
- }, [sources]);
1278
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1279
- };
1280
-
1281
- const MonitorDropdown = ({ title = 'Monitors', value, onSelect, onDeselect, ...props }) => {
1282
- const options = useMemo(() => {
1283
- const payload = [];
1284
- MONITORS_OPTIONS.forEach(({ id, value }) => {
1285
- if (!payload.find((opt) => opt.id === id))
1286
- payload.push({ id, value });
1287
- });
1288
- return payload;
1289
- }, []);
1290
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1291
- };
1292
-
1293
- const NamespaceDropdown = ({ namespaces, title = 'Namespace', value, onSelect, onDeselect, ...props }) => {
1294
- const options = useMemo(() => {
1295
- const payload = [];
1296
- namespaces?.forEach(({ name }) => {
1297
- if (!payload.find((opt) => opt.id === name)) {
1298
- payload.push({ id: name, value: name });
1299
- }
1300
- });
1301
- return payload;
1302
- }, [namespaces]);
1303
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'Select namespace', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1304
- };
1305
-
1306
- const KindDropdown = ({ sources, title = 'Kind', value, onSelect, onDeselect, ...props }) => {
1307
- const options = useMemo(() => {
1308
- const payload = [];
1309
- sources.forEach(({ kind: id }) => {
1310
- if (!payload.find((opt) => opt.id === id)) {
1311
- payload.push({ id, value: id });
1312
- }
1313
- });
1314
- return payload;
1315
- }, [sources]);
1316
- return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1317
- };
1318
-
1319
- const Container$g = styled.div `
1320
- display: flex;
1321
- align-items: center;
1322
- margin: 20px 0;
1323
- padding: 0 16px;
1324
- gap: 8px;
1325
- `;
1326
- const Title$1 = styled(Text) `
1327
- font-size: 24px;
1328
- white-space: nowrap;
1329
- `;
1330
- const SearchAndFilterWrapper = styled.div `
1331
- width: 200px;
1332
- `;
1333
- const ComputePlatformsActionsMenu = ({ connections }) => {
1334
- const { searchText, setSearchText, statuses, setStatuses, clearAll } = useFilterStore();
1335
- // cleanup filters on unmount
1336
- useEffect(() => {
1337
- return () => clearAll();
1338
- }, [clearAll]);
1339
- return (React.createElement(Container$g, null,
1340
- React.createElement(FlexRow, { "$gap": 16 },
1341
- React.createElement(FlexRow, { "$gap": 12 },
1342
- React.createElement(Title$1, null, "Compute platforms"),
1343
- React.createElement(Badge, { label: connections.length, filled: !!connections.length })),
1344
- React.createElement(Divider, { orientation: 'vertical', length: '20px', margin: '0' }),
1345
- React.createElement(SearchAndFilterWrapper, null,
1346
- React.createElement(Input, { placeholder: 'Search...', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
1347
- React.createElement(SearchAndFilterWrapper, null,
1348
- React.createElement(ConnectionStatusDropdown, { connections: connections, value: statuses, onSelect: (val) => setStatuses([...(statuses || []), val]), onDeselect: (val) => setStatuses((statuses || []).filter((opt) => opt.id !== val.id)), showSearch: true, required: true, isMulti: true })))));
1349
- };
1350
-
1351
1075
  const { nodeHeight: nodeHeight$5, framePadding: framePadding$4 } = nodeConfig;
1352
1076
  const createEdge = (edgeId, params) => {
1353
1077
  const { theme, label, isMultiTarget, isError, animated } = params || {};
@@ -2036,6 +1760,99 @@ const Search = ({ preventPopup = false }) => {
2036
1760
  isOpen && !preventPopup ? React.createElement(SearchResults, { onClose: onClose }) : null));
2037
1761
  };
2038
1762
 
1763
+ const ConditionDropdown = ({ sources, title = 'Condition', value, onSelect, onDeselect, ...props }) => {
1764
+ const options = useMemo(() => {
1765
+ const payload = [];
1766
+ sources.forEach(({ conditions }) => {
1767
+ conditions?.forEach(({ type, reason }) => {
1768
+ if (!payload.find((opt) => opt.id === `${type}#${reason}`)) {
1769
+ payload.push({ id: `${type}#${reason}`, value: `${splitCamelString(type)} - ${splitCamelString(reason)}` });
1770
+ }
1771
+ });
1772
+ });
1773
+ return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
1774
+ }, [sources]);
1775
+ return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1776
+ };
1777
+
1778
+ const ErrorDropdown = ({ sources, title = 'Error Message', value, onSelect, onDeselect, disabled, ...props }) => {
1779
+ const options = useMemo(() => {
1780
+ const payload = [];
1781
+ // !! note:
1782
+ // conditions no longer have "message" being a required string,
1783
+ // instead, it is now optional and we should fallback to "reason" which is also optional.
1784
+ sources.forEach(({ conditions }) => {
1785
+ mapConditions(conditions || []).forEach(({ status, message, reason }) => {
1786
+ if (status === StatusType.Error && !payload.find((opt) => opt.id === message)) {
1787
+ if (!!message) {
1788
+ if (!payload.find((opt) => opt.id === message))
1789
+ payload.push({ id: message, value: message });
1790
+ }
1791
+ else if (!!reason) {
1792
+ if (!payload.find((opt) => opt.id === reason))
1793
+ payload.push({ id: reason, value: reason });
1794
+ }
1795
+ }
1796
+ });
1797
+ });
1798
+ return payload;
1799
+ }, [sources]);
1800
+ return React.createElement(Dropdown, { disabled: disabled || !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1801
+ };
1802
+
1803
+ const LanguageDropdown = ({ sources, title = 'Programming Language', value, onSelect, onDeselect, ...props }) => {
1804
+ const options = useMemo(() => {
1805
+ const payload = [];
1806
+ sources.forEach(({ containers }) => {
1807
+ containers?.forEach(({ language }) => {
1808
+ if (!payload.find((opt) => opt.id === language)) {
1809
+ payload.push({ id: language, value: DISPLAY_LANGUAGES[language] || language });
1810
+ }
1811
+ });
1812
+ });
1813
+ return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
1814
+ }, [sources]);
1815
+ return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1816
+ };
1817
+
1818
+ const MonitorDropdown = ({ title = 'Monitors', value, onSelect, onDeselect, ...props }) => {
1819
+ const options = useMemo(() => {
1820
+ const payload = [];
1821
+ MONITORS_OPTIONS.forEach(({ id, value }) => {
1822
+ if (!payload.find((opt) => opt.id === id))
1823
+ payload.push({ id, value });
1824
+ });
1825
+ return payload;
1826
+ }, []);
1827
+ return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1828
+ };
1829
+
1830
+ const NamespaceDropdown = ({ namespaces, title = 'Namespace', value, onSelect, onDeselect, ...props }) => {
1831
+ const options = useMemo(() => {
1832
+ const payload = [];
1833
+ namespaces?.forEach(({ name }) => {
1834
+ if (!payload.find((opt) => opt.id === name)) {
1835
+ payload.push({ id: name, value: name });
1836
+ }
1837
+ });
1838
+ return payload;
1839
+ }, [namespaces]);
1840
+ return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'Select namespace', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1841
+ };
1842
+
1843
+ const KindDropdown = ({ sources, title = 'Kind', value, onSelect, onDeselect, ...props }) => {
1844
+ const options = useMemo(() => {
1845
+ const payload = [];
1846
+ sources.forEach(({ kind: id }) => {
1847
+ if (!payload.find((opt) => opt.id === id)) {
1848
+ payload.push({ id, value: id });
1849
+ }
1850
+ });
1851
+ return payload;
1852
+ }, [sources]);
1853
+ return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1854
+ };
1855
+
2039
1856
  const FormWrapper = styled.div `
2040
1857
  display: flex;
2041
1858
  flex-direction: column;
@@ -5335,4 +5152,4 @@ const ToggleDarkMode = () => {
5335
5152
  React.createElement(Background, { "$darkMode": darkMode })));
5336
5153
  };
5337
5154
 
5338
- export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ComputePlatformSelect, ComputePlatforms, ComputePlatformsActionsMenu, ConditionDropdown, ConnectionStatusDropdown, ConnectionTypeDropdown, DataFlow, DataFlowActionsMenu, DataStreamDrawer, DataStreamForm, DataStreamSelectionForm, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NamespaceDropdown, NavIconIds, NotificationManager, OverviewDrawer, ServiceMap, SetupSummary, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, SystemSettings, TableCellConditions, ToastList, ToggleDarkMode };
5155
+ export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ConditionDropdown, DataFlow, DataFlowActionsMenu, DataStreamDrawer, DataStreamForm, DataStreamSelectionForm, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NamespaceDropdown, NavIconIds, NotificationManager, OverviewDrawer, ServiceMap, SetupSummary, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, SystemSettings, TableCellConditions, ToastList, ToggleDarkMode };
package/lib/functions.js CHANGED
@@ -1,13 +1,15 @@
1
- export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isStringABoolean, d as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, e as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, h as splitCamelString } from './index-a067d6e9.js';
2
- export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, d as filterSources, e as filterSourcesByStream, g as formatBytes, i as getContainersIcons, h as getContainersInstrumentedCount, j as getDestinationIcon, k as getEntityIcon, l as getEntityLabel, m as getMetricForEntity, n as getPlatformIcon, o as getPlatformLabel, p as getValueForRange, q as getWorkloadId, r as getYamlFieldsForDestination, s as hasUnhealthyInstances, t as isOverTime, u as mapDestinationFieldsForDisplay, v as sleep } from './index-ba4f9a19.js';
1
+ export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isStringABoolean, d as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, e as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, h as splitCamelString } from './index-f22371cb.js';
2
+ export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, d as filterSources, e as filterSourcesByStream, g as formatBytes, i as getContainersIcons, h as getContainersInstrumentedCount, j as getDestinationIcon, k as getEntityIcon, l as getEntityLabel, m as getMetricForEntity, n as getValueForRange, o as getWorkloadId, p as getYamlFieldsForDestination, q as hasUnhealthyInstances, r as isOverTime, s as mapDestinationFieldsForDisplay, t as sleep } from './index-8b736e84.js';
3
3
  export { d as deepClone, i as isEmpty, s as safeJsonParse } from './index-5e5f7bda.js';
4
- export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-90ccd949.js';
4
+ import { K as K8sLogo } from './index-86030474.js';
5
+ export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-86030474.js';
5
6
  export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
6
- import { ProgrammingLanguages, EntityTypes } from './types.js';
7
+ import { ProgrammingLanguages, PlatformType, EntityTypes } from './types.js';
7
8
  import 'react';
8
9
  import 'styled-components';
9
- import './index-6034549d.js';
10
- import './index-b9d7a992.js';
10
+ import { O as OdigosLogo } from './index-4dfaeaab.js';
11
+ import { V as VmLogo } from './index-1b05e560.js';
12
+ import './index-6bb0eb56.js';
11
13
 
12
14
  const cleanObjectEmptyStringsValues = (obj) => {
13
15
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -81,6 +83,26 @@ const getMainContainerLanguage = (source) => {
81
83
  return mainContainer.language;
82
84
  };
83
85
 
86
+ const getPlatformIcon = (type) => {
87
+ if (!type)
88
+ return OdigosLogo;
89
+ const LOGOS = {
90
+ [PlatformType.K8s]: K8sLogo,
91
+ [PlatformType.Vm]: VmLogo,
92
+ };
93
+ return LOGOS[type];
94
+ };
95
+
96
+ const getPlatformLabel = (type) => {
97
+ if (!type)
98
+ return 'Unknown';
99
+ const LABELS = {
100
+ [PlatformType.K8s]: 'Kubernetes Cluster',
101
+ [PlatformType.Vm]: 'Virtual Machine',
102
+ };
103
+ return LABELS[type];
104
+ };
105
+
84
106
  const getSseTargetFromId = (id, type) => {
85
107
  switch (type) {
86
108
  case EntityTypes.Source: {
@@ -116,4 +138,4 @@ const stringifyNonStringValues = (obj) => {
116
138
  }, {});
117
139
  };
118
140
 
119
- export { cleanObjectEmptyStringsValues, getMainContainerLanguage, getSseTargetFromId, isTimeElapsed, stringifyNonStringValues };
141
+ export { cleanObjectEmptyStringsValues, getMainContainerLanguage, getPlatformIcon, getPlatformLabel, getSseTargetFromId, isTimeElapsed, stringifyNonStringValues };
package/lib/hooks.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { ActionKeyTypes, ActionType, StatusType, EntityTypes, FieldTypes } from './types.js';
2
- import { V as useNotificationStore, F as FORM_ALERTS, O as useDrawerStore, W as useEntityStore, Y as useDataStreamStore, _ as useSetupStore } from './index-90ccd949.js';
2
+ import { V as useNotificationStore, F as FORM_ALERTS, O as useDrawerStore, W as useEntityStore, Y as useDataStreamStore, _ as useSetupStore } from './index-86030474.js';
3
3
  import { useState, useEffect, useMemo } from 'react';
4
4
  import 'styled-components';
5
5
  import { i as isEmpty, s as safeJsonParse } from './index-5e5f7bda.js';
6
- import { i as useGenericForm } from './useTransition-807be8bc.js';
7
- export { c as useClickNode, b as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, a as useOnClickOutside, d as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-807be8bc.js';
6
+ import { i as useGenericForm } from './useTransition-cac1649d.js';
7
+ export { b as useClickNode, a as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, d as useOnClickOutside, c as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-cac1649d.js';
8
8
  import { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
9
9
 
10
10
  const INITIAL$2 = {
package/lib/icons.js CHANGED
@@ -1,10 +1,11 @@
1
- import { T as Theme } from './index-90ccd949.js';
2
- export { f as AddClusterInfoIcon, n as CPlusPlusLogo, o as CSharpLogo, C as CodeAttributesIcon, l as CustomInstrumentationIcon, h as DeleteAttributeIcon, p as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, j as ImageErrorIcon, J as JavaLogo, K as K8sLogo, k as KafkaLogo, q as MysqlLogo, N as NginxLogo, r as NodejsLogo, m as PayloadCollectionIcon, s as PhpLogo, P as PiiMaskingIcon, t as PostgresLogo, u as PythonLogo, v as RedisLogo, R as RenameAttributeIcon, w as RubyLogo, x as RustLogo, i as SamplerIcon, y as SwiftLogo } from './index-90ccd949.js';
3
- export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, O as OdigosLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-6034549d.js';
4
- export { A as ArrowIcon, C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, G as GearIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RefreshLeftArrowIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-c8aab9c4.js';
1
+ import { T as Theme } from './index-86030474.js';
2
+ export { h as AddClusterInfoIcon, n as CPlusPlusLogo, o as CSharpLogo, C as CodeAttributesIcon, l as CustomInstrumentationIcon, i as DeleteAttributeIcon, p as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, k as ImageErrorIcon, J as JavaLogo, K as K8sLogo, f as KafkaLogo, q as MysqlLogo, N as NginxLogo, r as NodejsLogo, m as PayloadCollectionIcon, s as PhpLogo, P as PiiMaskingIcon, t as PostgresLogo, u as PythonLogo, v as RedisLogo, R as RenameAttributeIcon, w as RubyLogo, x as RustLogo, j as SamplerIcon, y as SwiftLogo } from './index-86030474.js';
3
+ export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, O as OdigosLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-4dfaeaab.js';
4
+ export { A as ArrowIcon, C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, G as GearIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RefreshLeftArrowIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-c1a8e92c.js';
5
5
  import React from 'react';
6
- export { h as CheckIcon, C as CodeIcon, a as CopyIcon, i as CrossIcon, E as EditIcon, b as EditedIcon, c as ExtendArrowIcon, f as EyeClosedIcon, g as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, d as NotebookIcon, P as PlusIcon, S as SearchIcon, e as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-19b8f8bc.js';
7
- export { a3 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AwsCloudwatchLogo, d as AwsS3Logo, e as AwsXrayLogo, f as AxiomLogo, B as BetterStackLogo, g as BlobStorageLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, a4 as DestinationsIcon, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, G as GigapipeLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, a5 as NamespacesIcon, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, F as OpenTelemetryLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, T as QuickwitLogo, a6 as RulesIcon, U as SeqLogo, W as SignozLogo, a7 as SourcesIcon, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, V as VmLogo } from './index-b9d7a992.js';
6
+ export { h as CheckIcon, C as CodeIcon, a as CopyIcon, i as CrossIcon, E as EditIcon, b as EditedIcon, c as ExtendArrowIcon, f as EyeClosedIcon, g as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, d as NotebookIcon, P as PlusIcon, S as SearchIcon, e as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-72089d6e.js';
7
+ export { V as VmLogo } from './index-1b05e560.js';
8
+ export { a5 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, i as AwsCloudwatchLogo, S as AwsS3Logo, a1 as AwsXrayLogo, c as AxiomLogo, d as BetterStackLogo, B as BlobStorageLogo, e as BonreeLogo, C as CauselyLogo, f as ChecklyLogo, g as ChronosphereLogo, h as ClickhouseLogo, j as CoralogixLogo, D as Dash0Logo, k as DatadogLogo, a4 as DestinationsIcon, l as DynatraceLogo, E as ElasticApmLogo, m as ElasticSearchLogo, F as GigapipeLogo, G as GoogleCloudPlatformLogo, n as GrafanaLogo, o as GreptimeLogo, p as GroundcoverLogo, H as HoneycombLogo, q as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, r as LightstepLogo, s as LogzioLogo, t as LokiLogo, u as LumigoLogo, M as MiddlewareLogo, a2 as NamespacesIcon, N as NewRelicLogo, v as ObserveLogo, w as OneUptimeLogo, x as OpenObserveLogo, O as OpenTelemetryLogo, y as OpsVerseLogo, z as OracleLogo, P as PrometheusLogo, Q as QrynLogo, R as QuickwitLogo, a6 as RulesIcon, T as SeqLogo, U as SignozLogo, a3 as SourcesIcon, V as SplunkLogo, W as SumoLogicLogo, X as TelemetryHubLogo, Y as TempoLogo, Z as TingyunLogo, _ as TraceloopLogo, $ as UptraceLogo, a0 as VictoriaMetricsLogo } from './index-6bb0eb56.js';
8
9
  import './types.js';
9
10
  import 'styled-components';
10
11
 
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { T as Theme } from './index-86030474.js';
3
+
4
+ const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
5
+ const theme = Theme.useTheme();
6
+ const fill = f || theme.text.secondary;
7
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 14 14', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
8
+ React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 7.00016V12.5418M7 7.00016L1.94814 4.30969M7 7.00016L12.0519 4.30969M7 12.5418C7.12674 12.5418 7.25347 12.5291 7.37812 12.5037C7.65987 12.4463 7.92489 12.2996 8.45492 12.0063L10.7951 10.7111C11.3251 10.4177 11.5901 10.2711 11.7829 10.0659C11.9534 9.8843 12.0822 9.6704 12.161 9.43804C12.25 9.17542 12.25 8.88207 12.25 8.29536V5.70497C12.25 5.11826 12.25 4.82491 12.161 4.56229C12.1315 4.47526 12.095 4.39081 12.0519 4.30969M7 12.5418C6.87326 12.5418 6.74653 12.5291 6.62188 12.5037C6.34013 12.4463 6.07511 12.2996 5.54508 12.0063L3.20492 10.7111C2.67489 10.4177 2.40987 10.2711 2.21713 10.0659C2.04659 9.8843 1.91777 9.6704 1.83901 9.43804C1.75 9.17542 1.75 8.88207 1.75 8.29536V5.70497C1.75 5.11826 1.75 4.82491 1.83901 4.56229C1.86851 4.47526 1.90503 4.39081 1.94814 4.30969M12.0519 4.30969C11.9799 4.17423 11.8895 4.04802 11.7829 3.93447C11.5901 3.72926 11.3251 3.58258 10.7951 3.28923L8.45492 1.99404C7.92489 1.70068 7.65987 1.554 7.37812 1.49659C7.12882 1.4458 6.87117 1.4458 6.62188 1.49659C6.34013 1.554 6.07511 1.70068 5.54508 1.99404L3.20492 3.28923C2.67489 3.58258 2.40987 3.72926 2.21713 3.93447C2.11047 4.04802 2.02013 4.17423 1.94814 4.30969' })));
9
+ };
10
+
11
+ export { VmLogo as V };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-90ccd949.js';
2
+ import { T as Theme } from './index-86030474.js';
3
3
 
4
4
  const OdigosLogo = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,12 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-90ccd949.js';
3
-
4
- const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
5
- const theme = Theme.useTheme();
6
- const fill = f || theme.text.secondary;
7
- return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 14 14', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
8
- React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 7.00016V12.5418M7 7.00016L1.94814 4.30969M7 7.00016L12.0519 4.30969M7 12.5418C7.12674 12.5418 7.25347 12.5291 7.37812 12.5037C7.65987 12.4463 7.92489 12.2996 8.45492 12.0063L10.7951 10.7111C11.3251 10.4177 11.5901 10.2711 11.7829 10.0659C11.9534 9.8843 12.0822 9.6704 12.161 9.43804C12.25 9.17542 12.25 8.88207 12.25 8.29536V5.70497C12.25 5.11826 12.25 4.82491 12.161 4.56229C12.1315 4.47526 12.095 4.39081 12.0519 4.30969M7 12.5418C6.87326 12.5418 6.74653 12.5291 6.62188 12.5037C6.34013 12.4463 6.07511 12.2996 5.54508 12.0063L3.20492 10.7111C2.67489 10.4177 2.40987 10.2711 2.21713 10.0659C2.04659 9.8843 1.91777 9.6704 1.83901 9.43804C1.75 9.17542 1.75 8.88207 1.75 8.29536V5.70497C1.75 5.11826 1.75 4.82491 1.83901 4.56229C1.86851 4.47526 1.90503 4.39081 1.94814 4.30969M12.0519 4.30969C11.9799 4.17423 11.8895 4.04802 11.7829 3.93447C11.5901 3.72926 11.3251 3.58258 10.7951 3.28923L8.45492 1.99404C7.92489 1.70068 7.65987 1.554 7.37812 1.49659C7.12882 1.4458 6.87117 1.4458 6.62188 1.49659C6.34013 1.554 6.07511 1.70068 5.54508 1.99404L3.20492 3.28923C2.67489 3.58258 2.40987 3.72926 2.21713 3.93447C2.11047 4.04802 2.02013 4.17423 1.94814 4.30969' })));
9
- };
2
+ import { T as Theme } from './index-86030474.js';
10
3
 
11
4
  const AlaudaLogo = ({ size = 16, fill, rotate = 0, onClick }) => {
12
5
  return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 43 43', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
@@ -680,4 +673,4 @@ const SourcesIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1
680
673
  React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M13.3332 3.8V8M13.3332 3.8C13.3332 4.79411 10.9454 5.6 7.99984 5.6C5.05432 5.6 2.6665 4.79411 2.6665 3.8M13.3332 3.8C13.3332 2.80589 10.9454 2 7.99984 2C5.05432 2 2.6665 2.80589 2.6665 3.8M13.3332 8V12.0875C13.3332 13.1437 10.9454 14 7.99984 14C5.05432 14 2.6665 13.1437 2.6665 12.0875V8M13.3332 8C13.3332 8.99413 10.9454 9.8 7.99984 9.8C5.05432 9.8 2.6665 8.99413 2.6665 8M2.6665 8V3.8M10.6665 7.33333H10.6732M10.6665 11.3333H10.6732' })));
681
674
  };
682
675
 
683
- export { TingyunLogo as $, AlaudaLogo as A, BetterStackLogo as B, CauselyLogo as C, Dash0Logo as D, ElasticApmLogo as E, OpenTelemetryLogo as F, GigapipeLogo as G, HoneycombLogo as H, InstanaLogo as I, JaegerLogo as J, KloudmateLogo as K, Last9Logo as L, MiddlewareLogo as M, NewRelicLogo as N, ObserveLogo as O, OpsVerseLogo as P, OracleLogo as Q, PrometheusLogo as R, QrynLogo as S, QuickwitLogo as T, SeqLogo as U, VmLogo as V, SignozLogo as W, SplunkLogo as X, SumoLogicLogo as Y, TelemetryHubLogo as Z, TempoLogo as _, AlibabaCloudLogo as a, TraceloopLogo as a0, UptraceLogo as a1, VictoriaMetricsLogo as a2, ActionsIcon as a3, DestinationsIcon as a4, NamespacesIcon as a5, RulesIcon as a6, SourcesIcon as a7, AppDynamicsLogo as b, AwsCloudwatchLogo as c, AwsS3Logo as d, AwsXrayLogo as e, AxiomLogo as f, BlobStorageLogo as g, BonreeLogo as h, ChecklyLogo as i, ChronosphereLogo as j, ClickhouseLogo as k, CoralogixLogo as l, DatadogLogo as m, DynatraceLogo as n, ElasticSearchLogo as o, GoogleCloudPlatformLogo as p, GrafanaLogo as q, GreptimeLogo as r, GroundcoverLogo as s, HyperDxLogo as t, LightstepLogo as u, LogzioLogo as v, LokiLogo as w, LumigoLogo as x, OneUptimeLogo as y, OpenObserveLogo as z };
676
+ export { UptraceLogo as $, AlaudaLogo as A, BlobStorageLogo as B, CauselyLogo as C, Dash0Logo as D, ElasticApmLogo as E, GigapipeLogo as F, GoogleCloudPlatformLogo as G, HoneycombLogo as H, InstanaLogo as I, JaegerLogo as J, KloudmateLogo as K, Last9Logo as L, MiddlewareLogo as M, NewRelicLogo as N, OpenTelemetryLogo as O, PrometheusLogo as P, QrynLogo as Q, QuickwitLogo as R, AwsS3Logo as S, SeqLogo as T, SignozLogo as U, SplunkLogo as V, SumoLogicLogo as W, TelemetryHubLogo as X, TempoLogo as Y, TingyunLogo as Z, TraceloopLogo as _, AlibabaCloudLogo as a, VictoriaMetricsLogo as a0, AwsXrayLogo as a1, NamespacesIcon as a2, SourcesIcon as a3, DestinationsIcon as a4, ActionsIcon as a5, RulesIcon as a6, AppDynamicsLogo as b, AxiomLogo as c, BetterStackLogo as d, BonreeLogo as e, ChecklyLogo as f, ChronosphereLogo as g, ClickhouseLogo as h, AwsCloudwatchLogo as i, CoralogixLogo as j, DatadogLogo as k, DynatraceLogo as l, ElasticSearchLogo as m, GrafanaLogo as n, GreptimeLogo as o, GroundcoverLogo as p, HyperDxLogo as q, LightstepLogo as r, LogzioLogo as s, LokiLogo as t, LumigoLogo as u, ObserveLogo as v, OneUptimeLogo as w, OpenObserveLogo as x, OpsVerseLogo as y, OracleLogo as z };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { a6 as WarningModal } from './index-192794e8.js';
2
+ import { a6 as WarningModal } from './index-8b8d8883.js';
3
3
  import { StatusType, EntityTypes } from './types.js';
4
- import './index-90ccd949.js';
4
+ import './index-86030474.js';
5
5
  import 'styled-components';
6
6
 
7
7
  const CancelWarning = ({ isOpen, noOverlay, name, onApprove, onDeny }) => {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-90ccd949.js';
2
+ import { T as Theme } from './index-86030474.js';
3
3
 
4
4
  const CodeIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
5
5
  const theme = Theme.useTheme();
@@ -1915,4 +1915,4 @@ var animations = /*#__PURE__*/Object.freeze({
1915
1915
 
1916
1916
  const Theme = { Provider, useTheme, opacity, animations };
1917
1917
 
1918
- export { useSelectedStore as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, ElixirLogo as E, FORM_ALERTS as F, GoLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, JavaLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, NginxLogo as N, useDrawerStore as O, PiiMaskingIcon as P, useActiveNodeStore as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, usePendingStore as U, useNotificationStore as V, useEntityStore as W, useFilterStore as X, useDataStreamStore as Y, useInstrumentStore as Z, useSetupStore as _, DEFAULT_DATA_STREAM_NAME as a, useDarkMode as a0, styleInject as a1, DISPLAY_TITLES as b, getEntityId as c, getInstrumentationRuleIcon as d, getProgrammingLanguageIcon as e, AddClusterInfoIcon as f, getActionIcon as g, DeleteAttributeIcon as h, SamplerIcon as i, ImageErrorIcon as j, KafkaLogo as k, CustomInstrumentationIcon as l, PayloadCollectionIcon as m, CPlusPlusLogo as n, CSharpLogo as o, DotnetLogo as p, MysqlLogo as q, NodejsLogo as r, PhpLogo as s, PostgresLogo as t, PythonLogo as u, RedisLogo as v, RubyLogo as w, RustLogo as x, SwiftLogo as y, useModalStore as z };
1918
+ export { useSelectedStore as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, ElixirLogo as E, FORM_ALERTS as F, GoLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, JavaLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, NginxLogo as N, useDrawerStore as O, PiiMaskingIcon as P, useActiveNodeStore as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, usePendingStore as U, useNotificationStore as V, useEntityStore as W, useFilterStore as X, useDataStreamStore as Y, useInstrumentStore as Z, useSetupStore as _, DEFAULT_DATA_STREAM_NAME as a, useDarkMode as a0, styleInject as a1, DISPLAY_TITLES as b, getEntityId as c, getInstrumentationRuleIcon as d, getProgrammingLanguageIcon as e, KafkaLogo as f, getActionIcon as g, AddClusterInfoIcon as h, DeleteAttributeIcon as i, SamplerIcon as j, ImageErrorIcon as k, CustomInstrumentationIcon as l, PayloadCollectionIcon as m, CPlusPlusLogo as n, CSharpLogo as o, DotnetLogo as p, MysqlLogo as q, NodejsLogo as r, PhpLogo as s, PostgresLogo as t, PythonLogo as u, RedisLogo as v, RubyLogo as w, RustLogo as x, SwiftLogo as y, useModalStore as z };
@@ -1,9 +1,8 @@
1
- import { StatusType, DestinationTypes, EntityTypes, PlatformType } from './types.js';
2
- import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon, k as KafkaLogo, K as K8sLogo } from './index-90ccd949.js';
1
+ import { StatusType, DestinationTypes, EntityTypes } from './types.js';
2
+ import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon, f as KafkaLogo } from './index-86030474.js';
3
3
  import 'react';
4
4
  import 'styled-components';
5
- import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, f as AxiomLogo, g as BlobStorageLogo, B as BetterStackLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, c as AwsCloudwatchLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, F as OpenTelemetryLogo, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, G as GigapipeLogo, T as QuickwitLogo, d as AwsS3Logo, U as SeqLogo, W as SignozLogo, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, e as AwsXrayLogo, a5 as NamespacesIcon, a7 as SourcesIcon, a4 as DestinationsIcon, a3 as ActionsIcon, a6 as RulesIcon, V as VmLogo } from './index-b9d7a992.js';
6
- import { O as OdigosLogo } from './index-6034549d.js';
5
+ import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AxiomLogo, B as BlobStorageLogo, d as BetterStackLogo, e as BonreeLogo, C as CauselyLogo, f as ChecklyLogo, g as ChronosphereLogo, h as ClickhouseLogo, i as AwsCloudwatchLogo, j as CoralogixLogo, D as Dash0Logo, k as DatadogLogo, O as OpenTelemetryLogo, l as DynatraceLogo, E as ElasticApmLogo, m as ElasticSearchLogo, G as GoogleCloudPlatformLogo, n as GrafanaLogo, o as GreptimeLogo, p as GroundcoverLogo, H as HoneycombLogo, q as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, r as LightstepLogo, s as LogzioLogo, t as LokiLogo, u as LumigoLogo, M as MiddlewareLogo, N as NewRelicLogo, v as ObserveLogo, w as OneUptimeLogo, x as OpenObserveLogo, y as OpsVerseLogo, z as OracleLogo, P as PrometheusLogo, Q as QrynLogo, F as GigapipeLogo, R as QuickwitLogo, S as AwsS3Logo, T as SeqLogo, U as SignozLogo, V as SplunkLogo, W as SumoLogicLogo, X as TelemetryHubLogo, Y as TempoLogo, Z as TingyunLogo, _ as TraceloopLogo, $ as UptraceLogo, a0 as VictoriaMetricsLogo, a1 as AwsXrayLogo, a2 as NamespacesIcon, a3 as SourcesIcon, a4 as DestinationsIcon, a5 as ActionsIcon, a6 as RulesIcon } from './index-6bb0eb56.js';
7
6
  import { s as safeJsonParse } from './index-5e5f7bda.js';
8
7
 
9
8
  const compareCondition = (renderCondition, fields) => {
@@ -235,26 +234,6 @@ const getMetricForEntity = (metrics, entityType, entityId) => {
235
234
  return metric || { throughput: 0 };
236
235
  };
237
236
 
238
- const getPlatformIcon = (type) => {
239
- if (!type)
240
- return OdigosLogo;
241
- const LOGOS = {
242
- [PlatformType.K8s]: K8sLogo,
243
- [PlatformType.Vm]: VmLogo,
244
- };
245
- return LOGOS[type];
246
- };
247
-
248
- const getPlatformLabel = (type) => {
249
- if (!type)
250
- return 'Unknown';
251
- const LABELS = {
252
- [PlatformType.K8s]: 'Kubernetes Cluster',
253
- [PlatformType.Vm]: 'Virtual Machine',
254
- };
255
- return LABELS[type];
256
- };
257
-
258
237
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
259
238
  const getValueForRange = (current, matrix) => {
260
239
  // CURRENT: represents the current value (such as window width)
@@ -322,4 +301,4 @@ const mapDestinationFieldsForDisplay = (destination, yamlFields) => {
322
301
 
323
302
  const sleep = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
324
303
 
325
- export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, filterSources as d, filterSourcesByStream as e, filterActions as f, formatBytes as g, getContainersInstrumentedCount as h, getContainersIcons as i, getDestinationIcon as j, getEntityIcon as k, getEntityLabel as l, getMetricForEntity as m, getPlatformIcon as n, getPlatformLabel as o, getValueForRange as p, getWorkloadId as q, getYamlFieldsForDestination as r, hasUnhealthyInstances as s, isOverTime as t, mapDestinationFieldsForDisplay as u, sleep as v };
304
+ export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, filterSources as d, filterSourcesByStream as e, filterActions as f, formatBytes as g, getContainersInstrumentedCount as h, getContainersIcons as i, getDestinationIcon as j, getEntityIcon as k, getEntityLabel as l, getMetricForEntity as m, getValueForRange as n, getWorkloadId as o, getYamlFieldsForDestination as p, hasUnhealthyInstances as q, isOverTime as r, mapDestinationFieldsForDisplay as s, sleep as t };
@@ -1,13 +1,13 @@
1
1
  import React, { Fragment, useMemo, useState, useEffect, useRef, forwardRef, createElement, useCallback, createContext, memo, useContext, useLayoutEffect } from 'react';
2
- import { T as Theme, B as BUTTON_TEXTS, j as ImageErrorIcon, M as MONITORS_OPTIONS, a1 as styleInject, U as usePendingStore, $ as useSelectedStore, Z as useInstrumentStore, Q as useActiveNodeStore, V as useNotificationStore, b as DISPLAY_TITLES, L as LANGUAGE_OPTIONS, F as FORM_ALERTS, D as DISPLAY_LANGUAGES, e as getProgrammingLanguageIcon } from './index-90ccd949.js';
2
+ import { T as Theme, B as BUTTON_TEXTS, k as ImageErrorIcon, M as MONITORS_OPTIONS, a1 as styleInject, U as usePendingStore, $ as useSelectedStore, Z as useInstrumentStore, Q as useActiveNodeStore, V as useNotificationStore, b as DISPLAY_TITLES, L as LANGUAGE_OPTIONS, F as FORM_ALERTS, D as DISPLAY_LANGUAGES, e as getProgrammingLanguageIcon } from './index-86030474.js';
3
3
  import styled, { css } from 'styled-components';
4
- import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-19b8f8bc.js';
4
+ import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-72089d6e.js';
5
5
  import { StatusType, OtherStatus, EntityTypes, NodeTypes, AddNodeTypes, EdgeTypes, ProgrammingLanguages, IntrumentationStatus, SortDirection, InputTypes, FieldTypes } from './types.js';
6
6
  import { s as safeJsonParse, i as isEmpty } from './index-5e5f7bda.js';
7
- import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-a067d6e9.js';
7
+ import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-f22371cb.js';
8
8
  import ReactDOM, { createPortal } from 'react-dom';
9
- import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-807be8bc.js';
10
- import { I as InfoIcon } from './index-6034549d.js';
9
+ import { c as usePopup, h as useCopy, b as useClickNode, i as useGenericForm, a as useContainerSize, f as useTransition, u as useKeyDown, d as useOnClickOutside } from './useTransition-cac1649d.js';
10
+ import { I as InfoIcon } from './index-4dfaeaab.js';
11
11
 
12
12
  const TextWrapper$2 = styled.div `
13
13
  color: ${({ $color, theme }) => $color || theme.text.secondary};
@@ -83,9 +83,11 @@ const Text = ({ children, color, size, weight, align, family, opacity, decoratio
83
83
  : '';
84
84
  return str.split('\n');
85
85
  }, [children]);
86
- return (React.createElement(TextWrapper$2, { "$color": color, "$size": size, "$weight": weight, "$align": align, "$family": family, "$opacity": opacity, "$decoration": decoration, ...props }, textArray.map((str, i) => (React.createElement(Fragment, { key: `text-${i}-${str}` },
87
- renderText(str, theme),
88
- i !== textArray.length - 1 ? React.createElement("br", null) : null)))));
86
+ return (React.createElement(TextWrapper$2, { "$color": color, "$size": size, "$weight": weight, "$align": align, "$family": family, "$opacity": opacity, "$decoration": decoration, ...props }, textArray.length
87
+ ? textArray.map((str, i) => (React.createElement(Fragment, { key: `text-${i}-${str}` },
88
+ renderText(str, theme),
89
+ i !== textArray.length - 1 ? React.createElement("br", null) : null)))
90
+ : children));
89
91
  };
90
92
 
91
93
  const ErrorWrapper = styled.div `
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-90ccd949.js';
2
+ import { T as Theme } from './index-86030474.js';
3
3
 
4
4
  const OdigosLogoText = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,8 +1,8 @@
1
1
  import { StatusType, OtherStatus, SignalType } from './types.js';
2
2
  import 'react';
3
- import './index-90ccd949.js';
3
+ import './index-86030474.js';
4
4
  import 'styled-components';
5
- import { L as LogsIcon, M as MetricsIcon, T as TracesIcon, C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon, I as InfoIcon, O as OdigosLogo } from './index-6034549d.js';
5
+ import { L as LogsIcon, M as MetricsIcon, T as TracesIcon, C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon, I as InfoIcon, O as OdigosLogo } from './index-4dfaeaab.js';
6
6
 
7
7
  const capitalizeFirstLetter = (string) => {
8
8
  return string.charAt(0).toUpperCase() + string.slice(1);
package/lib/snippets.js CHANGED
@@ -1,15 +1,15 @@
1
- import { B as Button, _ as Text, L as NotificationNote } from './index-192794e8.js';
2
- export { al as AddButton, aq as AddNode, ar as BaseNode, an as CopyText, as as EdgedNode, aj as Flow, at as FrameNode, au as HeaderNode, az as LabeledEdge, av as MapItemNode, aw as NoDataNode, ao as PodContainer, ax as ScrollNode, ay as SkeletonNode, ap as SourceContainer, ag as nodeConfig } from './index-192794e8.js';
1
+ import { B as Button, _ as Text, L as NotificationNote } from './index-8b8d8883.js';
2
+ export { al as AddButton, aq as AddNode, ar as BaseNode, an as CopyText, as as EdgedNode, aj as Flow, at as FrameNode, au as HeaderNode, az as LabeledEdge, av as MapItemNode, aw as NoDataNode, ao as PodContainer, ax as ScrollNode, ay as SkeletonNode, ap as SourceContainer, ag as nodeConfig } from './index-8b8d8883.js';
3
3
  import React from 'react';
4
- import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-90ccd949.js';
5
- import { E as EditIcon } from './index-19b8f8bc.js';
4
+ import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-86030474.js';
5
+ import { E as EditIcon } from './index-72089d6e.js';
6
6
  import { StatusType } from './types.js';
7
7
  import 'styled-components';
8
- import { I as InfoIcon } from './index-6034549d.js';
8
+ import { I as InfoIcon } from './index-4dfaeaab.js';
9
9
  import './index-5e5f7bda.js';
10
- import './index-a067d6e9.js';
10
+ import './index-f22371cb.js';
11
11
  import 'react-dom';
12
- import './useTransition-807be8bc.js';
12
+ import './useTransition-cac1649d.js';
13
13
 
14
14
  const EditButton = ({ label, onClick, variant = 'tertiary', ...props }) => {
15
15
  const theme = Theme.useTheme();
package/lib/store.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Q as useActiveNodeStore, a0 as useDarkMode, Y as useDataStreamStore, O as useDrawerStore, W as useEntityStore, X as useFilterStore, Z as useInstrumentStore, z as useModalStore, V as useNotificationStore, U as usePendingStore, $ as useSelectedStore, _ as useSetupStore } from './index-90ccd949.js';
1
+ export { Q as useActiveNodeStore, a0 as useDarkMode, Y as useDataStreamStore, O as useDrawerStore, W as useEntityStore, X as useFilterStore, Z as useInstrumentStore, z as useModalStore, V as useNotificationStore, U as usePendingStore, $ as useSelectedStore, _ as useSetupStore } from './index-86030474.js';
2
2
  import 'react';
3
3
  import './types.js';
4
4
  import 'styled-components';
package/lib/theme.js CHANGED
@@ -1,4 +1,4 @@
1
- export { T as default } from './index-90ccd949.js';
1
+ export { T as default } from './index-86030474.js';
2
2
  import 'styled-components';
3
3
  import 'react';
4
4
  import './types.js';
@@ -1,7 +1,6 @@
1
1
  export * from './actions';
2
2
  export * from './common';
3
3
  export * from './config';
4
- export * from './connection';
5
4
  export * from './data-flow';
6
5
  export * from './data-streams';
7
6
  export * from './describe';
@@ -1,4 +1,4 @@
1
- import { z as useModalStore, O as useDrawerStore, Q as useActiveNodeStore } from './index-90ccd949.js';
1
+ import { z as useModalStore, O as useDrawerStore, Q as useActiveNodeStore } from './index-86030474.js';
2
2
  import { AddNodeTypes, EntityTypes, PayloadCollectionKeyTypes, CodeAttributesKeyTypes, CustomInstrumentationsKeyTypes } from './types.js';
3
3
  import React, { useState, useMemo, useEffect, useRef, useCallback } from 'react';
4
4
  import styled from 'styled-components';
@@ -3595,4 +3595,4 @@ const useTransition = ({ container, animateIn, animateOut, duration = 300 }) =>
3595
3595
  return Transition;
3596
3596
  };
3597
3597
 
3598
- export { useOnClickOutside as a, useContainerSize as b, useClickNode as c, usePopup as d, useInstrumentationRuleFormData as e, useTransition as f, useTimeAgo as g, useCopy as h, useGenericForm as i, useKeyDown as u };
3598
+ export { useContainerSize as a, useClickNode as b, usePopup as c, useOnClickOutside as d, useInstrumentationRuleFormData as e, useTransition as f, useTimeAgo as g, useCopy as h, useGenericForm as i, useKeyDown as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.80",
3
+ "version": "0.0.82",
4
4
  "author": "Odigos",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { type Connection } from '@/types';
3
- interface ComputePlatformSelectProps {
4
- connections: Connection[];
5
- selected?: Connection;
6
- onSelect: (payload: Connection) => void;
7
- onViewAll: () => void;
8
- }
9
- declare const ComputePlatformSelect: React.FC<ComputePlatformSelectProps>;
10
- export { ComputePlatformSelect, type ComputePlatformSelectProps };
@@ -1,8 +0,0 @@
1
- import { type FC } from 'react';
2
- import { type Connection } from '@/types';
3
- interface ComputePlatformsProps {
4
- connections: Connection[];
5
- onSelect: (payload: Connection) => void;
6
- }
7
- declare const ComputePlatforms: FC<ComputePlatformsProps>;
8
- export { ComputePlatforms, type ComputePlatformsProps };
@@ -1,7 +0,0 @@
1
- import { type FC } from 'react';
2
- import type { Connection } from '@/types';
3
- interface ComputePlatformsActionsMenuProps {
4
- connections: Connection[];
5
- }
6
- declare const ComputePlatformsActionsMenu: FC<ComputePlatformsActionsMenuProps>;
7
- export { ComputePlatformsActionsMenu, type ComputePlatformsActionsMenuProps };
@@ -1,15 +0,0 @@
1
- import { type FC } from 'react';
2
- import type { Connection } from '@/types';
3
- import { type DropdownProps } from '@/components';
4
- interface ConnectionStatusDropdownProps {
5
- connections: Connection[];
6
- title?: string;
7
- value?: DropdownProps['options'];
8
- onSelect: (val: DropdownProps['options'][0]) => void;
9
- onDeselect: (val: DropdownProps['options'][0]) => void;
10
- isMulti?: boolean;
11
- required?: boolean;
12
- showSearch?: boolean;
13
- }
14
- declare const ConnectionStatusDropdown: FC<ConnectionStatusDropdownProps>;
15
- export { ConnectionStatusDropdown, type ConnectionStatusDropdownProps };
@@ -1,15 +0,0 @@
1
- import { type FC } from 'react';
2
- import type { Connection } from '@/types';
3
- import { type DropdownProps } from '@/components';
4
- interface ConnectionTypeDropdownProps {
5
- connections: Connection[];
6
- title?: string;
7
- value?: DropdownProps['options'];
8
- onSelect: (val: DropdownProps['options'][0]) => void;
9
- onDeselect: (val: DropdownProps['options'][0]) => void;
10
- isMulti?: boolean;
11
- required?: boolean;
12
- showSearch?: boolean;
13
- }
14
- declare const ConnectionTypeDropdown: FC<ConnectionTypeDropdownProps>;
15
- export { ConnectionTypeDropdown, type ConnectionTypeDropdownProps };
@@ -1,7 +0,0 @@
1
- import { StatusType, PlatformType } from '../common';
2
- export interface Connection {
3
- id: string;
4
- type?: PlatformType;
5
- name?: string;
6
- status: StatusType;
7
- }