@odigos/ui-kit 0.0.43 → 0.0.45

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 (32) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/components/status/index.d.ts +6 -4
  3. package/lib/components.js +8 -8
  4. package/lib/constants/strings/index.d.ts +4 -0
  5. package/lib/constants.js +1 -1
  6. package/lib/containers.js +26 -30
  7. package/lib/functions/get-conditions-booleans/index.d.ts +4 -0
  8. package/lib/functions.js +5 -5
  9. package/lib/hooks.js +3 -3
  10. package/lib/icons/common/edited-icon/edited-icon.stories.d.ts +8 -0
  11. package/lib/icons/common/edited-icon/index.d.ts +2 -0
  12. package/lib/icons/common/index.d.ts +1 -0
  13. package/lib/icons.js +6 -6
  14. package/lib/{index-CFcAM49k.js → index-BD7meETN.js} +34 -5
  15. package/lib/{index--yr-0Yb_.js → index-BL1s2-bo.js} +1 -1
  16. package/lib/{index-DeWFbFU-.js → index-BSjQAYib.js} +5 -20
  17. package/lib/{index-OD60p3iQ.js → index-C3BU6Xe-.js} +1 -1
  18. package/lib/{index-BHJkDHqL.js → index-C4uhvIMP.js} +31 -37
  19. package/lib/{index-DJfTCJxF.js → index-CY3kjYr3.js} +9 -2
  20. package/lib/{index-JW9d8KBI.js → index-CnbEaeQS.js} +2 -2
  21. package/lib/{index-BjrdHhNI.js → index-DZWbhK14.js} +1 -1
  22. package/lib/{index-BDivLGyc.js → index-lkkeQEOt.js} +4 -4
  23. package/lib/{index-DeYAfvCA.js → index-qnmhJI4d.js} +27 -4
  24. package/lib/snippets.js +7 -7
  25. package/lib/store.js +1 -1
  26. package/lib/theme.js +1 -1
  27. package/lib/types/common/index.d.ts +1 -1
  28. package/lib/types/sources/index.d.ts +1 -0
  29. package/lib/types.js +1 -1
  30. package/lib/{useSourceSelectionFormData-KsupxR2K.js → useSourceSelectionFormData-DmZnRueA.js} +2 -2
  31. package/lib/{useTransition-DfzjoAze.js → useTransition-BWC_F-Pl.js} +1 -1
  32. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.45](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.44...ui-kit-v0.0.45) (2025-06-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * re-use getConditionsBooleans function ([#188](https://github.com/odigos-io/ui-kit/issues/188)) ([e602132](https://github.com/odigos-io/ui-kit/commit/e60213239340354d44c4855abf8a39da44acdeee))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * initialize extend state with initialExtended prop in DataCard component ([#189](https://github.com/odigos-io/ui-kit/issues/189)) ([31604ca](https://github.com/odigos-io/ui-kit/commit/31604cabee2587c647354601fca37d3816a4807d))
14
+
15
+ ## [0.0.44](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.43...ui-kit-v0.0.44) (2025-06-19)
16
+
17
+
18
+ ### Features
19
+
20
+ * runtime override warning & indication ([#187](https://github.com/odigos-io/ui-kit/issues/187)) ([02e4f09](https://github.com/odigos-io/ui-kit/commit/02e4f09210bf755220e3d3cb4cf1890e1298ae9c))
21
+
3
22
  ## [0.0.43](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.42...ui-kit-v0.0.43) (2025-06-18)
4
23
 
5
24
 
@@ -1,14 +1,16 @@
1
- import { type FC } from 'react';
2
- import { StatusType, OtherStatus } from '@/types';
1
+ import { CSSProperties, type FC } from 'react';
2
+ import { StatusType, OtherStatus, type SVG } from '@/types';
3
3
  interface StatusProps {
4
4
  title?: string;
5
5
  subtitle?: string;
6
- size?: number;
7
- family?: 'primary' | 'secondary';
8
6
  status?: StatusType | OtherStatus.Loading;
7
+ forceIcon?: SVG;
9
8
  withIcon?: boolean;
10
9
  withBorder?: boolean;
11
10
  withBackground?: boolean;
11
+ width?: CSSProperties['width'];
12
+ size?: number;
13
+ family?: 'primary' | 'secondary';
12
14
  }
13
15
  declare const Status: FC<StatusProps>;
14
16
  export { Status, type StatusProps };
package/lib/components.js CHANGED
@@ -1,15 +1,15 @@
1
- import { B as Button } from './index-BHJkDHqL.js';
2
- export { a as AutocompleteInput, b as Badge, a1 as CenterThis, C as Checkbox, c as Code, d as ConditionDetails, D as DataCard, f as DataCardFieldTypes, e as DataCardFields, g as DataTab, h as Divider, i as DocsButton, j as Drawer, l as DrawerFooter, k as DrawerHeader, m as Dropdown, E as ExtendArrow, F as FadeLoader, n as FieldError, o as FieldLabel, a0 as FlexColumn, $ as FlexRow, H as Header, I as IconButton, p as IconGroup, q as IconTitleBadge, r as IconWrapped, s as IconsNav, t as ImageControlled, u as Input, v as InputList, w as InputTable, x as InteractiveTable, K as KeyValueInputsList, M as Modal, a4 as ModalBody, y as MonitorsCheckboxes, z as MonitorsIcons, N as NavigationButtons, G as NoDataFound, J as NotificationNote, a3 as Overlay, S as ScrollX, L as SectionTitle, O as Segment, P as SelectionButton, Q as SkeletonLoader, R as Status, U as Stepper, a5 as TableContainer, a6 as TableTitleWrap, a7 as TableWrap, V as Text, W as TextArea, X as Toggle, T as ToggleCodeComponent, Y as Tooltip, Z as TraceLoader, a2 as VerticalScroll, _ as WarningModal } from './index-BHJkDHqL.js';
3
- export { C as CancelWarning, D as DeleteWarning } from './index-JW9d8KBI.js';
1
+ import { B as Button } from './index-C4uhvIMP.js';
2
+ export { a as AutocompleteInput, b as Badge, a1 as CenterThis, C as Checkbox, c as Code, d as ConditionDetails, D as DataCard, f as DataCardFieldTypes, e as DataCardFields, g as DataTab, h as Divider, i as DocsButton, j as Drawer, l as DrawerFooter, k as DrawerHeader, m as Dropdown, E as ExtendArrow, F as FadeLoader, n as FieldError, o as FieldLabel, a0 as FlexColumn, $ as FlexRow, H as Header, I as IconButton, p as IconGroup, q as IconTitleBadge, r as IconWrapped, s as IconsNav, t as ImageControlled, u as Input, v as InputList, w as InputTable, x as InteractiveTable, K as KeyValueInputsList, M as Modal, a4 as ModalBody, y as MonitorsCheckboxes, z as MonitorsIcons, N as NavigationButtons, G as NoDataFound, J as NotificationNote, a3 as Overlay, S as ScrollX, L as SectionTitle, O as Segment, P as SelectionButton, Q as SkeletonLoader, R as Status, U as Stepper, a5 as TableContainer, a6 as TableTitleWrap, a7 as TableWrap, V as Text, W as TextArea, X as Toggle, T as ToggleCodeComponent, Y as Tooltip, Z as TraceLoader, a2 as VerticalScroll, _ as WarningModal } from './index-C4uhvIMP.js';
3
+ export { C as CancelWarning, D as DeleteWarning } from './index-CnbEaeQS.js';
4
4
  import React, { Component, createElement, createContext } from 'react';
5
- import { T as Theme } from './index-CFcAM49k.js';
5
+ import { T as Theme } from './index-BD7meETN.js';
6
6
  import './types.js';
7
- import './index-DJfTCJxF.js';
8
- import './index-DeYAfvCA.js';
7
+ import './index-CY3kjYr3.js';
8
+ import './index-qnmhJI4d.js';
9
9
  import 'styled-components';
10
- import './index-BjrdHhNI.js';
10
+ import './index-DZWbhK14.js';
11
11
  import './index-BV85P9UP.js';
12
- import './useTransition-DfzjoAze.js';
12
+ import './useTransition-BWC_F-Pl.js';
13
13
  import 'react-dom';
14
14
 
15
15
  const ErrorBoundaryContext = createContext(null);
@@ -88,6 +88,10 @@ export declare const DISPLAY_TITLES: {
88
88
  TO_MODIFY_OTEL_DATA: string;
89
89
  QUICK_BACK_TO_SUMMARY: string;
90
90
  GO_TO_SUMMARY: string;
91
+ OVERIDE: string;
92
+ OVERIDDEN: string;
93
+ OVERRIDE_RUNTIME_DETAILS: string;
94
+ OVERRIDE_RUNTIME_WARNING: string;
91
95
  };
92
96
  export declare const BUTTON_TEXTS: {
93
97
  ADD: string;
package/lib/constants.js CHANGED
@@ -1,4 +1,4 @@
1
- export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, k as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, l 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-CFcAM49k.js';
1
+ export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, k as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, l 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-BD7meETN.js';
2
2
  export { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
3
3
  import 'react';
4
4
  import './types.js';
package/lib/containers.js CHANGED
@@ -1,22 +1,22 @@
1
1
  import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, memo, useContext, createContext, useCallback, useLayoutEffect, Fragment } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
- import { l as DISPLAY_TITLES, T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, B as BUTTON_TEXTS, c as useEntityStore, A as ACTION_OPTIONS, m as getActionIcon, f as useModalStore, F as FORM_ALERTS, d as useFilterStore, M as MONITORS_OPTIONS, $ as styleInject, i as useSelectedStore, e as useInstrumentStore, o as getInstrumentationRuleIcon, a as useDataStreamStore, n as getEntityId, S as STORAGE_KEYS, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-CFcAM49k.js';
3
+ import { l as DISPLAY_TITLES, T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, B as BUTTON_TEXTS, c as useEntityStore, A as ACTION_OPTIONS, m as getActionIcon, f as useModalStore, F as FORM_ALERTS, d as useFilterStore, M as MONITORS_OPTIONS, $ as styleInject, i as useSelectedStore, e as useInstrumentStore, o as getInstrumentationRuleIcon, a as useDataStreamStore, n as getEntityId, S as STORAGE_KEYS, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-BD7meETN.js';
4
4
  import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, SignalType, HeadersCollectionKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind } from './types.js';
5
- import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-BHJkDHqL.js';
5
+ import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-C4uhvIMP.js';
6
6
  import { i as isEmpty, s as safeJsonParse } from './index-BV85P9UP.js';
7
- import { C as CheckCircledIcon, O as OdigosLogo } from './index-BjrdHhNI.js';
8
- import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index--yr-0Yb_.js';
9
- import { u as useActionFormData, a as useClickNode, e as useSessionStorage, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-KsupxR2K.js';
10
- import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-DfzjoAze.js';
11
- import { E as EditIcon, T as TrashIcon, S as SearchIcon, P as PlusIcon$1, g as CheckIcon, A as ArrowIcon, a as CopyIcon, h as CrossIcon } from './index-DJfTCJxF.js';
12
- import { D as DeleteWarning, C as CancelWarning } from './index-JW9d8KBI.js';
13
- import { m as mapConditions, a as getStatusIcon, c as capitalizeFirstLetter } from './index-DeYAfvCA.js';
14
- import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, w as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, t as getYamlFieldsForDestination, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, u as isOverTime } from './index-DeWFbFU-.js';
7
+ import { C as CheckCircledIcon, O as OdigosLogo } from './index-DZWbhK14.js';
8
+ import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-BL1s2-bo.js';
9
+ import { u as useActionFormData, a as useClickNode, e as useSessionStorage, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-DmZnRueA.js';
10
+ import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-BWC_F-Pl.js';
11
+ import { E as EditIcon, T as TrashIcon, S as SearchIcon, P as PlusIcon$1, h as CheckIcon, A as ArrowIcon, a as CopyIcon, i as CrossIcon } from './index-CY3kjYr3.js';
12
+ import { D as DeleteWarning, C as CancelWarning } from './index-CnbEaeQS.js';
13
+ import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-qnmhJI4d.js';
14
+ import { f as filterActions, m as getEntityLabel, l as getEntityIcon, v as sleep$1, o as getPlatformIcon, p as getPlatformLabel, h as formatBytes, j as getContainersIcons, q as getValueForRange, k as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, u as mapDestinationFieldsForDisplay, c as compareCondition, s as getYamlFieldsForDestination, d as deepClone, n as getMetricForEntity, r as getWorkloadId, i as getContainersInstrumentedCount, t as isOverTime } from './index-BSjQAYib.js';
15
15
  import { createPortal } from 'react-dom';
16
16
  import { m as mapExportedSignals } from './index-BlZKWuxe.js';
17
- import { N as NoteBackToSummary, E as EditButton } from './index-BDivLGyc.js';
17
+ import { N as NoteBackToSummary, E as EditButton } from './index-lkkeQEOt.js';
18
18
  import { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
19
- import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-OD60p3iQ.js';
19
+ import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-C3BU6Xe-.js';
20
20
 
21
21
  const buildCard$3 = (action) => {
22
22
  const { type, spec: { actionName, notes, signals, disabled, collectContainerAttributes, collectReplicaSetAttributes, collectWorkloadId, collectClusterId, labelsAttributes, annotationsAttributes, clusterAttributes, attributeNamesToDelete, renames, piiCategories, fallbackSamplingRatio, samplingPercentage, endpointsFilters, servicesNameFilters, attributeFilters, }, } = action;
@@ -852,16 +852,13 @@ const buildSpecCell$1 = (action) => {
852
852
  };
853
853
 
854
854
  const TableCellConditions = ({ conditions, id }) => {
855
- const errors = useMemo(() => conditions?.filter(({ status }) => status === StatusType.Error) || [], [conditions]);
856
- const warnings = useMemo(() => conditions?.filter(({ status }) => status === StatusType.Warning) || [], [conditions]);
857
- const disableds = useMemo(() => conditions?.filter(({ status }) => status === OtherStatus.Disabled) || [], [conditions]);
858
- const isLoading = useMemo(() => !conditions?.length || !!conditions?.find(({ status }) => status === OtherStatus.Loading), [conditions]);
855
+ const { errors, warnings, disableds, hasLoadings } = useMemo(() => getConditionsBooleans(conditions), [conditions]);
859
856
  const conditionsToShow = errors.length > 0 ? errors : warnings.length > 0 ? warnings : disableds.length > 0 ? disableds : [];
860
857
  if (conditionsToShow.length > 0) {
861
858
  return (React.createElement("div", { style: { lineHeight: 1 } },
862
859
  React.createElement(ConditionsStatuses, { conditions: conditionsToShow, id: id })));
863
860
  }
864
- const elseStatus = isLoading ? OtherStatus.Loading : StatusType.Success;
861
+ const elseStatus = hasLoadings ? OtherStatus.Loading : StatusType.Success;
865
862
  return (React.createElement("div", { style: { lineHeight: 1 } },
866
863
  React.createElement(Status, { status: elseStatus, title: elseStatus, withBorder: true, withIcon: true })));
867
864
  };
@@ -7028,6 +7025,7 @@ function XYDrag({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragSto
7028
7025
  let dragStarted = false;
7029
7026
  let d3Selection = null;
7030
7027
  let abortDrag = false; // prevents unintentional dragging on multitouch
7028
+ let nodePositionsChanged = false;
7031
7029
  // public functions
7032
7030
  function update({ noDragClassName, handleSelector, domNode, isSelectable, nodeId, nodeClickDistance = 0, }) {
7033
7031
  d3Selection = select(domNode);
@@ -7084,6 +7082,7 @@ function XYDrag({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragSto
7084
7082
  dragItem.position = position;
7085
7083
  dragItem.internals.positionAbsolute = positionAbsolute;
7086
7084
  }
7085
+ nodePositionsChanged = nodePositionsChanged || hasChange;
7087
7086
  if (!hasChange) {
7088
7087
  return;
7089
7088
  }
@@ -7155,6 +7154,7 @@ function XYDrag({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragSto
7155
7154
  const { domNode, nodeDragThreshold, transform, snapGrid, snapToGrid } = getStoreItems();
7156
7155
  containerBounds = domNode?.getBoundingClientRect() || null;
7157
7156
  abortDrag = false;
7157
+ nodePositionsChanged = false;
7158
7158
  if (nodeDragThreshold === 0) {
7159
7159
  startDrag(event);
7160
7160
  }
@@ -7201,7 +7201,10 @@ function XYDrag({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragSto
7201
7201
  cancelAnimationFrame(autoPanId);
7202
7202
  if (dragItems.size > 0) {
7203
7203
  const { nodeLookup, updateNodePositions, onNodeDragStop, onSelectionDragStop } = getStoreItems();
7204
- updateNodePositions(dragItems, false);
7204
+ if (nodePositionsChanged) {
7205
+ updateNodePositions(dragItems, false);
7206
+ nodePositionsChanged = false;
7207
+ }
7205
7208
  if (onDragStop || onNodeDragStop || (!nodeId && onSelectionDragStop)) {
7206
7209
  const [currentNode, currentNodes] = getEventHandlerParams({
7207
7210
  nodeId,
@@ -16332,19 +16335,12 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource, resta
16332
16335
  return found;
16333
16336
  }, [isOpen, drawerEntityId, sourcesByStream]);
16334
16337
  const containersData = useMemo(() => {
16335
- const isDisabled = thisItem?.conditions?.some(({ status }) => status === OtherStatus.Disabled);
16338
+ const mappedContainers = thisItem?.containers?.map((container) => ({
16339
+ type: DataCardFieldTypes.SourceContainer,
16340
+ value: JSON.stringify(container),
16341
+ callback: async (payload) => await updateSource(drawerEntityId, payload),
16342
+ })) || [];
16336
16343
  const runtimeCondition = thisItem?.conditions?.find(({ type }) => type === 'RuntimeDetection');
16337
- const mappedContainers = thisItem?.containers?.map((container) => {
16338
- const value = {
16339
- ...container,
16340
- isDisabled,
16341
- };
16342
- return {
16343
- type: DataCardFieldTypes.SourceContainer,
16344
- value: JSON.stringify(value),
16345
- callback: async (payload) => await updateSource(drawerEntityId, payload),
16346
- };
16347
- }) || [];
16348
16344
  return {
16349
16345
  description: runtimeCondition?.message,
16350
16346
  isLoading: runtimeCondition?.status === OtherStatus.Loading,
@@ -1,8 +1,12 @@
1
1
  import { StatusType, type Condition } from '@/types';
2
2
  export declare const getConditionsBooleans: (conditions: Condition[]) => {
3
+ errors: Condition[];
3
4
  hasErrors: boolean;
5
+ warnings: Condition[];
4
6
  hasWarnings: boolean;
7
+ disableds: Condition[];
5
8
  hasDisableds: boolean;
9
+ loadings: Condition[];
6
10
  hasLoadings: boolean;
7
11
  priorotizedStatus: StatusType | undefined;
8
12
  };
package/lib/functions.js CHANGED
@@ -1,13 +1,13 @@
1
- export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getStatusIcon, i as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, b as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-DeYAfvCA.js';
2
- export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as getYamlFieldsForDestination, u as isOverTime, v as mapDestinationFieldsForDisplay, w as sleep } from './index-DeWFbFU-.js';
3
- export { m as getActionIcon, n as getEntityId, o as getInstrumentationRuleIcon, p as getProgrammingLanguageIcon } from './index-CFcAM49k.js';
1
+ export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, d as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, e as splitCamelString } from './index-qnmhJI4d.js';
2
+ export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, j as getContainersIcons, i as getContainersInstrumentedCount, k as getDestinationIcon, l as getEntityIcon, m as getEntityLabel, n as getMetricForEntity, o as getPlatformIcon, p as getPlatformLabel, q as getValueForRange, r as getWorkloadId, s as getYamlFieldsForDestination, t as isOverTime, u as mapDestinationFieldsForDisplay, v as sleep } from './index-BSjQAYib.js';
3
+ export { m as getActionIcon, n as getEntityId, o as getInstrumentationRuleIcon, p as getProgrammingLanguageIcon } from './index-BD7meETN.js';
4
4
  export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-BlZKWuxe.js';
5
5
  import { EntityTypes } from './types.js';
6
6
  export { i as isEmpty, s as safeJsonParse } from './index-BV85P9UP.js';
7
7
  import 'react';
8
8
  import 'styled-components';
9
- import './index-BjrdHhNI.js';
10
- import './index-OD60p3iQ.js';
9
+ import './index-DZWbhK14.js';
10
+ import './index-C3BU6Xe-.js';
11
11
 
12
12
  const cleanObjectEmptyStringsValues = (obj) => {
13
13
  const cleanArray = (arr) => arr.filter((item) => {
package/lib/hooks.js CHANGED
@@ -1,7 +1,7 @@
1
- export { u as useActionFormData, a as useClickNode, b as useClickNotification, c as useDataStreamFormData, d as useDestinationFormData, e as useSessionStorage, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-KsupxR2K.js';
2
- export { u as useContainerSize, a as useCopy, b as useGenericForm, c as useInstrumentationRuleFormData, d as useKeyDown, e as useOnClickOutside, f as useTimeAgo, g as useTransition } from './useTransition-DfzjoAze.js';
1
+ export { u as useActionFormData, a as useClickNode, b as useClickNotification, c as useDataStreamFormData, d as useDestinationFormData, e as useSessionStorage, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-DmZnRueA.js';
2
+ export { u as useContainerSize, a as useCopy, b as useGenericForm, c as useInstrumentationRuleFormData, d as useKeyDown, e as useOnClickOutside, f as useTimeAgo, g as useTransition } from './useTransition-BWC_F-Pl.js';
3
3
  import './types.js';
4
- import './index-CFcAM49k.js';
4
+ import './index-BD7meETN.js';
5
5
  import 'react';
6
6
  import 'styled-components';
7
7
  import './index-BV85P9UP.js';
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react-webpack5';
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 EditedIcon: SVG;
@@ -4,6 +4,7 @@ export * from './code-icon/index';
4
4
  export * from './command-icon/index';
5
5
  export * from './copy-icon/index';
6
6
  export * from './edit-icon/index';
7
+ export * from './edited-icon/index';
7
8
  export * from './extend-arrow-icon/index';
8
9
  export * from './filter-icon/index';
9
10
  export * from './folder-icon/index';
package/lib/icons.js CHANGED
@@ -1,10 +1,10 @@
1
- import { T as Theme } from './index-CFcAM49k.js';
2
- export { q as AddClusterInfoIcon, x as CPlusPlusLogo, y as CSharpLogo, C as CodeAttributesIcon, r as DeleteAttributeIcon, z as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, t as ImageErrorIcon, J as JavaLogo, K as K8sLogo, v as KafkaLogo, N as MysqlLogo, O as NginxLogo, Q as NodejsLogo, w as PayloadCollectionIcon, U as PhpLogo, P as PiiMaskingIcon, V as PostgresLogo, W as PythonLogo, X as RedisLogo, R as RenameAttributeIcon, Y as RubyLogo, Z as RustLogo, s as SamplerIcon, _ as SwiftLogo } from './index-CFcAM49k.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-BjrdHhNI.js';
4
- export { C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RetryIcon, S as SlackLogo, T as TerminalIcon } from './index--yr-0Yb_.js';
5
- export { A as ArrowIcon, g as CheckIcon, C as CodeIcon, a as CopyIcon, h as CrossIcon, E as EditIcon, b as ExtendArrowIcon, e as EyeClosedIcon, f as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, c as NotebookIcon, P as PlusIcon, S as SearchIcon, d as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-DJfTCJxF.js';
1
+ import { T as Theme } from './index-BD7meETN.js';
2
+ export { q as AddClusterInfoIcon, x as CPlusPlusLogo, y as CSharpLogo, C as CodeAttributesIcon, r as DeleteAttributeIcon, z as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, t as ImageErrorIcon, J as JavaLogo, K as K8sLogo, v as KafkaLogo, N as MysqlLogo, O as NginxLogo, Q as NodejsLogo, w as PayloadCollectionIcon, U as PhpLogo, P as PiiMaskingIcon, V as PostgresLogo, W as PythonLogo, X as RedisLogo, R as RenameAttributeIcon, Y as RubyLogo, Z as RustLogo, s as SamplerIcon, _ as SwiftLogo } from './index-BD7meETN.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-DZWbhK14.js';
4
+ export { C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RetryIcon, S as SlackLogo, T as TerminalIcon } from './index-BL1s2-bo.js';
5
+ export { A as ArrowIcon, 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-CY3kjYr3.js';
6
6
  import React from 'react';
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-OD60p3iQ.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-C3BU6Xe-.js';
8
8
  import './types.js';
9
9
  import 'styled-components';
10
10
 
@@ -842,11 +842,6 @@ const LANGUAGE_OPTIONS = [
842
842
  value: DISPLAY_LANGUAGES[ProgrammingLanguages.Python],
843
843
  icon: getProgrammingLanguageIcon(ProgrammingLanguages.Python),
844
844
  },
845
- {
846
- id: ProgrammingLanguages.DotNet,
847
- value: DISPLAY_LANGUAGES[ProgrammingLanguages.DotNet],
848
- icon: getProgrammingLanguageIcon(ProgrammingLanguages.DotNet),
849
- },
850
845
  {
851
846
  id: ProgrammingLanguages.Php,
852
847
  value: DISPLAY_LANGUAGES[ProgrammingLanguages.Php],
@@ -857,6 +852,36 @@ const LANGUAGE_OPTIONS = [
857
852
  value: DISPLAY_LANGUAGES[ProgrammingLanguages.Ruby],
858
853
  icon: getProgrammingLanguageIcon(ProgrammingLanguages.Ruby),
859
854
  },
855
+ {
856
+ id: ProgrammingLanguages.Rust,
857
+ value: DISPLAY_LANGUAGES[ProgrammingLanguages.Rust],
858
+ icon: getProgrammingLanguageIcon(ProgrammingLanguages.Rust),
859
+ },
860
+ {
861
+ id: ProgrammingLanguages.DotNet,
862
+ value: DISPLAY_LANGUAGES[ProgrammingLanguages.DotNet],
863
+ icon: getProgrammingLanguageIcon(ProgrammingLanguages.DotNet),
864
+ },
865
+ {
866
+ id: ProgrammingLanguages.CSharp,
867
+ value: DISPLAY_LANGUAGES[ProgrammingLanguages.CSharp],
868
+ icon: getProgrammingLanguageIcon(ProgrammingLanguages.CSharp),
869
+ },
870
+ {
871
+ id: ProgrammingLanguages.CPlusPlus,
872
+ value: DISPLAY_LANGUAGES[ProgrammingLanguages.CPlusPlus],
873
+ icon: getProgrammingLanguageIcon(ProgrammingLanguages.CPlusPlus),
874
+ },
875
+ {
876
+ id: ProgrammingLanguages.Swift,
877
+ value: DISPLAY_LANGUAGES[ProgrammingLanguages.Swift],
878
+ icon: getProgrammingLanguageIcon(ProgrammingLanguages.Swift),
879
+ },
880
+ {
881
+ id: ProgrammingLanguages.Elixir,
882
+ value: DISPLAY_LANGUAGES[ProgrammingLanguages.Elixir],
883
+ icon: getProgrammingLanguageIcon(ProgrammingLanguages.Elixir),
884
+ },
860
885
  ];
861
886
 
862
887
  const DEFAULT_DATA_STREAM_NAME = 'default';
@@ -949,6 +974,10 @@ const DISPLAY_TITLES = {
949
974
  TO_MODIFY_OTEL_DATA: 'To modify OpenTelemetry data',
950
975
  QUICK_BACK_TO_SUMMARY: 'When you finish editing you can quickly go back to the summary.',
951
976
  GO_TO_SUMMARY: 'Go to summary',
977
+ OVERIDE: 'Override',
978
+ OVERIDDEN: 'Overridden',
979
+ OVERRIDE_RUNTIME_DETAILS: 'Override Runtime Details',
980
+ OVERRIDE_RUNTIME_WARNING: 'This is an advanced configuration. If the selected programming language is incorrect, data collection may be incomplete or may not occur at all.',
952
981
  };
953
982
  const BUTTON_TEXTS = {
954
983
  ADD: 'Add',
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-CFcAM49k.js';
2
+ import { T as Theme } from './index-BD7meETN.js';
3
3
 
4
4
  const OdigosLogoText = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,9 +1,9 @@
1
- import { StatusType, OtherStatus, DestinationTypes, EntityTypes, PlatformType } from './types.js';
2
- import { k as DEFAULT_DATA_STREAM_NAME, p as getProgrammingLanguageIcon, v as KafkaLogo, K as K8sLogo } from './index-CFcAM49k.js';
1
+ import { StatusType, DestinationTypes, EntityTypes, PlatformType } from './types.js';
2
+ import { k as DEFAULT_DATA_STREAM_NAME, p as getProgrammingLanguageIcon, v as KafkaLogo, K as K8sLogo } from './index-BD7meETN.js';
3
3
  import 'react';
4
4
  import 'styled-components';
5
- import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-OD60p3iQ.js';
6
- import { O as OdigosLogo } from './index-BjrdHhNI.js';
5
+ import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-C3BU6Xe-.js';
6
+ import { O as OdigosLogo } from './index-DZWbhK14.js';
7
7
  import { s as safeJsonParse } from './index-BV85P9UP.js';
8
8
 
9
9
  const compareCondition = (renderCondition, fields) => {
@@ -95,21 +95,6 @@ const formatBytes = (bytes) => {
95
95
  return `${value.toFixed(i === 0 ? 0 : 1)} ${sizes[i]}`;
96
96
  };
97
97
 
98
- const getConditionsBooleans = (conditions) => {
99
- const hasErrors = !!conditions?.find(({ status }) => status === StatusType.Error);
100
- const hasWarnings = !!conditions?.find(({ status }) => status === StatusType.Warning);
101
- const hasDisableds = !!conditions?.find(({ status }) => status === OtherStatus.Disabled);
102
- const hasLoadings = !!conditions?.find(({ status }) => status === OtherStatus.Loading);
103
- const priorotizedStatus = hasErrors ? StatusType.Error : hasWarnings ? StatusType.Warning : hasDisableds ? StatusType.Info : undefined;
104
- return {
105
- hasErrors,
106
- hasWarnings,
107
- hasDisableds,
108
- hasLoadings,
109
- priorotizedStatus,
110
- };
111
- };
112
-
113
98
  const getContainersInstrumentedCount = (containers) => {
114
99
  const instrumentedCount = containers?.reduce((prev, curr) => (curr.instrumented ? prev + 1 : prev), 0);
115
100
  const totalCount = containers?.length || 0;
@@ -330,4 +315,4 @@ const mapDestinationFieldsForDisplay = (destination, yamlFields) => {
330
315
 
331
316
  const sleep = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
332
317
 
333
- export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, deepClone as d, filterSources as e, filterActions as f, filterSourcesByStream as g, formatBytes as h, getConditionsBooleans as i, getContainersInstrumentedCount as j, getContainersIcons as k, getDestinationIcon as l, getEntityIcon as m, getEntityLabel as n, getMetricForEntity as o, getPlatformIcon as p, getPlatformLabel as q, getValueForRange as r, getWorkloadId as s, getYamlFieldsForDestination as t, isOverTime as u, mapDestinationFieldsForDisplay as v, sleep as w };
318
+ export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, deepClone as d, filterSources as e, filterActions as f, filterSourcesByStream as g, formatBytes as h, getContainersInstrumentedCount as i, getContainersIcons as j, getDestinationIcon as k, getEntityIcon as l, getEntityLabel as m, getMetricForEntity as n, getPlatformIcon as o, getPlatformLabel as p, getValueForRange as q, getWorkloadId as r, getYamlFieldsForDestination as s, isOverTime as t, mapDestinationFieldsForDisplay as u, sleep as v };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-CFcAM49k.js';
2
+ import { T as Theme } from './index-BD7meETN.js';
3
3
 
4
4
  const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,13 +1,13 @@
1
1
  import React, { useState, useEffect, useRef, forwardRef, createElement, useCallback, useMemo, Fragment } from 'react';
2
- import { T as Theme, t as ImageErrorIcon, M as MONITORS_OPTIONS, g as useNotificationStore, L as LANGUAGE_OPTIONS, l as DISPLAY_TITLES, F as FORM_ALERTS, p as getProgrammingLanguageIcon, D as DISPLAY_LANGUAGES, B as BUTTON_TEXTS } from './index-CFcAM49k.js';
2
+ import { T as Theme, t as ImageErrorIcon, M as MONITORS_OPTIONS, g as useNotificationStore, l as DISPLAY_TITLES, L as LANGUAGE_OPTIONS, F as FORM_ALERTS, p as getProgrammingLanguageIcon, D as DISPLAY_LANGUAGES, B as BUTTON_TEXTS } from './index-BD7meETN.js';
3
3
  import { StatusType, OtherStatus, ProgrammingLanguages, SortDirection, IntrumentationStatus, InputTypes, FieldTypes } from './types.js';
4
- import { M as MinusIcon, g as CheckIcon, L as ListIcon, C as CodeIcon, b as ExtendArrowIcon, E as EditIcon, h as CrossIcon, T as TrashIcon, d as SortArrowsIcon, a as CopyIcon, c as NotebookIcon, X as XIcon, e as EyeClosedIcon, f as EyeOpenIcon, N as NoDataIcon, S as SearchIcon, P as PlusIcon, A as ArrowIcon } from './index-DJfTCJxF.js';
5
- import { a as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, c as capitalizeFirstLetter, g as getMonitorIcon, i as isValidVersion, b as parseJsonStringToPrettyString, d as splitCamelString, p as parseBooleanFromString, n as numbersOnly } from './index-DeYAfvCA.js';
4
+ import { M as MinusIcon, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, E as EditIcon, i as CrossIcon, T as TrashIcon, e as SortArrowsIcon, b as EditedIcon, a as CopyIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, S as SearchIcon, P as PlusIcon, A as ArrowIcon } from './index-CY3kjYr3.js';
5
+ 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 isValidVersion, d as parseJsonStringToPrettyString, e as splitCamelString, p as parseBooleanFromString, n as numbersOnly } from './index-qnmhJI4d.js';
6
6
  import styled, { css } from 'styled-components';
7
7
  import { s as safeJsonParse, i as isEmpty } from './index-BV85P9UP.js';
8
- import { b as useGenericForm, e as useOnClickOutside, d as useKeyDown, u as useContainerSize, a as useCopy, g as useTransition } from './useTransition-DfzjoAze.js';
8
+ import { b as useGenericForm, e as useOnClickOutside, d as useKeyDown, u as useContainerSize, a as useCopy, g as useTransition } from './useTransition-BWC_F-Pl.js';
9
9
  import ReactDOM from 'react-dom';
10
- import { I as InfoIcon } from './index-BjrdHhNI.js';
10
+ import { I as InfoIcon } from './index-DZWbhK14.js';
11
11
 
12
12
  const TextWrapper$2 = styled.div `
13
13
  color: ${({ $color, theme }) => $color || theme.text.secondary};
@@ -3997,19 +3997,12 @@ const IconWrap$1 = styled(FlexColumn) `
3997
3997
  const ConditionDetails = ({ conditions: c, headerLabelError = 'Something Failed', headerLabelWarning = "Something isn't right", headerLabelSuccess = 'Everything Successful', }) => {
3998
3998
  const theme = Theme.useTheme();
3999
3999
  const [extend, setExtend] = useState(false);
4000
- const conditions = mapConditions(c);
4001
- const errors = useMemo(() => conditions.filter(({ status }) => status === StatusType.Error), [conditions]);
4002
- const hasErrors = !!errors.length;
4003
- const warnings = useMemo(() => conditions.filter(({ status }) => status === StatusType.Warning), [conditions]);
4004
- const hasWarnings = !!warnings.length;
4005
- const disableds = useMemo(() => conditions.filter(({ status }) => status === OtherStatus.Disabled), [conditions]);
4006
- const hasDisableds = !!disableds.length;
4007
- const loadings = useMemo(() => conditions.filter(({ status }) => status === OtherStatus.Loading), [conditions]);
4008
- const hasLoadings = !!loadings.length;
4009
- const loading = (!conditions.length || hasLoadings) && !hasErrors && !hasWarnings && !hasDisableds;
4000
+ const conditions = useMemo(() => mapConditions(c), [c]);
4001
+ const { errors, hasErrors, warnings, hasWarnings, hasDisableds, hasLoadings } = useMemo(() => getConditionsBooleans(conditions), [conditions]);
4010
4002
  useEffect(() => {
4011
4003
  setExtend(hasErrors || hasWarnings || hasDisableds || hasLoadings);
4012
4004
  }, [hasErrors, hasWarnings, hasDisableds, hasLoadings]);
4005
+ const loading = (!conditions.length || hasLoadings) && !hasErrors && !hasWarnings && !hasDisableds;
4013
4006
  const overallStatus = hasErrors ? StatusType.Error : hasWarnings ? StatusType.Warning : hasDisableds ? StatusType.Info : StatusType.Success;
4014
4007
  const HeaderIcon = getStatusIcon(overallStatus, theme);
4015
4008
  const headerText = hasErrors ? headerLabelError : hasWarnings ? headerLabelWarning : hasDisableds ? headerLabelWarning : loading ? 'Loading...' : headerLabelSuccess;
@@ -4059,7 +4052,7 @@ const Container$p = styled.div `
4059
4052
  align-items: center;
4060
4053
  gap: ${({ $size }) => $size / 3}px;
4061
4054
  padding: ${({ $size, $withBorder, $withBackground }) => ($withBorder || $withBackground ? `${$size / ($withBorder ? 3 : 2)}px ${$size / ($withBorder ? 1.5 : 1)}px` : '0')};
4062
- width: fit-content;
4055
+ width: ${({ $width }) => $width || 'fit-content'};
4063
4056
  border-radius: 360px;
4064
4057
  border: ${({ $withBorder, $status, theme }) => ($withBorder ? `1px solid ${theme.text[$status] + Theme.opacity.hex['050']}` : 'none')};
4065
4058
  background: ${({ $withBackground, $status, theme }) => ($withBackground ? `linear-gradient(90deg, transparent 0%, ${theme.text[$status] + Theme.opacity.hex['030']} 100%)` : 'transparent')};
@@ -4075,11 +4068,15 @@ const TextWrapper$1 = styled.div `
4075
4068
  const TextNoWrap = styled(Text) `
4076
4069
  text-wrap: nowrap;
4077
4070
  `;
4078
- const Status = ({ title, subtitle, size = 12, family = 'secondary', status = StatusType.Default, withIcon, withBorder, withBackground }) => {
4071
+ const Status = ({ title, subtitle, status = StatusType.Default, forceIcon: ForceIcon, withIcon, withBorder, withBackground, width, size = 12, family = 'secondary' }) => {
4079
4072
  const theme = Theme.useTheme();
4080
4073
  const statusType = status === OtherStatus.Loading ? StatusType.Info : status;
4081
- const StatusIcon = status === OtherStatus.Loading ? () => React.createElement(FadeLoader, { scale: 0.8 }) : () => getStatusIcon(statusType, theme)({ size: size + 2 });
4082
- return (React.createElement(Container$p, { "$size": size, "$status": statusType, "$withIcon": withIcon, "$withBorder": withBorder, "$withBackground": withBackground },
4074
+ const StatusIcon = ForceIcon
4075
+ ? () => React.createElement(ForceIcon, { size: size + 2, fill: theme.text[statusType] })
4076
+ : status === OtherStatus.Loading
4077
+ ? () => React.createElement(FadeLoader, { scale: 0.8 })
4078
+ : () => getStatusIcon(statusType, theme)({ size: size + 2 });
4079
+ return (React.createElement(Container$p, { "$status": statusType, "$width": width, "$size": size, "$withIcon": withIcon, "$withBorder": withBorder, "$withBackground": withBackground },
4083
4080
  withIcon && (React.createElement(IconWrapper$4, null,
4084
4081
  React.createElement(StatusIcon, null))),
4085
4082
  (!!title || !!subtitle) && (React.createElement(TextWrapper$1, null,
@@ -4433,10 +4430,12 @@ const OverrideRuntime = ({ defaultLanguage = ProgrammingLanguages.Unknown, defau
4433
4430
  useOnClickOutside(popupRef, onClose);
4434
4431
  useKeyDown({ key: 'Enter', active: isOpen }, onSave);
4435
4432
  return (React.createElement(Relative, null,
4436
- React.createElement(IconButton, { tooltip: 'Override Runtime Details', size: 32, onClick: onOpen },
4433
+ React.createElement(IconButton, { tooltip: DISPLAY_TITLES.OVERRIDE_RUNTIME_DETAILS, size: 32, onClick: onOpen },
4437
4434
  React.createElement(EditIcon, null)),
4438
4435
  isOpen && (React.createElement(Form, { ref: popupRef },
4439
- React.createElement(Text, { size: 14, style: { lineHeight: '20px', display: 'flex' } }, "Override Runtime Details:"),
4436
+ React.createElement(Text, { size: 14, style: { lineHeight: '20px', display: 'flex' } },
4437
+ DISPLAY_TITLES.OVERRIDE_RUNTIME_DETAILS,
4438
+ ":"),
4440
4439
  React.createElement(PopoverFormWrapper, null,
4441
4440
  React.createElement(Dropdown, { title: DISPLAY_TITLES.LANGUAGE, options: LANGUAGE_OPTIONS, value: LANGUAGE_OPTIONS.find((opt) => opt.id === formData.language), onSelect: (opt) => handleFormChange('language', opt.id), required: true }),
4442
4441
  React.createElement(Input, { title: DISPLAY_TITLES.RUNTIME_VERSION, placeholder: DISPLAY_TITLES.VERSION_PLACEHOLDER, value: formData.version, onChange: (e) => handleFormChange('version', e.target.value), required: false }),
@@ -4446,7 +4445,8 @@ const OverrideRuntime = ({ defaultLanguage = ProgrammingLanguages.Unknown, defau
4446
4445
  React.createElement(PopoverFormButton, { variant: 'primary', onClick: onSave },
4447
4446
  React.createElement(CheckIcon, { fill: theme.text.primary })),
4448
4447
  React.createElement(PopoverFormButton, { variant: 'tertiary', onClick: onDelete },
4449
- React.createElement(TrashIcon, null))))))));
4448
+ React.createElement(TrashIcon, null)))),
4449
+ React.createElement(NotificationNote, { type: StatusType.Warning, message: DISPLAY_TITLES.OVERRIDE_RUNTIME_WARNING })))));
4450
4450
  };
4451
4451
 
4452
4452
  const Tr = styled.tr `
@@ -4739,30 +4739,24 @@ const RenderValue = ({ type, value, callback }) => {
4739
4739
  } }));
4740
4740
  }
4741
4741
  case DataCardFieldTypes.SourceContainer: {
4742
- const { containerName, language, runtimeVersion, instrumented, instrumentationMessage, otelDistroName, isDisabled } = safeJsonParse(value, {
4742
+ const { containerName, language, runtimeVersion, overriden, instrumented, instrumentationMessage, otelDistroName } = safeJsonParse(value, {
4743
4743
  containerName: '',
4744
4744
  language: ProgrammingLanguages.Unknown,
4745
4745
  runtimeVersion: '',
4746
+ overriden: false,
4746
4747
  instrumented: false,
4747
4748
  instrumentationMessage: '',
4748
4749
  otelDistroName: '',
4749
- isDisabled: false,
4750
4750
  });
4751
- const awaitingInstrumentation = !instrumented && !instrumentationMessage;
4752
- const statusType = isDisabled ? StatusType.Info : instrumented ? StatusType.Success : awaitingInstrumentation ? StatusType.Warning : StatusType.Error;
4753
- const statusTitle = isDisabled
4754
- ? IntrumentationStatus.NOT_INSTRUMENTED
4755
- : instrumented
4756
- ? IntrumentationStatus.INSTRUMNETED
4757
- : awaitingInstrumentation
4758
- ? IntrumentationStatus.INSTRUMENTING
4759
- : IntrumentationStatus.UNINSTRUMENTED;
4751
+ const instruStatusType = instrumented ? StatusType.Success : !instrumentationMessage ? StatusType.Warning : StatusType.Info;
4752
+ const instruStatusTitle = instrumented ? IntrumentationStatus.INSTRUMENTED : !instrumentationMessage ? IntrumentationStatus.INSTRUMENTING : IntrumentationStatus.NOT_INSTRUMENTED;
4760
4753
  return (React.createElement(DataTab, { title: containerName, subTitle: `${language ? DISPLAY_LANGUAGES[language] : 'no runtime info'}` + (runtimeVersion ? ` • Runtime Version: ${runtimeVersion}` : ''), iconProps: { icon: getProgrammingLanguageIcon(language) }, extendableProps: {
4761
4754
  isExtended: !!instrumentationMessage,
4762
4755
  renderExtended: () => (React.createElement(AlignCenter, null,
4763
- React.createElement(Status, { status: StatusType.Info, title: splitCamelString(instrumentationMessage) }))),
4756
+ React.createElement(Text, { size: 12, family: 'secondary', color: theme.text.info }, splitCamelString(instrumentationMessage)))),
4764
4757
  }, renderActions: () => (React.createElement(React.Fragment, null,
4765
- React.createElement(Status, { status: statusType, title: statusTitle, subtitle: otelDistroName, withIcon: true, withBorder: true }),
4758
+ React.createElement(Status, { status: instruStatusType, title: instruStatusTitle, subtitle: otelDistroName, withIcon: true, withBorder: true }),
4759
+ overriden && React.createElement(Status, { status: StatusType.Default, forceIcon: EditedIcon, title: DISPLAY_TITLES.OVERIDDEN, withIcon: true, withBorder: true }),
4766
4760
  callback && React.createElement(OverrideRuntime, { defaultLanguage: language, defaultVersion: runtimeVersion, handleSave: (payload) => callback({ ...payload, containerName }) }))) }));
4767
4761
  }
4768
4762
  default: {
@@ -4805,8 +4799,8 @@ const ActionWrapper = styled(FlexRow) `
4805
4799
  margin-left: auto;
4806
4800
  gap: 8px;
4807
4801
  `;
4808
- const DataCard = ({ title = 'Details', titleBadge, description, action: Action, withExtend, data, children }) => {
4809
- const [extend, setExtend] = useState(false);
4802
+ const DataCard = ({ title = 'Details', titleBadge, description, action: Action, withExtend, initialExtended = false, data, children }) => {
4803
+ const [extend, setExtend] = useState(initialExtended);
4810
4804
  const [hovered, setHovered] = useState(false);
4811
4805
  return (React.createElement(CardContainer, { "$hovered": hovered },
4812
4806
  !!title || !!description || !!Action ? (React.createElement(Header$1, { "$clickable": withExtend || false, onClick: () => withExtend && setExtend((prev) => !prev), onMouseEnter: () => withExtend && setHovered(true), onMouseLeave: () => withExtend && setHovered(false) },
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-CFcAM49k.js';
2
+ import { T as Theme } from './index-BD7meETN.js';
3
3
 
4
4
  const ArrowIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -29,6 +29,13 @@ const EditIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
29
29
  React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M8 14C10.6787 11.8171 10.7261 16.2383 14 12.6667M2 13.997L3.81777 13.9999C4.07739 14.0003 4.2072 14.0005 4.32937 13.9712C4.43769 13.9452 4.54125 13.9022 4.63623 13.8438C4.74337 13.778 4.83516 13.6858 5.01874 13.5014L13.6676 4.81451C14.021 4.4596 14.1088 3.91087 13.8396 3.47722C13.5142 2.95298 13.0691 2.50221 12.5511 2.16754C12.136 1.8993 11.5908 1.95805 11.2417 2.30864L2.53993 11.0487C2.36296 11.2264 2.27447 11.3153 2.21029 11.4188C2.15338 11.5105 2.11072 11.6104 2.08378 11.7151C2.05341 11.8331 2.05031 11.9588 2.04411 12.2101L2 13.997Z' })));
30
30
  };
31
31
 
32
+ const EditedIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
33
+ const theme = Theme.useTheme();
34
+ const fill = f || theme.text.secondary;
35
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 12 12', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
36
+ React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10 7C10 8.40015 10 9.1002 9.7275 9.635C9.48785 10.1054 9.1054 10.4878 8.635 10.7275C8.1002 11 7.40015 11 6 11H5C3.59987 11 2.89981 11 2.36503 10.7275C1.89462 10.4878 1.51217 10.1054 1.27249 9.635C1 9.1002 1 8.40015 1 7V6C1 4.59987 1 3.8998 1.27249 3.36502C1.51217 2.89462 1.89462 2.51216 2.36503 2.27248C2.89981 2 3.59987 2 5 2M4.03078 6.75075C4.03511 6.5754 4.03728 6.4877 4.05848 6.4053C4.07728 6.33225 4.10705 6.26255 4.14677 6.1985C4.19156 6.1263 4.25332 6.06425 4.37683 5.9402L9.07495 1.21541C9.31855 0.970724 9.69905 0.929724 9.9888 1.11693C10.3323 1.33886 10.6258 1.6305 10.8504 1.97311C10.863 1.99235 10.876 2.01143 10.8881 2.03098C11.076 2.33363 11.0146 2.7166 10.768 2.9643L6.10685 7.652C5.9787 7.7807 5.91465 7.84505 5.8399 7.891C5.7736 7.93175 5.7013 7.96175 5.6257 7.9799C5.54045 8.00035 5.44985 8.00025 5.26865 7.99995L4 7.9979L4.03078 6.75075Z' })));
37
+ };
38
+
32
39
  const ExtendArrowIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
33
40
  const theme = Theme.useTheme();
34
41
  const fill = f || theme.text.secondary;
@@ -135,4 +142,4 @@ const CrossIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
135
142
  React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M4 12L8 8M8 8L12 4M8 8L4 4M8 8L12 12' })));
136
143
  };
137
144
 
138
- export { ArrowIcon as A, CodeIcon as C, EditIcon as E, ListIcon as L, MinusIcon as M, NoDataIcon as N, PlusIcon as P, SearchIcon as S, TrashIcon as T, XIcon as X, CopyIcon as a, ExtendArrowIcon as b, NotebookIcon as c, SortArrowsIcon as d, EyeClosedIcon as e, EyeOpenIcon as f, CheckIcon as g, CrossIcon as h };
145
+ export { ArrowIcon as A, CodeIcon as C, EditIcon as E, ListIcon as L, MinusIcon as M, NoDataIcon as N, PlusIcon as P, SearchIcon as S, TrashIcon as T, XIcon as X, CopyIcon as a, EditedIcon as b, ExtendArrowIcon as c, NotebookIcon as d, SortArrowsIcon as e, EyeClosedIcon as f, EyeOpenIcon as g, CheckIcon as h, CrossIcon as i };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { _ as WarningModal } from './index-BHJkDHqL.js';
2
+ import { _ as WarningModal } from './index-C4uhvIMP.js';
3
3
  import { StatusType, EntityTypes } from './types.js';
4
- import './index-CFcAM49k.js';
4
+ import './index-BD7meETN.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-CFcAM49k.js';
2
+ import { T as Theme } from './index-BD7meETN.js';
3
3
 
4
4
  const OdigosLogo = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { T as Theme, B as BUTTON_TEXTS, l as DISPLAY_TITLES } from './index-CFcAM49k.js';
3
- import { E as EditIcon } from './index-DJfTCJxF.js';
4
- import { B as Button, V as Text, J as NotificationNote } from './index-BHJkDHqL.js';
2
+ import { T as Theme, B as BUTTON_TEXTS, l as DISPLAY_TITLES } from './index-BD7meETN.js';
3
+ import { E as EditIcon } from './index-CY3kjYr3.js';
4
+ import { B as Button, V as Text, J as NotificationNote } from './index-C4uhvIMP.js';
5
5
  import { StatusType } from './types.js';
6
6
  import 'styled-components';
7
- import { I as InfoIcon } from './index-BjrdHhNI.js';
7
+ import { I as InfoIcon } from './index-DZWbhK14.js';
8
8
 
9
9
  const EditButton = ({ label, onClick, variant = 'tertiary', ...props }) => {
10
10
  const theme = Theme.useTheme();
@@ -1,8 +1,8 @@
1
- import { SignalType, StatusType } from './types.js';
1
+ import { StatusType, OtherStatus, SignalType } from './types.js';
2
2
  import 'react';
3
- import './index-CFcAM49k.js';
3
+ import './index-BD7meETN.js';
4
4
  import 'styled-components';
5
- import { T as TracesIcon, M as MetricsIcon, L as LogsIcon, O as OdigosLogo, I as InfoIcon, W as WarningTriangleIcon, E as ErrorTriangleIcon, C as CheckCircledIcon } from './index-BjrdHhNI.js';
5
+ import { T as TracesIcon, M as MetricsIcon, L as LogsIcon, O as OdigosLogo, I as InfoIcon, W as WarningTriangleIcon, E as ErrorTriangleIcon, C as CheckCircledIcon } from './index-DZWbhK14.js';
6
6
 
7
7
  const capitalizeFirstLetter = (string) => {
8
8
  return string.charAt(0).toUpperCase() + string.slice(1);
@@ -70,6 +70,29 @@ const flattenObjectKeys = (obj, prefix = '', result = {}) => {
70
70
  return result;
71
71
  };
72
72
 
73
+ const getConditionsBooleans = (conditions) => {
74
+ const errors = conditions?.filter(({ status }) => status === StatusType.Error);
75
+ const warnings = conditions?.filter(({ status }) => status === StatusType.Warning);
76
+ const disableds = conditions?.filter(({ status }) => status === OtherStatus.Disabled);
77
+ const loadings = conditions?.filter(({ status }) => status === OtherStatus.Loading);
78
+ const hasErrors = errors.length > 0;
79
+ const hasWarnings = warnings.length > 0;
80
+ const hasDisableds = disableds.length > 0;
81
+ const hasLoadings = loadings.length > 0;
82
+ const priorotizedStatus = hasErrors ? StatusType.Error : hasWarnings ? StatusType.Warning : hasDisableds ? StatusType.Info : undefined;
83
+ return {
84
+ errors,
85
+ hasErrors,
86
+ warnings,
87
+ hasWarnings,
88
+ disableds,
89
+ hasDisableds,
90
+ loadings,
91
+ hasLoadings,
92
+ priorotizedStatus,
93
+ };
94
+ };
95
+
73
96
  const getMonitorIcon = (type) => {
74
97
  const LOGOS = {
75
98
  [SignalType.Logs]: LogsIcon,
@@ -192,4 +215,4 @@ const safeJsonStringify = (obj, indent = 2) => {
192
215
  return JSON.stringify(obj || {}, null, indent);
193
216
  };
194
217
 
195
- export { getStatusIcon as a, parseJsonStringToPrettyString as b, capitalizeFirstLetter as c, splitCamelString as d, flattenObjectKeys as f, getMonitorIcon as g, isValidVersion as i, mapConditions as m, numbersOnly as n, parseBooleanFromString as p, removeEmptyValuesFromObject as r, safeJsonStringify as s };
218
+ export { getMonitorIcon as a, getStatusIcon as b, capitalizeFirstLetter as c, parseJsonStringToPrettyString as d, splitCamelString as e, flattenObjectKeys as f, getConditionsBooleans as g, isValidVersion as i, mapConditions as m, numbersOnly as n, parseBooleanFromString as p, removeEmptyValuesFromObject as r, safeJsonStringify as s };
package/lib/snippets.js CHANGED
@@ -1,12 +1,12 @@
1
- export { A as AddButton } from './index-BHJkDHqL.js';
2
- export { E as EditButton, N as NoteBackToSummary } from './index-BDivLGyc.js';
1
+ export { A as AddButton } from './index-C4uhvIMP.js';
2
+ export { E as EditButton, N as NoteBackToSummary } from './index-lkkeQEOt.js';
3
3
  import 'react';
4
- import './index-CFcAM49k.js';
4
+ import './index-BD7meETN.js';
5
5
  import './types.js';
6
6
  import 'styled-components';
7
- import './index-DJfTCJxF.js';
8
- import './index-DeYAfvCA.js';
9
- import './index-BjrdHhNI.js';
7
+ import './index-CY3kjYr3.js';
8
+ import './index-qnmhJI4d.js';
9
+ import './index-DZWbhK14.js';
10
10
  import './index-BV85P9UP.js';
11
- import './useTransition-DfzjoAze.js';
11
+ import './useTransition-BWC_F-Pl.js';
12
12
  import 'react-dom';
package/lib/store.js CHANGED
@@ -1,4 +1,4 @@
1
- export { u as useDarkMode, a as useDataStreamStore, b as useDrawerStore, c as useEntityStore, d as useFilterStore, e as useInstrumentStore, f as useModalStore, g as useNotificationStore, h as usePendingStore, i as useSelectedStore, j as useSetupStore } from './index-CFcAM49k.js';
1
+ export { u as useDarkMode, a as useDataStreamStore, b as useDrawerStore, c as useEntityStore, d as useFilterStore, e as useInstrumentStore, f as useModalStore, g as useNotificationStore, h as usePendingStore, i as useSelectedStore, j as useSetupStore } from './index-BD7meETN.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-CFcAM49k.js';
1
+ export { T as default } from './index-BD7meETN.js';
2
2
  import 'styled-components';
3
3
  import 'react';
4
4
  import './types.js';
@@ -86,7 +86,7 @@ export declare enum StatusType {
86
86
  Default = "default"
87
87
  }
88
88
  export declare enum IntrumentationStatus {
89
- INSTRUMNETED = "Instrumented",
89
+ INSTRUMENTED = "Instrumented",
90
90
  INSTRUMENTING = "Instrumenting",
91
91
  UNINSTRUMENTED = "Uninstrumented",
92
92
  NOT_INSTRUMENTED = "Not Instrumented"
@@ -20,6 +20,7 @@ export interface Source extends WorkloadId {
20
20
  containerName: string;
21
21
  language: ProgrammingLanguages;
22
22
  runtimeVersion: string;
23
+ overriden?: boolean;
23
24
  instrumented: boolean;
24
25
  instrumentationMessage: string;
25
26
  otelDistroName: string | null;
package/lib/types.js CHANGED
@@ -158,7 +158,7 @@ var StatusType;
158
158
  })(StatusType || (StatusType = {}));
159
159
  var IntrumentationStatus;
160
160
  (function (IntrumentationStatus) {
161
- IntrumentationStatus["INSTRUMNETED"] = "Instrumented";
161
+ IntrumentationStatus["INSTRUMENTED"] = "Instrumented";
162
162
  IntrumentationStatus["INSTRUMENTING"] = "Instrumenting";
163
163
  IntrumentationStatus["UNINSTRUMENTED"] = "Uninstrumented";
164
164
  IntrumentationStatus["NOT_INSTRUMENTED"] = "Not Instrumented";
@@ -1,9 +1,9 @@
1
1
  import { ActionKeyTypes, ActionType, StatusType, AddNodeTypes, EntityTypes, FieldTypes } from './types.js';
2
- import { g as useNotificationStore, F as FORM_ALERTS, f as useModalStore, b as useDrawerStore, c as useEntityStore, a as useDataStreamStore, j as useSetupStore } from './index-CFcAM49k.js';
2
+ import { g as useNotificationStore, F as FORM_ALERTS, f as useModalStore, b as useDrawerStore, c as useEntityStore, a as useDataStreamStore, j as useSetupStore } from './index-BD7meETN.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-BV85P9UP.js';
6
- import { b as useGenericForm } from './useTransition-DfzjoAze.js';
6
+ import { b as useGenericForm } from './useTransition-BWC_F-Pl.js';
7
7
  import { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-BlZKWuxe.js';
8
8
 
9
9
  const INITIAL$2 = {
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useRef, useEffect, useCallback } from 'react';
2
- import { g as useNotificationStore } from './index-CFcAM49k.js';
2
+ import { g as useNotificationStore } from './index-BD7meETN.js';
3
3
  import { CodeAttributesKeyTypes, PayloadCollectionKeyTypes } from './types.js';
4
4
  import styled from 'styled-components';
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.43",
3
+ "version": "0.0.45",
4
4
  "author": "Odigos",
5
5
  "repository": {
6
6
  "type": "git",
@@ -114,12 +114,12 @@
114
114
  "eslint": "^9.29.0",
115
115
  "eslint-config-next": "^15.3.3",
116
116
  "eslint-plugin-storybook": "9.0.11",
117
- "next": "^15.3.3",
117
+ "next": "^15.3.4",
118
118
  "postcss": "^8.5.6",
119
119
  "rollup": "^4.43.0",
120
120
  "rollup-plugin-postcss": "^4.0.2",
121
121
  "rollup-plugin-typescript2": "^0.36.0",
122
- "storybook": "9.0.11",
122
+ "storybook": "9.0.12",
123
123
  "typescript": "^5.8.3"
124
124
  }
125
125
  }