@odigos/ui-kit 0.0.8 → 0.0.9

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 (60) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/components/data-card/index.d.ts +1 -0
  3. package/lib/components.js +5 -5
  4. package/lib/containers.js +27 -30
  5. package/lib/functions/get-containers-icons/index.d.ts +2 -2
  6. package/lib/functions/get-platform-icon/index.d.ts +1 -1
  7. package/lib/functions/get-platform-label/index.d.ts +1 -1
  8. package/lib/functions/get-programming-language-icon/index.d.ts +2 -2
  9. package/lib/functions.js +4 -4
  10. package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +8 -0
  11. package/lib/icons/common/image-error-icon/index.d.ts +2 -0
  12. package/lib/icons/common/index.d.ts +1 -0
  13. package/lib/icons/index.d.ts +1 -0
  14. package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +8 -0
  15. package/lib/icons/overview/connections-icon/index.d.ts +2 -0
  16. package/lib/icons/overview/index.d.ts +1 -0
  17. package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +8 -0
  18. package/lib/icons/programming-languages/c-plus-plus-logo/index.d.ts +2 -0
  19. package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +8 -0
  20. package/lib/icons/programming-languages/c-sharp-logo/index.d.ts +2 -0
  21. package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +8 -0
  22. package/lib/icons/programming-languages/dotnet-logo/index.d.ts +2 -0
  23. package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +8 -0
  24. package/lib/icons/programming-languages/elixir-logo/index.d.ts +2 -0
  25. package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +8 -0
  26. package/lib/icons/programming-languages/go-logo/index.d.ts +2 -0
  27. package/lib/icons/programming-languages/index.d.ts +17 -0
  28. package/lib/icons/programming-languages/java-logo/index.d.ts +2 -0
  29. package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +8 -0
  30. package/lib/icons/programming-languages/kafka-logo/index.d.ts +2 -0
  31. package/lib/icons/programming-languages/kafka-logo/kafka-logo.stories.d.ts +8 -0
  32. package/lib/icons/programming-languages/mysql-logo/index.d.ts +2 -0
  33. package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +8 -0
  34. package/lib/icons/programming-languages/nginx-logo/index.d.ts +2 -0
  35. package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +8 -0
  36. package/lib/icons/programming-languages/nodejs-logo/index.d.ts +2 -0
  37. package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +8 -0
  38. package/lib/icons/programming-languages/php-logo/index.d.ts +2 -0
  39. package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +8 -0
  40. package/lib/icons/programming-languages/postgres-logo/index.d.ts +2 -0
  41. package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +8 -0
  42. package/lib/icons/programming-languages/python-logo/index.d.ts +2 -0
  43. package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +8 -0
  44. package/lib/icons/programming-languages/redis-logo/index.d.ts +2 -0
  45. package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +8 -0
  46. package/lib/icons/programming-languages/ruby-logo/index.d.ts +2 -0
  47. package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +8 -0
  48. package/lib/icons/programming-languages/rust-logo/index.d.ts +2 -0
  49. package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +8 -0
  50. package/lib/icons/programming-languages/swift-logo/index.d.ts +2 -0
  51. package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +8 -0
  52. package/lib/icons.js +10 -3
  53. package/lib/{index-BulCzWQI.js → index-Bc8gi9FH.js} +23 -25
  54. package/lib/{index-BJxaoI0G.js → index-D_Qn2U89.js} +8 -1
  55. package/lib/{index-CKD2OX24.js → index-g6Twdelv.js} +6 -2
  56. package/lib/index-ixs381n-.js +466 -0
  57. package/lib/{index-CKUgKtl0.js → index-m62aT4IR.js} +11 -14
  58. package/lib/types/connection/index.d.ts +2 -2
  59. package/package.json +1 -1
  60. package/lib/index-DLKEpJJm.js +0 -53
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.9](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.8...ui-kit-v0.0.9) (2025-03-16)
4
+
5
+
6
+ ### Features
7
+
8
+ * add icon for connections ([#23](https://github.com/odigos-io/ui-kit/issues/23)) ([6f28052](https://github.com/odigos-io/ui-kit/commit/6f2805265b6b9dfbaf482decff87fb613bc5c15d))
9
+ * use source logos from SVG imports, not URL fetched ([#22](https://github.com/odigos-io/ui-kit/issues/22)) ([c37b564](https://github.com/odigos-io/ui-kit/commit/c37b564810e8cfb38d1cbd7fa4b4a31979149218))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * click area in data-card with expand ([#19](https://github.com/odigos-io/ui-kit/issues/19)) ([a2c661f](https://github.com/odigos-io/ui-kit/commit/a2c661f0d7798328e949bbfd5fa175284a33bc69))
15
+ * controlled-image fallback icon ([#21](https://github.com/odigos-io/ui-kit/issues/21)) ([cb15639](https://github.com/odigos-io/ui-kit/commit/cb15639311588d358b17fc75bb803f222d7f1bc6))
16
+ * no-data for describe source pods ([#20](https://github.com/odigos-io/ui-kit/issues/20)) ([65aa7cb](https://github.com/odigos-io/ui-kit/commit/65aa7cb4f068868cefdf8e9af81cd2424c61b5dc))
17
+
3
18
  ## [0.0.8](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.7...ui-kit-v0.0.8) (2025-03-16)
4
19
 
5
20
 
@@ -6,6 +6,7 @@ interface DataCardProps {
6
6
  description?: string;
7
7
  action?: ReactNode | (() => ReactNode);
8
8
  withExtend?: boolean;
9
+ initialExtended?: boolean;
9
10
  data: DataCardFieldsProps['data'];
10
11
  }
11
12
  declare const DataCard: FC<DataCardProps>;
package/lib/components.js CHANGED
@@ -1,15 +1,15 @@
1
- import { B as Button } from './index-CKUgKtl0.js';
2
- export { A as AutocompleteInput, a as Badge, C as CancelWarning, a0 as CenterThis, b as Checkbox, c as Code, d as ConditionDetails, f as DATA_CARD_FIELD_TYPES, D as DataCard, e as DataCardFields, g as DataTab, h as DeleteWarning, 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, $ as FlexColumn, _ 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, a2 as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, a1 as Overlay, S as SectionTitle, O as Segment, P as SkeletonLoader, Q as Status, R as Stepper, U as Text, V as TextArea, W as Toggle, T as ToggleCodeComponent, X as Tooltip, Y as TraceLoader, Z as WarningModal } from './index-CKUgKtl0.js';
1
+ import { B as Button } from './index-m62aT4IR.js';
2
+ export { A as AutocompleteInput, a as Badge, C as CancelWarning, a0 as CenterThis, b as Checkbox, c as Code, d as ConditionDetails, f as DATA_CARD_FIELD_TYPES, D as DataCard, e as DataCardFields, g as DataTab, h as DeleteWarning, 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, $ as FlexColumn, _ 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, a2 as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, a1 as Overlay, S as SectionTitle, O as Segment, P as SkeletonLoader, Q as Status, R as Stepper, U as Text, V as TextArea, W as Toggle, T as ToggleCodeComponent, X as Tooltip, Y as TraceLoader, Z as WarningModal } from './index-m62aT4IR.js';
3
3
  import React, { Component, createElement, createContext } from 'react';
4
4
  import Theme from './theme.js';
5
5
  import './types.js';
6
6
  import './index-DIcomki-.js';
7
7
  import 'styled-components';
8
- import './index-BulCzWQI.js';
9
- import './index-DLKEpJJm.js';
8
+ import './index-Bc8gi9FH.js';
10
9
  import './index-BGlk5VhF.js';
10
+ import './index-ixs381n-.js';
11
11
  import './index-BZS1ijMm.js';
12
- import './index-BJxaoI0G.js';
12
+ import './index-D_Qn2U89.js';
13
13
  import './index-CZe2VX28.js';
14
14
  import './index-BumPE6cF.js';
15
15
  import './useTransition-Dfxjcy-C.js';
package/lib/containers.js CHANGED
@@ -3,18 +3,18 @@ import styled, { css } from 'styled-components';
3
3
  import { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-CZe2VX28.js';
4
4
  import { D as DISPLAY_TITLES, F as FORM_ALERTS } from './index-Cu2uHOuh.js';
5
5
  import { ACTION_TYPE, ENTITY_TYPES, NOTIFICATION_TYPE, CRUD, OTHER_STATUS, NODE_TYPES, ADD_NODE_TYPES, EDGE_TYPES, FIELD_TYPES, SIGNAL_TYPE, CODE_ATTRIBUTES_KEY_TYPES, PAYLOAD_COLLECTION_KEY_TYPES, INSTRUMENTATION_RULE_TYPE } from './types.js';
6
- import { f as DATA_CARD_FIELD_TYPES, p as FieldLabel, b as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, V as TextArea, k as Drawer, h as DeleteWarning, C as CancelWarning, d as ConditionDetails, D as DataCard, M as Modal, N as NavigationButtons, a2 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, _ as FlexRow, X as Tooltip, s as IconWrapped, G as MonitorsIcons, $ as FlexColumn, r as IconTitleBadge, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a3 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, t as IconsNav, q as IconGroup } from './index-CKUgKtl0.js';
6
+ import { f as DATA_CARD_FIELD_TYPES, p as FieldLabel, b as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, V as TextArea, k as Drawer, h as DeleteWarning, C as CancelWarning, d as ConditionDetails, D as DataCard, M as Modal, N as NavigationButtons, a2 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, _ as FlexRow, X as Tooltip, s as IconWrapped, G as MonitorsIcons, $ as FlexColumn, r as IconTitleBadge, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a3 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, t as IconsNav, q as IconGroup } from './index-m62aT4IR.js';
7
7
  import { g as usePendingStore, f as useNotificationStore, a as useDrawerStore, b as useEntityStore, e as useModalStore, c as useFilterStore, s as styleInject, h as useSelectedStore, d as useInstrumentStore, k as getEntityId, i as useSetupStore, u as useDarkMode } from './index-DIcomki-.js';
8
8
  import Theme from './theme.js';
9
9
  import { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
10
- import { C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon } from './index-DLKEpJJm.js';
10
+ import { i as CheckCircledIcon, h as ErrorTriangleIcon, W as WarningTriangleIcon } from './index-ixs381n-.js';
11
11
  import { C as CrossCircledIcon, E as EditIcon, O as OdigosLogoText, b as OverviewIcon, F as FilterIcon, N as NotificationIcon, S as SlackLogo, a as FolderIcon, K as KeyIcon, T as TerminalIcon } from './index-3KUV6Vlt.js';
12
12
  import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-BumPE6cF.js';
13
13
  import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-BY6B70Kf.js';
14
14
  import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-Dfxjcy-C.js';
15
- import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, A as ArrowIcon, a as CopyIcon, f as CheckIcon, g as CrossIcon } from './index-BJxaoI0G.js';
16
- import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-BulCzWQI.js';
17
- import { f as filterActions, g as getConditionsBooleans, j as getEntityLabel, i as getEntityIcon, s as sleep$1, l as getPlatformIcon, m as getPlatformLabel, d as formatBytes, h as getContainersIcons, n as getValueForRange, b as filterSources, a as filterDestinations, c as compareCondition, k as getMetricForEntity, e as getContainersInstrumentedCount, o as isOverTime } from './index-CKD2OX24.js';
15
+ import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, A as ArrowIcon, a as CopyIcon, f as CheckIcon, g as CrossIcon } from './index-D_Qn2U89.js';
16
+ import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-Bc8gi9FH.js';
17
+ import { f as filterActions, g as getConditionsBooleans, j as getEntityLabel, i as getEntityIcon, s as sleep$1, l as getPlatformIcon, m as getPlatformLabel, d as formatBytes, h as getContainersIcons, n as getValueForRange, b as filterSources, a as filterDestinations, c as compareCondition, k as getMetricForEntity, e as getContainersInstrumentedCount, o as isOverTime } from './index-g6Twdelv.js';
18
18
  import require$$1 from 'use-sync-external-store/shim';
19
19
  import { createPortal } from 'react-dom';
20
20
  import { O as OdigosLogo } from './index-BGlk5VhF.js';
@@ -898,8 +898,8 @@ const ComputePlatformSelect = ({ connections, selected, onSelect, onViewAll }) =
898
898
  isOpen && withSelect && (React.createElement(AbsoluteContainer$2, null,
899
899
  React.createElement(HeadWrap, null,
900
900
  React.createElement(Input, { placeholder: 'Search...', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
901
- React.createElement(VerticalScroll$1, { style: { maxHeight: '240px' } }, filtered.map(({ id, type, name, connectionStatus }, idx) => (React.createElement(SelectionButton, { key: `platform-${id}`, icon: () => getPlatformIcon(type)({ fill: connectionStatus === NOTIFICATION_TYPE.SUCCESS ? theme.text.success : theme.text.error }), label: `${!!name ? name : getPlatformLabel(type)} (${id})`, isSelected: selected?.id === id, onClick: () => {
902
- if (connectionStatus === NOTIFICATION_TYPE.SUCCESS) {
901
+ React.createElement(VerticalScroll$1, { style: { maxHeight: '240px' } }, filtered.map(({ id, type, name, status }, idx) => (React.createElement(SelectionButton, { key: `platform-${id}`, icon: () => getPlatformIcon(type)({ fill: status === NOTIFICATION_TYPE.SUCCESS ? theme.text.success : theme.text.error }), label: `${!!name ? name : getPlatformLabel(type)} (${id})`, isSelected: selected?.id === id, onClick: () => {
902
+ if (status === NOTIFICATION_TYPE.SUCCESS) {
903
903
  onSelect(filtered[idx]);
904
904
  }
905
905
  else {
@@ -918,9 +918,9 @@ const ComputePlatformSelect = ({ connections, selected, onSelect, onViewAll }) =
918
918
 
919
919
  const ComputePlatforms = ({ connections, onSelect }) => {
920
920
  const { searchText, platformTypes, statuses } = useFilterStore();
921
- const filtered = connections.filter(({ id, type, connectionStatus }) => (!searchText || id.toLowerCase().includes(searchText)) &&
921
+ const filtered = connections.filter(({ id, type, status }) => (!searchText || id.toLowerCase().includes(searchText)) &&
922
922
  (!platformTypes?.length || platformTypes.find((opt) => opt.id === type)) &&
923
- (!statuses?.length || statuses.find((opt) => opt.id === connectionStatus)));
923
+ (!statuses?.length || statuses.find((opt) => opt.id === status)));
924
924
  return (React.createElement(React.Fragment, null,
925
925
  React.createElement(InteractiveTable, { columns: [
926
926
  { key: 'icon', title: '' },
@@ -928,7 +928,7 @@ const ComputePlatforms = ({ connections, onSelect }) => {
928
928
  { key: 'type', title: 'Type' },
929
929
  { key: 'status', title: 'Status' },
930
930
  { key: 'id', title: 'Unique ID' },
931
- ], rows: filtered.map(({ id, name, type, connectionStatus }) => ({
931
+ ], rows: filtered.map(({ id, name, type, status }) => ({
932
932
  cells: [
933
933
  { columnKey: 'id', value: id },
934
934
  { columnKey: 'type', value: type },
@@ -937,7 +937,7 @@ const ComputePlatforms = ({ connections, onSelect }) => {
937
937
  {
938
938
  columnKey: 'status',
939
939
  component: () => (React.createElement("div", { style: { lineHeight: 1 } },
940
- React.createElement(Status, { title: connectionStatus === NOTIFICATION_TYPE.SUCCESS ? 'connection alive' : 'connection lost', status: connectionStatus, withIcon: true, withBorder: true }))),
940
+ React.createElement(Status, { title: status === NOTIFICATION_TYPE.SUCCESS ? 'connection alive' : 'connection lost', status: status, withIcon: true, withBorder: true }))),
941
941
  },
942
942
  ],
943
943
  })), onRowClick: (idx) => onSelect(filtered[idx]) }),
@@ -948,9 +948,9 @@ const ComputePlatforms = ({ connections, onSelect }) => {
948
948
  const ConnectionStatusDropdown = ({ connections, title = '', value, onSelect, onDeselect, ...props }) => {
949
949
  const options = useMemo(() => {
950
950
  const payload = [];
951
- connections?.forEach(({ connectionStatus }) => {
952
- if (!payload.find((opt) => opt.id === connectionStatus)) {
953
- payload.push({ id: connectionStatus, value: connectionStatus });
951
+ connections?.forEach(({ status }) => {
952
+ if (!payload.find((opt) => opt.id === status)) {
953
+ payload.push({ id: status, value: status });
954
954
  }
955
955
  });
956
956
  return payload;
@@ -13247,7 +13247,7 @@ const mapToNodeData$1 = (entity) => {
13247
13247
  faded: hasDisableds,
13248
13248
  title: getEntityLabel(entity, ENTITY_TYPES.SOURCE, { extended: true }),
13249
13249
  subTitle: `${entity.namespace} • ${entity.kind}`,
13250
- iconSrcs: getContainersIcons(entity.containers),
13250
+ icons: getContainersIcons(entity.containers),
13251
13251
  raw: entity,
13252
13252
  };
13253
13253
  };
@@ -15126,17 +15126,18 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15126
15126
  return (React.createElement(CenterThis, null,
15127
15127
  React.createElement(FadeLoader, null)));
15128
15128
  }
15129
- return (React.createElement(FlexColumn, { "$gap": 12 }, describe.pods.map(({ podName, nodeName, phase, containers }) => {
15129
+ return (React.createElement(FlexColumn, { "$gap": 12 }, !describe.pods?.length ? (React.createElement(CenterThis, null,
15130
+ React.createElement(NoDataFound, { subTitle: 'Check if you have any running pods and try again' }))) : (describe.pods.map(({ podName, nodeName, phase, containers }) => {
15130
15131
  const podHasErrors = phase.status !== NOTIFICATION_TYPE.SUCCESS ||
15131
- !!containers.find(({ instrumentationInstances }) => !!instrumentationInstances.find(({ healthy }) => healthy.status !== NOTIFICATION_TYPE.SUCCESS));
15132
- return (React.createElement(DataCard, { key: `pod-${podName.value}`, title: `Pod: ${podName.value}`, withExtend: true, action: () => (React.createElement(Status, { status: podHasErrors ? NOTIFICATION_TYPE.ERROR : NOTIFICATION_TYPE.SUCCESS, title: podHasErrors ? NOTIFICATION_TYPE.ERROR : NOTIFICATION_TYPE.SUCCESS, withIcon: true, withBorder: true })), data: [
15132
+ containers.findIndex(({ instrumentationInstances }) => instrumentationInstances.findIndex(({ healthy }) => healthy.status !== NOTIFICATION_TYPE.SUCCESS) !== -1) !== -1;
15133
+ const podStatus = podHasErrors ? NOTIFICATION_TYPE.ERROR : NOTIFICATION_TYPE.SUCCESS;
15134
+ const divider = { type: DATA_CARD_FIELD_TYPES.DIVIDER };
15135
+ return (React.createElement(DataCard, { key: `pod-${podName.value}`, title: `Pod: ${podName.value}`, withExtend: true, action: () => React.createElement(Status, { status: podStatus, title: podStatus, withIcon: true, withBorder: true }), data: [
15133
15136
  {
15134
15137
  type: DATA_CARD_FIELD_TYPES.COPY_TEXT,
15135
15138
  value: `kubectl get pod ${podName.value} -n ${describe?.namespace?.value || source.namespace}`,
15136
15139
  },
15137
- {
15138
- type: DATA_CARD_FIELD_TYPES.DIVIDER,
15139
- },
15140
+ divider,
15140
15141
  {
15141
15142
  type: DATA_CARD_FIELD_TYPES.DESCRIBE_ROW,
15142
15143
  value: JSON.stringify({
@@ -15148,9 +15149,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15148
15149
  },
15149
15150
  }),
15150
15151
  },
15151
- {
15152
- type: DATA_CARD_FIELD_TYPES.DIVIDER,
15153
- },
15152
+ divider,
15154
15153
  {
15155
15154
  type: DATA_CARD_FIELD_TYPES.DESCRIBE_ROW,
15156
15155
  value: JSON.stringify({
@@ -15162,9 +15161,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15162
15161
  },
15163
15162
  }),
15164
15163
  },
15165
- {
15166
- type: DATA_CARD_FIELD_TYPES.DIVIDER,
15167
- },
15164
+ divider,
15168
15165
  ...containers.map((container) => {
15169
15166
  return {
15170
15167
  type: DATA_CARD_FIELD_TYPES.POD_CONTAINER,
@@ -15184,7 +15181,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15184
15181
  };
15185
15182
  }),
15186
15183
  ] }));
15187
- })));
15184
+ }))));
15188
15185
  };
15189
15186
 
15190
15187
  const buildCard = (source) => {
@@ -15659,7 +15656,7 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15659
15656
  columnKey: 'checkbox-and-icon',
15660
15657
  component: () => (React.createElement(FlexRow, { "$gap": 16 },
15661
15658
  React.createElement(Checkbox, { disabled: isPending, value: isChecked, onChange: () => onSelectOne(source) }),
15662
- React.createElement(IconGroup, { iconSrcs: getContainersIcons(source.containers) }))),
15659
+ React.createElement(IconGroup, { icons: getContainersIcons(source.containers) }))),
15663
15660
  },
15664
15661
  {
15665
15662
  columnKey: 'name',
@@ -15842,7 +15839,7 @@ const Describe = ({ fetchDescribeOdigos }) => {
15842
15839
  ]
15843
15840
  : [];
15844
15841
  return (React.createElement(React.Fragment, null,
15845
- React.createElement(DataCard, { title: 'General Information', withExtend: true, data: [
15842
+ React.createElement(DataCard, { title: 'General Information', withExtend: true, initialExtended: true, data: [
15846
15843
  { title: describe?.odigosVersion?.name, value: describe?.odigosVersion?.value },
15847
15844
  { title: describe?.kubernetesVersion?.name, value: describe?.kubernetesVersion?.value },
15848
15845
  { title: describe?.installationMethod?.name, value: describe?.installationMethod?.value },
@@ -1,2 +1,2 @@
1
- import type { Source } from '@/types';
2
- export declare const getContainersIcons: (containers: Source["containers"]) => string[];
1
+ import type { Source, SVG } from '@/types';
2
+ export declare const getContainersIcons: (containers: Source["containers"]) => SVG[];
@@ -1,2 +1,2 @@
1
1
  import { PLATFORM_TYPE, type SVG } from '@/types';
2
- export declare const getPlatformIcon: (type: PLATFORM_TYPE) => SVG;
2
+ export declare const getPlatformIcon: (type?: PLATFORM_TYPE) => SVG;
@@ -1,2 +1,2 @@
1
1
  import { PLATFORM_TYPE } from '@/types';
2
- export declare const getPlatformLabel: (type: PLATFORM_TYPE) => string;
2
+ export declare const getPlatformLabel: (type?: PLATFORM_TYPE) => string;
@@ -1,2 +1,2 @@
1
- import { PROGRAMMING_LANGUAGES } from '@/types';
2
- export declare const getProgrammingLanguageIcon: (language: PROGRAMMING_LANGUAGES) => string;
1
+ import { PROGRAMMING_LANGUAGES, type SVG } from '@/types';
2
+ export declare const getProgrammingLanguageIcon: (language: PROGRAMMING_LANGUAGES) => SVG;
package/lib/functions.js CHANGED
@@ -1,5 +1,5 @@
1
- export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-BulCzWQI.js';
2
- export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterSources, d as formatBytes, g as getConditionsBooleans, h as getContainersIcons, e as getContainersInstrumentedCount, i as getEntityIcon, j as getEntityLabel, k as getMetricForEntity, l as getPlatformIcon, m as getPlatformLabel, n as getValueForRange, o as isOverTime, s as sleep } from './index-CKD2OX24.js';
1
+ export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-Bc8gi9FH.js';
2
+ export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterSources, d as formatBytes, g as getConditionsBooleans, h as getContainersIcons, e as getContainersInstrumentedCount, i as getEntityIcon, j as getEntityLabel, k as getMetricForEntity, l as getPlatformIcon, m as getPlatformLabel, n as getValueForRange, o as isOverTime, s as sleep } from './index-g6Twdelv.js';
3
3
  import { INSTRUMENTATION_RULE_TYPE, ENTITY_TYPES } from './types.js';
4
4
  export { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-BumPE6cF.js';
5
5
  export { k as getEntityId, l as isTimeElapsed } from './index-DIcomki-.js';
@@ -7,9 +7,9 @@ export { g as getIdFromSseTarget } from './index-BFct3S32.js';
7
7
  export { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
8
8
  import 'react';
9
9
  import 'styled-components';
10
- import './index-DLKEpJJm.js';
11
- import './theme.js';
12
10
  import './index-BGlk5VhF.js';
11
+ import './theme.js';
12
+ import './index-ixs381n-.js';
13
13
  import './index-BjJpYtF1.js';
14
14
 
15
15
  const cleanObjectEmptyStringsValues = (obj) => {
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const ImageErrorIcon: SVG;
@@ -7,6 +7,7 @@ export * from './edit-icon/index';
7
7
  export * from './extend-arrow-icon/index';
8
8
  export * from './filter-icon/index';
9
9
  export * from './folder-icon/index';
10
+ export * from './image-error-icon/index';
10
11
  export * from './key-icon/index';
11
12
  export * from './list-icon/index';
12
13
  export * from './no-data-icon/index';
@@ -7,5 +7,6 @@ export * from './math';
7
7
  export * from './monitors';
8
8
  export * from './on-off';
9
9
  export * from './overview';
10
+ export * from './programming-languages';
10
11
  export * from './social';
11
12
  export * from './status';
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const ConnectionsIcon: SVG;
@@ -1,6 +1,7 @@
1
1
  export * from './overview-icon/index';
2
2
  export * from './service-map-icon/index';
3
3
  export * from './trace-view-icon/index';
4
+ export * from './connections-icon/index';
4
5
  export * from './actions-icon/index';
5
6
  export * from './destinations-icon/index';
6
7
  export * from './rules-icon/index';
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const CPlusPlusLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const CSharpLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const DotnetLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const ElixirLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const GoLogo: SVG;
@@ -0,0 +1,17 @@
1
+ export * from './c-plus-plus-logo';
2
+ export * from './c-sharp-logo';
3
+ export * from './dotnet-logo';
4
+ export * from './elixir-logo';
5
+ export * from './go-logo';
6
+ export * from './java-logo';
7
+ export * from './kafka-logo';
8
+ export * from './mysql-logo';
9
+ export * from './nginx-logo';
10
+ export * from './nodejs-logo';
11
+ export * from './php-logo';
12
+ export * from './postgres-logo';
13
+ export * from './python-logo';
14
+ export * from './redis-logo';
15
+ export * from './ruby-logo';
16
+ export * from './rust-logo';
17
+ export * from './swift-logo';
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const JavaLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const KafkaLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const MysqlLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const NginxLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const NodejsLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const PhpLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const PostgresLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const PythonLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const RedisLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const RubyLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const RustLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const SwiftLogo: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
package/lib/icons.js CHANGED
@@ -1,10 +1,10 @@
1
1
  export { A as AddClusterInfoIcon, C as CodeAttributesIcon, D as DeleteAttributeIcon, K as K8sLogo, O as OdigosLogo, a as PayloadCollectionIcon, P as PiiMaskingIcon, R as RenameAttributeIcon, S as SamplerIcon } from './index-BGlk5VhF.js';
2
2
  export { C as CrossCircledIcon, E as EditIcon, F as FilterIcon, a as FolderIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, b as OverviewIcon, S as SlackLogo, T as TerminalIcon } from './index-3KUV6Vlt.js';
3
- export { A as ArrowIcon, f as CheckIcon, C as CodeIcon, a as CopyIcon, g as CrossIcon, E as ExtendArrowIcon, d as EyeClosedIcon, e as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, b as NotebookIcon, P as PlusIcon, S as SearchIcon, c as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-BJxaoI0G.js';
3
+ export { A as ArrowIcon, f as CheckIcon, C as CodeIcon, a as CopyIcon, g as CrossIcon, E as ExtendArrowIcon, d as EyeClosedIcon, e as EyeOpenIcon, I as ImageErrorIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, b as NotebookIcon, P as PlusIcon, S as SearchIcon, c as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-D_Qn2U89.js';
4
4
  import React from 'react';
5
5
  import Theme from './theme.js';
6
6
  export { A as ActionsIcon, D as DestinationsIcon, R as RulesIcon, S as SourcesIcon, V as VmLogo } from './index-BjJpYtF1.js';
7
- export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, T as TracesIcon, W as WarningTriangleIcon } from './index-DLKEpJJm.js';
7
+ export { C as CPlusPlusLogo, d as CSharpLogo, i as CheckCircledIcon, D as DotnetLogo, E as ElixirLogo, h as ErrorTriangleIcon, G as GoLogo, I as InfoIcon, J as JavaLogo, K as KafkaLogo, L as LogsIcon, g as MetricsIcon, M as MysqlLogo, N as NginxLogo, f as NodejsLogo, c as PhpLogo, P as PostgresLogo, e as PythonLogo, R as RedisLogo, b as RubyLogo, a as RustLogo, S as SwiftLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-ixs381n-.js';
8
8
  import './index-DIcomki-.js';
9
9
  import './types.js';
10
10
  import 'styled-components';
@@ -65,6 +65,13 @@ const TraceViewIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
65
65
  React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M2.66666 8.61719H6.66666M2.66666 12.6172H6.66666M2.66666 4.61719H13.3333M14 12.9505L13.0809 12.0315M13.0809 12.0315C13.4438 11.6686 13.6667 11.1686 13.6667 10.6172C13.6667 9.51147 12.7724 8.61719 11.6667 8.61719C10.5609 8.61719 9.66666 9.51147 9.66666 10.6172C9.66666 11.7229 10.5609 12.6172 11.6667 12.6172C12.2181 12.6172 12.7181 12.3943 13.0809 12.0315Z' })));
66
66
  };
67
67
 
68
+ const ConnectionsIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
69
+ const theme = Theme.useTheme();
70
+ const fill = f || theme.text.secondary;
71
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
72
+ React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M2 12H5.27924C5.70967 12 6.09181 11.7246 6.22792 11.3162L9 3L15 21L17.7721 12.6838C17.9082 12.2754 18.2903 12 18.7208 12H22' })));
73
+ };
74
+
68
75
  const ErrorRoundIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
69
76
  const theme = Theme.useTheme();
70
77
  const fill = f || theme.text.error;
@@ -72,4 +79,4 @@ const ErrorRoundIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
72
79
  React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 8.33673V6.00339M7 10.3055V10.3061M12.25 7.97266C12.25 10.8722 9.89949 13.2227 7 13.2227C4.1005 13.2227 1.75 10.8721 1.75 7.97265C1.75 5.07316 4.10051 2.72266 7 2.72266C9.8995 2.72266 12.25 5.07316 12.25 7.97266Z' })));
73
80
  };
74
81
 
75
- export { CodeBracketsIcon, CommandIcon, ErrorRoundIcon, LightOffIcon, LightOnIcon, MoonIcon, ServiceMapIcon, SunIcon, TraceViewIcon };
82
+ export { CodeBracketsIcon, CommandIcon, ConnectionsIcon, ErrorRoundIcon, LightOffIcon, LightOnIcon, MoonIcon, ServiceMapIcon, SunIcon, TraceViewIcon };