@odigos/ui-kit 0.0.10 → 0.0.12

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 (89) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/components/badge/index.d.ts +2 -2
  3. package/lib/components/data-card/data-card-fields/index.d.ts +14 -14
  4. package/lib/components/data-card/index.d.ts +2 -2
  5. package/lib/components/data-tab/index.d.ts +3 -3
  6. package/lib/components/delete-warning/index.d.ts +2 -2
  7. package/lib/components/describe-row/index.d.ts +2 -2
  8. package/lib/components/divider/index.d.ts +2 -2
  9. package/lib/components/icon-group/index.d.ts +2 -2
  10. package/lib/components/icon-wrapped/index.d.ts +2 -2
  11. package/lib/components/interactive-table/index.d.ts +9 -8
  12. package/lib/components/interactive-table/table-row.d.ts +13 -0
  13. package/lib/components/monitors-checkboxes/index.d.ts +4 -4
  14. package/lib/components/monitors-icons/index.d.ts +2 -2
  15. package/lib/components/notification-note/index.d.ts +2 -2
  16. package/lib/components/status/index.d.ts +2 -2
  17. package/lib/components/stepper/index.d.ts +1 -1
  18. package/lib/components/warning-modal/index.d.ts +2 -2
  19. package/lib/components.js +8 -8
  20. package/lib/constants/strings/index.d.ts +10 -10
  21. package/lib/constants.js +4 -4
  22. package/lib/containers/action-drawer/build-card.d.ts +2 -2
  23. package/lib/containers/action-drawer/index.d.ts +2 -2
  24. package/lib/containers/action-form/custom-fields/index.d.ts +2 -2
  25. package/lib/containers/data-flow/edges/labeled-edge.d.ts +2 -2
  26. package/lib/containers/data-flow/helpers/get-main-container-language.d.ts +2 -2
  27. package/lib/containers/data-flow/helpers/get-node-positions.d.ts +2 -2
  28. package/lib/containers/data-flow/nodes/add-node.d.ts +3 -3
  29. package/lib/containers/data-flow/nodes/base-node.d.ts +5 -5
  30. package/lib/containers/data-flow/nodes/edged-node.d.ts +2 -2
  31. package/lib/containers/data-flow/nodes/frame-node.d.ts +2 -2
  32. package/lib/containers/data-flow/nodes/header-node.d.ts +2 -2
  33. package/lib/containers/data-flow/nodes/scroll-node.d.ts +5 -5
  34. package/lib/containers/data-flow/nodes/skeleton-node.d.ts +2 -2
  35. package/lib/containers/data-flow-actions-menu/index.d.ts +2 -2
  36. package/lib/containers/data-flow-actions-menu/search/search-results/builder.d.ts +2 -2
  37. package/lib/containers/destination-drawer/build-card.d.ts +2 -2
  38. package/lib/containers/destination-form/test-connection/index.d.ts +2 -2
  39. package/lib/containers/instrumentation-rule-drawer/build-card.d.ts +2 -2
  40. package/lib/containers/instrumentation-rule-form/custom-fields/index.d.ts +2 -2
  41. package/lib/containers/side-nav/index.d.ts +8 -8
  42. package/lib/containers/source-drawer/build-card.d.ts +1 -1
  43. package/lib/containers.js +373 -366
  44. package/lib/data/sources/index.d.ts +3 -3
  45. package/lib/functions/get-action-icon/index.d.ts +2 -2
  46. package/lib/functions/get-conditions-booleans/index.d.ts +2 -2
  47. package/lib/functions/get-entity-icon/index.d.ts +2 -2
  48. package/lib/functions/get-entity-label/index.d.ts +2 -2
  49. package/lib/functions/get-id-from-sse-target/index.d.ts +2 -2
  50. package/lib/functions/get-instrumentation-rule-icon/index.d.ts +2 -2
  51. package/lib/functions/get-metric-for-entity/index.d.ts +2 -2
  52. package/lib/functions/get-monitor-icon/index.d.ts +2 -2
  53. package/lib/functions/get-platform-icon/index.d.ts +2 -2
  54. package/lib/functions/get-platform-label/index.d.ts +2 -2
  55. package/lib/functions/get-programming-language-icon/index.d.ts +2 -2
  56. package/lib/functions/get-sse-target-from-id/index.d.ts +2 -2
  57. package/lib/functions/get-status-icon/index.d.ts +2 -2
  58. package/lib/functions/index.d.ts +0 -1
  59. package/lib/functions.js +9 -20
  60. package/lib/hooks.js +7 -7
  61. package/lib/icons.js +2 -2
  62. package/lib/{index-BFct3S32.js → index-7-KCQK-x.js} +2 -2
  63. package/lib/{index-ixs381n-.js → index-9ObpINp4.js} +4 -4
  64. package/lib/{index-Do8ODRlA.js → index-B5wdZoej.js} +106 -111
  65. package/lib/{index-eF2JXMVR.js → index-BtuW12KL.js} +22 -22
  66. package/lib/{index-CZe2VX28.js → index-CJKFedQi.js} +31 -31
  67. package/lib/{index-DB1gmCsH.js → index-CYn62h8x.js} +33 -33
  68. package/lib/{index-DnmWFsTQ.js → index-C_0J5P9M.js} +10 -10
  69. package/lib/{index-DIcomki-.js → index-DYEcdkUF.js} +19 -19
  70. package/lib/{index-BumPE6cF.js → index-Db_ZDrEr.js} +13 -13
  71. package/lib/store/useDrawerStore.d.ts +2 -2
  72. package/lib/store/useEntityStore.d.ts +5 -5
  73. package/lib/store/usePendingStore.d.ts +2 -2
  74. package/lib/store.js +1 -1
  75. package/lib/theme.js +1 -1
  76. package/lib/types/actions/index.d.ts +14 -14
  77. package/lib/types/common/index.d.ts +80 -76
  78. package/lib/types/connection/index.d.ts +3 -3
  79. package/lib/types/data-flow/index.d.ts +15 -15
  80. package/lib/types/destinations/index.d.ts +2 -2
  81. package/lib/types/instrumentation-rules/index.d.ts +28 -28
  82. package/lib/types/signals/index.d.ts +5 -5
  83. package/lib/types/sources/index.d.ts +7 -7
  84. package/lib/types.js +164 -159
  85. package/lib/{useSourceSelectionFormData-CxdOP9FT.js → useSourceSelectionFormData-BnlRp8m3.js} +40 -40
  86. package/lib/{useTransition-Dfxjcy-C.js → useTransition-CFmm4scp.js} +23 -23
  87. package/package.json +1 -1
  88. package/lib/components/interactive-table/row.d.ts +0 -13
  89. package/lib/functions/derive-type-from-rule/index.d.ts +0 -2
package/lib/containers.js CHANGED
@@ -1,20 +1,20 @@
1
1
  import React, { useState, useEffect, forwardRef, useImperativeHandle, useRef, useMemo, useId, memo, useContext, createContext, useCallback, useLayoutEffect, Fragment } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
- import { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-CZe2VX28.js';
4
- import { D as DISPLAY_TITLES, F as FORM_ALERTS } from './index-DnmWFsTQ.js';
5
- import { ACTION_TYPE, ENTITY_TYPES, STATUS_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, a3 as TableContainer, a4 as TableTitleWrap, r as IconTitleBadge, a5 as TableWrap, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, $ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a6 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-Do8ODRlA.js';
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';
3
+ import { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-CJKFedQi.js';
4
+ import { D as DISPLAY_TITLES, F as FORM_ALERTS } from './index-C_0J5P9M.js';
5
+ import { ActionType, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, FieldTypes, SignalType, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
6
+ import { f as DataCardFieldTypes, 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, a3 as TableContainer, a4 as TableTitleWrap, r as IconTitleBadge, a5 as TableWrap, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, $ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a6 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-B5wdZoej.js';
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-DYEcdkUF.js';
8
8
  import Theme from './theme.js';
9
9
  import { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
10
- import { i as CheckCircledIcon, h as ErrorTriangleIcon, W as WarningTriangleIcon } from './index-ixs381n-.js';
10
+ import { i as CheckCircledIcon, h as ErrorTriangleIcon, W as WarningTriangleIcon } from './index-9ObpINp4.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
- import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-BumPE6cF.js';
13
- import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-CxdOP9FT.js';
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';
12
+ import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-Db_ZDrEr.js';
13
+ import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-BnlRp8m3.js';
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-CFmm4scp.js';
15
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-DB1gmCsH.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-eF2JXMVR.js';
16
+ import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-CYn62h8x.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-BtuW12KL.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';
@@ -26,24 +26,24 @@ import 'babel-runtime/helpers/createClass';
26
26
  import 'babel-runtime/helpers/possibleConstructorReturn';
27
27
  import 'babel-runtime/helpers/inherits';
28
28
  import 'object-assign';
29
- import './index-BFct3S32.js';
29
+ import './index-7-KCQK-x.js';
30
30
 
31
31
  const buildCard$3 = (action) => {
32
32
  const { type, spec: { actionName, notes, signals, disabled, collectContainerAttributes, collectWorkloadId, collectClusterId, labelsAttributes, annotationsAttributes, clusterAttributes, attributeNamesToDelete, renames, piiCategories, fallbackSamplingRatio, samplingPercentage, endpointsFilters, }, } = action;
33
33
  const arr = [
34
34
  { title: DISPLAY_TITLES.TYPE, value: type },
35
- { type: DATA_CARD_FIELD_TYPES.ACTIVE_STATUS, title: DISPLAY_TITLES.STATUS, value: String(!disabled) },
36
- { type: DATA_CARD_FIELD_TYPES.MONITORS, title: DISPLAY_TITLES.SIGNALS_FOR_PROCESSING, value: signals.map((str) => str.toLowerCase()).join(', ') },
35
+ { type: DataCardFieldTypes.ActiveStatus, title: DISPLAY_TITLES.STATUS, value: String(!disabled) },
36
+ { type: DataCardFieldTypes.Monitors, title: DISPLAY_TITLES.SIGNALS_FOR_PROCESSING, value: signals.map((str) => str.toLowerCase()).join(', ') },
37
37
  { title: DISPLAY_TITLES.NAME, value: actionName },
38
38
  { title: DISPLAY_TITLES.NOTES, value: notes },
39
- { type: DATA_CARD_FIELD_TYPES.DIVIDER },
39
+ { type: DataCardFieldTypes.Divider },
40
40
  ];
41
- if (type === ACTION_TYPE.K8S_ATTRIBUTES) {
41
+ if (type === ActionType.K8sAttributes) {
42
42
  arr.push({ title: 'Collect Container Attributes', value: String(collectContainerAttributes) });
43
43
  arr.push({ title: 'Collect Workload ID', value: String(collectWorkloadId) });
44
44
  arr.push({ title: 'Collect Cluster ID', value: String(collectClusterId) });
45
45
  if (!!labelsAttributes?.length)
46
- arr.push({ type: DATA_CARD_FIELD_TYPES.DIVIDER });
46
+ arr.push({ type: DataCardFieldTypes.Divider });
47
47
  labelsAttributes?.forEach(({ labelKey, attributeKey }, idx) => {
48
48
  let str = '';
49
49
  str += `Label Key: ${labelKey}\n`;
@@ -51,7 +51,7 @@ const buildCard$3 = (action) => {
51
51
  arr.push({ title: `Label${labelsAttributes.length > 1 ? ` #${idx + 1}` : ''}`, value: str });
52
52
  });
53
53
  if (!!annotationsAttributes?.length)
54
- arr.push({ type: DATA_CARD_FIELD_TYPES.DIVIDER });
54
+ arr.push({ type: DataCardFieldTypes.Divider });
55
55
  annotationsAttributes?.forEach(({ annotationKey, attributeKey }, idx) => {
56
56
  let str = '';
57
57
  str += `Annotation Key: ${annotationKey}\n`;
@@ -59,7 +59,7 @@ const buildCard$3 = (action) => {
59
59
  arr.push({ title: `Annotation${annotationsAttributes.length > 1 ? ` #${idx + 1}` : ''}`, value: str });
60
60
  });
61
61
  }
62
- if (type === ACTION_TYPE.ADD_CLUSTER_INFO) {
62
+ if (type === ActionType.AddClusterInfo) {
63
63
  let str = '';
64
64
  clusterAttributes?.forEach(({ attributeName, attributeStringValue }, idx) => {
65
65
  str += `${attributeName}: ${attributeStringValue}`;
@@ -68,7 +68,7 @@ const buildCard$3 = (action) => {
68
68
  });
69
69
  arr.push({ title: 'Attributes', value: str });
70
70
  }
71
- if (type === ACTION_TYPE.DELETE_ATTRIBUTES) {
71
+ if (type === ActionType.DeleteAttributes) {
72
72
  let str = '';
73
73
  attributeNamesToDelete?.forEach((attributeName, idx) => {
74
74
  str += attributeName;
@@ -77,7 +77,7 @@ const buildCard$3 = (action) => {
77
77
  });
78
78
  arr.push({ title: 'Attributes', value: str });
79
79
  }
80
- if (type === ACTION_TYPE.RENAME_ATTRIBUTES) {
80
+ if (type === ActionType.RenameAttributes) {
81
81
  let str = '';
82
82
  const entries = Object.entries(renames || {});
83
83
  entries.forEach(([oldName, newName], idx) => {
@@ -87,7 +87,7 @@ const buildCard$3 = (action) => {
87
87
  });
88
88
  arr.push({ title: 'Attributes', value: str });
89
89
  }
90
- if (type === ACTION_TYPE.PII_MASKING) {
90
+ if (type === ActionType.PiiMasking) {
91
91
  let str = '';
92
92
  piiCategories?.forEach((attributeName, idx) => {
93
93
  str += attributeName;
@@ -96,13 +96,13 @@ const buildCard$3 = (action) => {
96
96
  });
97
97
  arr.push({ title: 'Categories', value: str });
98
98
  }
99
- if (type === ACTION_TYPE.ERROR_SAMPLER) {
99
+ if (type === ActionType.ErrorSampler) {
100
100
  arr.push({ title: 'Sampling Ratio', value: String(fallbackSamplingRatio) });
101
101
  }
102
- if (type === ACTION_TYPE.PROBABILISTIC_SAMPLER) {
102
+ if (type === ActionType.ProbabilisticSampler) {
103
103
  arr.push({ title: 'Sampling Percentage', value: String(samplingPercentage) });
104
104
  }
105
- if (type === ACTION_TYPE.LATENCY_SAMPLER) {
105
+ if (type === ActionType.LatencySampler) {
106
106
  endpointsFilters?.forEach(({ serviceName, httpRoute, minimumLatencyThreshold, fallbackSamplingRatio }, idx) => {
107
107
  let str = '';
108
108
  str += `Service Name: ${serviceName}\n`;
@@ -291,14 +291,14 @@ const ProbabilisticSampler = ({ value, setValue, formErrors }) => {
291
291
  };
292
292
 
293
293
  const componentsMap$1 = {
294
- [ACTION_TYPE.K8S_ATTRIBUTES]: K8sAttributes,
295
- [ACTION_TYPE.ADD_CLUSTER_INFO]: AddClusterInfo,
296
- [ACTION_TYPE.DELETE_ATTRIBUTES]: DeleteAttributes,
297
- [ACTION_TYPE.RENAME_ATTRIBUTES]: RenameAttributes,
298
- [ACTION_TYPE.PII_MASKING]: PiiMasking,
299
- [ACTION_TYPE.ERROR_SAMPLER]: ErrorSampler,
300
- [ACTION_TYPE.PROBABILISTIC_SAMPLER]: ProbabilisticSampler,
301
- [ACTION_TYPE.LATENCY_SAMPLER]: LatencySampler,
294
+ [ActionType.K8sAttributes]: K8sAttributes,
295
+ [ActionType.AddClusterInfo]: AddClusterInfo,
296
+ [ActionType.DeleteAttributes]: DeleteAttributes,
297
+ [ActionType.RenameAttributes]: RenameAttributes,
298
+ [ActionType.PiiMasking]: PiiMasking,
299
+ [ActionType.ErrorSampler]: ErrorSampler,
300
+ [ActionType.ProbabilisticSampler]: ProbabilisticSampler,
301
+ [ActionType.LatencySampler]: LatencySampler,
302
302
  };
303
303
  const CustomFields$1 = ({ actionType, value, setValue, formErrors }) => {
304
304
  if (!actionType)
@@ -341,7 +341,7 @@ const OverviewDrawer = ({ children, width = 640, title, titleTooltip, icon, icon
341
341
  const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
342
342
  const [isCancelModalOpen, setIsCancelModalOpen] = useState(false);
343
343
  const titleRef = useRef(null);
344
- const isSource = drawerType === ENTITY_TYPES.SOURCE;
344
+ const isSource = drawerType === EntityTypes.Source;
345
345
  const closeDrawer = () => {
346
346
  setDrawerType(null);
347
347
  setDrawerEntityId(null);
@@ -391,7 +391,7 @@ const OverviewDrawer = ({ children, width = 640, title, titleTooltip, icon, icon
391
391
  }, [drawerType, drawerEntityId]);
392
392
  const handlePending = (action) => {
393
393
  addNotification({
394
- type: STATUS_TYPE.WARNING,
394
+ type: StatusType.Warning,
395
395
  title: 'Pending',
396
396
  message: `Cannot click ${action}, ${drawerType} is pending`,
397
397
  hideFromHistory: true,
@@ -483,7 +483,7 @@ const DataContainer$3 = styled.div `
483
483
  const ActionDrawer = ({ updateAction, deleteAction }) => {
484
484
  const { actions } = useEntityStore();
485
485
  const { drawerType, drawerEntityId, setDrawerEntityId, setDrawerType } = useDrawerStore();
486
- const isOpen = drawerType !== ENTITY_TYPES.ACTION;
486
+ const isOpen = drawerType !== EntityTypes.Action;
487
487
  const onClose = () => {
488
488
  setDrawerType(null);
489
489
  setDrawerEntityId(null);
@@ -521,7 +521,7 @@ const ActionDrawer = ({ updateAction, deleteAction }) => {
521
521
  onClose();
522
522
  };
523
523
  const handleSave = (newTitle) => {
524
- if (validateForm({ withAlert: true, alertTitle: CRUD.UPDATE })) {
524
+ if (validateForm({ withAlert: true, alertTitle: Crud.Update })) {
525
525
  const title = newTitle !== thisItem.type ? newTitle : '';
526
526
  handleFormChange('name', title);
527
527
  updateAction(drawerEntityId, { ...formData, name: title });
@@ -540,7 +540,7 @@ const ActionDrawer = ({ updateAction, deleteAction }) => {
540
540
 
541
541
  const ActionModal = ({ createAction }) => {
542
542
  const { currentModal, setCurrentModal } = useModalStore();
543
- const isOpen = currentModal === ENTITY_TYPES.ACTION;
543
+ const isOpen = currentModal === EntityTypes.Action;
544
544
  const { formData, formErrors, handleFormChange, resetFormData, validateForm } = useActionFormData();
545
545
  const [selectedItem, setSelectedItem] = useState(undefined);
546
546
  const handleClose = () => {
@@ -554,7 +554,7 @@ const ActionModal = ({ createAction }) => {
554
554
  setSelectedItem(item);
555
555
  };
556
556
  const handleSubmit = () => {
557
- const isFormOk = validateForm({ withAlert: true, alertTitle: CRUD.CREATE });
557
+ const isFormOk = validateForm({ withAlert: true, alertTitle: Crud.Create });
558
558
  if (!isFormOk)
559
559
  return null;
560
560
  createAction(formData);
@@ -580,7 +580,7 @@ const ActionModal = ({ createAction }) => {
580
580
  const buildSpecCell$1 = (action) => {
581
581
  const { type, spec: { collectContainerAttributes, collectWorkloadId, collectClusterId, labelsAttributes, annotationsAttributes, clusterAttributes, attributeNamesToDelete, renames, piiCategories, fallbackSamplingRatio, samplingPercentage, endpointsFilters, }, } = action;
582
582
  let str = '';
583
- if (type === ACTION_TYPE.K8S_ATTRIBUTES) {
583
+ if (type === ActionType.K8sAttributes) {
584
584
  if (collectContainerAttributes)
585
585
  str += 'Container Attributes, ';
586
586
  if (collectWorkloadId)
@@ -596,21 +596,21 @@ const buildSpecCell$1 = (action) => {
596
596
  ;
597
597
  });
598
598
  }
599
- if (type === ACTION_TYPE.ADD_CLUSTER_INFO) {
599
+ if (type === ActionType.AddClusterInfo) {
600
600
  clusterAttributes?.forEach(({ attributeName, attributeStringValue }, idx) => {
601
601
  str += `${attributeName}: ${attributeStringValue}`;
602
602
  if (idx < clusterAttributes.length - 1)
603
603
  str += ', ';
604
604
  });
605
605
  }
606
- if (type === ACTION_TYPE.DELETE_ATTRIBUTES) {
606
+ if (type === ActionType.DeleteAttributes) {
607
607
  attributeNamesToDelete?.forEach((attributeName, idx) => {
608
608
  str += attributeName;
609
609
  if (idx < attributeNamesToDelete.length - 1)
610
610
  str += ', ';
611
611
  });
612
612
  }
613
- if (type === ACTION_TYPE.RENAME_ATTRIBUTES) {
613
+ if (type === ActionType.RenameAttributes) {
614
614
  const entries = Object.entries(renames || {});
615
615
  entries.forEach(([oldName, newName], idx) => {
616
616
  str += `${oldName}: ${newName}`;
@@ -618,21 +618,21 @@ const buildSpecCell$1 = (action) => {
618
618
  str += ', ';
619
619
  });
620
620
  }
621
- if (type === ACTION_TYPE.PII_MASKING) {
621
+ if (type === ActionType.PiiMasking) {
622
622
  piiCategories?.forEach((attributeName, idx) => {
623
623
  str += attributeName;
624
624
  if (idx < piiCategories.length - 1)
625
625
  str += ', ';
626
626
  });
627
627
  }
628
- if (type === ACTION_TYPE.ERROR_SAMPLER) {
628
+ if (type === ActionType.ErrorSampler) {
629
629
  str += String(fallbackSamplingRatio);
630
630
  }
631
- if (type === ACTION_TYPE.PROBABILISTIC_SAMPLER) {
631
+ if (type === ActionType.ProbabilisticSampler) {
632
632
  str += String(samplingPercentage);
633
633
  str += '%';
634
634
  }
635
- if (type === ACTION_TYPE.LATENCY_SAMPLER) {
635
+ if (type === ActionType.LatencySampler) {
636
636
  endpointsFilters?.forEach(({ serviceName, httpRoute, minimumLatencyThreshold, fallbackSamplingRatio }, idx) => {
637
637
  str += `Endpoint${endpointsFilters.length > 1 ? ` #${idx + 1}` : ''}=${serviceName}${httpRoute}`;
638
638
  str += ` Latency=${minimumLatencyThreshold}`;
@@ -645,17 +645,17 @@ const buildSpecCell$1 = (action) => {
645
645
  };
646
646
 
647
647
  const TableCellConditions = ({ conditions }) => {
648
- const errors = useMemo(() => conditions?.filter(({ status }) => status === STATUS_TYPE.ERROR) || [], [conditions]);
649
- const warnings = useMemo(() => conditions?.filter(({ status }) => status === STATUS_TYPE.WARNING) || [], [conditions]);
650
- const disableds = useMemo(() => conditions?.filter(({ status }) => status === OTHER_STATUS.DISABLED) || [], [conditions]);
651
- const isLoading = useMemo(() => !conditions?.length || !!conditions?.find(({ status }) => status === OTHER_STATUS.LOADING), [conditions]);
652
- return (React.createElement("div", { style: { lineHeight: 1 } }, errors.length > 0 ? (React.createElement(ConditionsStatuses, { conditions: errors })) : warnings.length > 0 ? (React.createElement(ConditionsStatuses, { conditions: warnings })) : disableds.length > 0 ? (React.createElement(ConditionsStatuses, { conditions: disableds })) : isLoading ? (React.createElement(Status, { status: OTHER_STATUS.LOADING, title: OTHER_STATUS.LOADING, withBorder: true, withIcon: true })) : (React.createElement(Status, { status: STATUS_TYPE.SUCCESS, title: STATUS_TYPE.SUCCESS, withBorder: true, withIcon: true }))));
648
+ const errors = useMemo(() => conditions?.filter(({ status }) => status === StatusType.Error) || [], [conditions]);
649
+ const warnings = useMemo(() => conditions?.filter(({ status }) => status === StatusType.Warning) || [], [conditions]);
650
+ const disableds = useMemo(() => conditions?.filter(({ status }) => status === OtherStatus.Disabled) || [], [conditions]);
651
+ const isLoading = useMemo(() => !conditions?.length || !!conditions?.find(({ status }) => status === OtherStatus.Loading), [conditions]);
652
+ return (React.createElement("div", { style: { lineHeight: 1 } }, errors.length > 0 ? (React.createElement(ConditionsStatuses, { conditions: errors })) : warnings.length > 0 ? (React.createElement(ConditionsStatuses, { conditions: warnings })) : disableds.length > 0 ? (React.createElement(ConditionsStatuses, { conditions: disableds })) : isLoading ? (React.createElement(Status, { status: OtherStatus.Loading, title: OtherStatus.Loading, withBorder: true, withIcon: true })) : (React.createElement(Status, { status: StatusType.Success, title: StatusType.Success, withBorder: true, withIcon: true }))));
653
653
  };
654
654
  const ConditionsStatuses = ({ conditions }) => {
655
655
  const theme = Theme.useTheme();
656
656
  return (React.createElement(FlexRow, null, mapConditions(conditions).map(({ status, type, reason, message, lastTransitionTime }) => {
657
657
  if (status === 'loading' || status === 'disabled')
658
- status = STATUS_TYPE.INFO;
658
+ status = StatusType.Info;
659
659
  const icon = getStatusIcon(status, theme);
660
660
  return (React.createElement(Tooltip, { key: useId(), titleIcon: icon, title: type, text: message || reason || '', timestamp: lastTransitionTime },
661
661
  React.createElement(Status, { status: status, title: reason || type, withBorder: true, withIcon: true })));
@@ -665,7 +665,7 @@ const ConditionsStatuses = ({ conditions }) => {
665
665
  const columns$3 = [
666
666
  { key: 'icon', title: '' },
667
667
  { key: 'name', title: DISPLAY_TITLES.NAME, sortable: true },
668
- { key: 'signals', title: DISPLAY_TITLES.MONITORS },
668
+ { key: 'signals', title: DISPLAY_TITLES.Monitors },
669
669
  { key: 'active-status', title: DISPLAY_TITLES.STATUS },
670
670
  { key: 'conditions', title: 'Conditions' },
671
671
  { key: 'type', title: DISPLAY_TITLES.TYPE, sortable: true },
@@ -681,8 +681,12 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
681
681
  const rows = useMemo(() => filtered.map((act) => {
682
682
  const { hasErrors, hasWarnings, hasDisableds } = getConditionsBooleans(act.conditions || []);
683
683
  return {
684
- status: hasErrors ? STATUS_TYPE.ERROR : hasWarnings ? STATUS_TYPE.WARNING : undefined,
684
+ status: hasErrors ? StatusType.Error : hasWarnings ? StatusType.Warning : undefined,
685
685
  faded: hasDisableds,
686
+ onClick: () => {
687
+ setDrawerType(EntityTypes.Action);
688
+ setDrawerEntityId(act.id);
689
+ },
686
690
  cells: [
687
691
  {
688
692
  columnKey: 'icon',
@@ -690,7 +694,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
690
694
  },
691
695
  {
692
696
  columnKey: 'name',
693
- value: getEntityLabel(act, ENTITY_TYPES.ACTION, { prioritizeDisplayName: true }),
697
+ value: getEntityLabel(act, EntityTypes.Action, { prioritizeDisplayName: true }),
694
698
  },
695
699
  {
696
700
  columnKey: 'type',
@@ -720,7 +724,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
720
724
  {
721
725
  columnKey: 'active-status',
722
726
  component: () => (React.createElement("div", { style: { lineHeight: 1 } },
723
- React.createElement(Status, { status: act.spec.disabled ? STATUS_TYPE.ERROR : STATUS_TYPE.SUCCESS, title: act.spec.disabled ? 'Inactive' : 'Active', withIcon: true, withBorder: true }))),
727
+ React.createElement(Status, { status: act.spec.disabled ? StatusType.Error : StatusType.Success, title: act.spec.disabled ? 'Inactive' : 'Active', withIcon: true, withBorder: true }))),
724
728
  },
725
729
  ],
726
730
  };
@@ -729,12 +733,9 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
729
733
  const badgeTooltip = useMemo(() => (filtered.length !== actions.length ? DISPLAY_TITLES.FILTERED_COUNT_TOOLTIP : undefined), [filtered, actions]);
730
734
  return (React.createElement(TableContainer, { "$maxWidth": maxWidth },
731
735
  React.createElement(TableTitleWrap, null,
732
- React.createElement(IconTitleBadge, { icon: getEntityIcon(ENTITY_TYPES.ACTION), title: DISPLAY_TITLES.ACTIONS, badge: badge, badgeTooltip: badgeTooltip, loading: actionsLoading })),
736
+ React.createElement(IconTitleBadge, { icon: getEntityIcon(EntityTypes.Action), title: DISPLAY_TITLES.Actions, badge: badge, badgeTooltip: badgeTooltip, loading: actionsLoading })),
733
737
  React.createElement(TableWrap, { "$maxHeight": maxHeight },
734
- React.createElement(InteractiveTable, { columns: columns$3, rows: rows, onRowClick: (idx) => {
735
- setDrawerType(ENTITY_TYPES.ACTION);
736
- setDrawerEntityId(filtered[idx].id);
737
- } })),
738
+ React.createElement(InteractiveTable, { columns: columns$3, rows: rows })),
738
739
  !filtered.length && (React.createElement(CenterThis, { style: { marginTop: '2rem' } },
739
740
  React.createElement(NoDataFound, null)))));
740
741
  };
@@ -896,13 +897,13 @@ const ComputePlatformSelect = ({ connections, selected, onSelect, onViewAll }) =
896
897
  isOpen && withSelect && (React.createElement(AbsoluteContainer$2, null,
897
898
  React.createElement(HeadWrap, null,
898
899
  React.createElement(Input, { placeholder: 'Search...', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
899
- 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 === STATUS_TYPE.SUCCESS ? theme.text.success : theme.text.error }), label: `${!!name ? name : getPlatformLabel(type)} (${id})`, isSelected: selected?.id === id, onClick: () => {
900
- if (status === STATUS_TYPE.SUCCESS) {
900
+ 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 === StatusType.Success ? theme.text.success : theme.text.error }), label: `${!!name ? name : getPlatformLabel(type)} (${id})`, isSelected: selected?.id === id, onClick: () => {
901
+ if (status === StatusType.Success) {
901
902
  onSelect(filtered[idx]);
902
903
  }
903
904
  else {
904
905
  addNotification({
905
- type: STATUS_TYPE.WARNING,
906
+ type: StatusType.Warning,
906
907
  title: 'Connection lost',
907
908
  message: 'Cannot connect to this platform',
908
909
  hideFromHistory: true,
@@ -916,9 +917,23 @@ const ComputePlatformSelect = ({ connections, selected, onSelect, onViewAll }) =
916
917
 
917
918
  const ComputePlatforms = ({ connections, onSelect }) => {
918
919
  const { searchText, platformTypes, statuses } = useFilterStore();
919
- const filtered = connections.filter(({ id, type, status }) => (!searchText || id.toLowerCase().includes(searchText)) &&
920
+ const filtered = useMemo(() => connections.filter(({ id, type, status }) => (!searchText || id.toLowerCase().includes(searchText)) &&
920
921
  (!platformTypes?.length || platformTypes.find((opt) => opt.id === type)) &&
921
- (!statuses?.length || statuses.find((opt) => opt.id === status)));
922
+ (!statuses?.length || statuses.find((opt) => opt.id === status))), [connections, searchText, platformTypes, statuses]);
923
+ const rows = useMemo(() => filtered.map((item) => ({
924
+ onClick: () => onSelect(item),
925
+ cells: [
926
+ { columnKey: 'id', value: item.id },
927
+ { columnKey: 'type', value: item.type },
928
+ { columnKey: 'name', value: item.name || getPlatformLabel(item.type) },
929
+ { columnKey: 'icon', icon: getPlatformIcon(item.type) },
930
+ {
931
+ columnKey: 'status',
932
+ component: () => (React.createElement("div", { style: { lineHeight: 1 } },
933
+ React.createElement(Status, { title: status === StatusType.Success ? 'connection alive' : 'connection lost', status: item.status, withIcon: true, withBorder: true }))),
934
+ },
935
+ ],
936
+ })), [filtered]);
922
937
  return (React.createElement(React.Fragment, null,
923
938
  React.createElement(InteractiveTable, { columns: [
924
939
  { key: 'icon', title: '' },
@@ -926,19 +941,7 @@ const ComputePlatforms = ({ connections, onSelect }) => {
926
941
  { key: 'type', title: 'Type' },
927
942
  { key: 'status', title: 'Status' },
928
943
  { key: 'id', title: 'Unique ID' },
929
- ], rows: filtered.map(({ id, name, type, status }) => ({
930
- cells: [
931
- { columnKey: 'id', value: id },
932
- { columnKey: 'type', value: type },
933
- { columnKey: 'name', value: !!name ? name : getPlatformLabel(type) },
934
- { columnKey: 'icon', icon: getPlatformIcon(type) },
935
- {
936
- columnKey: 'status',
937
- component: () => (React.createElement("div", { style: { lineHeight: 1 } },
938
- React.createElement(Status, { title: status === STATUS_TYPE.SUCCESS ? 'connection alive' : 'connection lost', status: status, withIcon: true, withBorder: true }))),
939
- },
940
- ],
941
- })), onRowClick: (idx) => onSelect(filtered[idx]) }),
944
+ ], rows: rows }),
942
945
  !filtered.length && (React.createElement(CenterThis, { style: { marginTop: '2rem' } },
943
946
  React.createElement(NoDataFound, null)))));
944
947
  };
@@ -978,7 +981,7 @@ const ErrorDropdown = ({ title = 'Error Message', value, onSelect, onDeselect, d
978
981
  // instead, it is now optional and we should fallback to "reason" which is also optional.
979
982
  sources.forEach(({ conditions }) => {
980
983
  mapConditions(conditions || []).forEach(({ status, message, reason }) => {
981
- if (status === STATUS_TYPE.ERROR && !payload.find((opt) => opt.id === message)) {
984
+ if (status === StatusType.Error && !payload.find((opt) => opt.id === message)) {
982
985
  if (!!message) {
983
986
  if (!payload.find((opt) => opt.id === message))
984
987
  payload.push({ id: message, value: message });
@@ -12692,12 +12695,12 @@ const Container$i = styled.div `
12692
12695
  `;
12693
12696
  const BaseNode = memo(({ id: nodeId, data }) => {
12694
12697
  const { nodeWidth, id: entityId, type: entityType, status, faded, title, subTitle, icon, icons, iconSrc, iconSrcs, monitors, isActive, raw } = data;
12695
- const isSource = entityType === ENTITY_TYPES.SOURCE;
12698
+ const isSource = entityType === EntityTypes.Source;
12696
12699
  const { isThisPending } = usePendingStore();
12697
12700
  const isPending = isThisPending({ entityType, entityId });
12698
12701
  const renderActions = () => {
12699
12702
  const sourceIsInstrumenting = isSource && (!raw.conditions?.length || raw.conditions?.some(({ status }) => status === 'loading'));
12700
- return (React.createElement(React.Fragment, null, isPending ? (React.createElement(FadeLoader, null)) : status === STATUS_TYPE.ERROR ? (React.createElement(ErrorTriangleIcon, { size: 20 })) : status === STATUS_TYPE.WARNING ? (React.createElement(WarningTriangleIcon, { size: 20 })) : sourceIsInstrumenting ? (React.createElement(FadeLoader, null)) : null));
12703
+ return (React.createElement(React.Fragment, null, isPending ? (React.createElement(FadeLoader, null)) : status === StatusType.Error ? (React.createElement(ErrorTriangleIcon, { size: 20 })) : status === StatusType.Warning ? (React.createElement(WarningTriangleIcon, { size: 20 })) : sourceIsInstrumenting ? (React.createElement(FadeLoader, null)) : null));
12701
12704
  };
12702
12705
  const { selectedSources, setSelectedSources } = useSelectedStore();
12703
12706
  const namespaces = { ...selectedSources };
@@ -12727,7 +12730,7 @@ const Container$h = styled.div `
12727
12730
  `;
12728
12731
  const EdgedNode = memo(({ data }) => {
12729
12732
  const { nodeWidth, nodeHeight } = data;
12730
- return (React.createElement(Container$h, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight },
12733
+ return (React.createElement(Container$h, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12731
12734
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
12732
12735
  React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
12733
12736
  });
@@ -12748,6 +12751,7 @@ const FrameNode = memo(({ data }) => {
12748
12751
 
12749
12752
  const Container$f = styled.div `
12750
12753
  position: relative;
12754
+ z-index: 1;
12751
12755
  width: ${({ $nodeWidth }) => $nodeWidth}px;
12752
12756
  height: ${({ $nodeHeight }) => $nodeHeight}px;
12753
12757
  background: transparent;
@@ -12812,7 +12816,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
12812
12816
  // @ts-ignore
12813
12817
  onClickNode(e, item);
12814
12818
  } },
12815
- React.createElement(BaseNode, { ...rest, type: NODE_TYPES.BASE, id: item.id, data: item.data })))),
12819
+ React.createElement(BaseNode, { ...rest, type: NodeTypes.Base, id: item.id, data: item.data })))),
12816
12820
  React.createElement(LoadMoreWrapper, { "$hide": isBottomOfList })));
12817
12821
  });
12818
12822
 
@@ -12853,7 +12857,7 @@ const HeaderNode = memo(({ id: nodeId, data }) => {
12853
12857
  const { nodeWidth, title, icon: Icon, badge, badgeTooltip, isFetching, sources } = data;
12854
12858
  const entityType = nodeId.split('-')[0];
12855
12859
  const { isAwaitingInstrumentation, sourcesToCreate, sourcesCreated, sourcesToDelete, sourcesDeleted } = useInstrumentStore();
12856
- const isSourceAwaitingInstrumentation = entityType === ENTITY_TYPES.SOURCE && isAwaitingInstrumentation;
12860
+ const isSourceAwaitingInstrumentation = entityType === EntityTypes.Source && isAwaitingInstrumentation;
12857
12861
  const instrumentingPercent = (!!sourcesToCreate ? Math.floor((100 / sourcesToCreate) * sourcesCreated) : !!sourcesToDelete ? Math.floor((100 / sourcesToDelete) * sourcesDeleted) : 0) || 1;
12858
12862
  const { selectedSources, setSelectedSources } = useSelectedStore();
12859
12863
  const { isThisPending } = usePendingStore();
@@ -12869,7 +12873,7 @@ const HeaderNode = memo(({ id: nodeId, data }) => {
12869
12873
  const payload = {};
12870
12874
  sources?.forEach((source) => {
12871
12875
  const id = { namespace: source.namespace, name: source.name, kind: source.kind };
12872
- const isPending = isThisPending({ entityType: ENTITY_TYPES.SOURCE, entityId: id });
12876
+ const isPending = isThisPending({ entityType: EntityTypes.Source, entityId: id });
12873
12877
  if (!isPending) {
12874
12878
  if (!payload[source.namespace]) {
12875
12879
  payload[source.namespace] = [source];
@@ -12886,7 +12890,7 @@ const HeaderNode = memo(({ id: nodeId, data }) => {
12886
12890
  }
12887
12891
  };
12888
12892
  return (React.createElement(Container$e, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12889
- entityType === ENTITY_TYPES.SOURCE && (React.createElement(SelectorWrapper, null,
12893
+ entityType === EntityTypes.Source && (React.createElement(SelectorWrapper, null,
12890
12894
  React.createElement(Checkbox, { partiallyChecked: hasSelected && sources?.length !== totalSelectedSources, value: hasSelected && sources?.length === totalSelectedSources, onChange: onSelect, disabled: !sources?.length }))),
12891
12895
  React.createElement(IconTitleBadge, { icon: Icon, title: title, badge: isSourceAwaitingInstrumentation ? `${instrumentingPercent}%` : badge, badgeTooltip: badgeTooltip, loading: isFetching && !isSourceAwaitingInstrumentation }),
12892
12896
  React.createElement(Actions$1, { entityType: entityType }),
@@ -12901,13 +12905,13 @@ const Actions$1 = memo(({ entityType }) => {
12901
12905
  // @ts-ignore
12902
12906
  onClickNode(undefined, {
12903
12907
  data: {
12904
- type: entityType === ENTITY_TYPES.SOURCE
12905
- ? ADD_NODE_TYPES.ADD_SOURCE
12906
- : entityType === ENTITY_TYPES.DESTINATION
12907
- ? ADD_NODE_TYPES.ADD_DESTINATION
12908
- : entityType === ENTITY_TYPES.ACTION
12909
- ? ADD_NODE_TYPES.ADD_ACTION
12910
- : ADD_NODE_TYPES.ADD_RULE,
12908
+ type: entityType === EntityTypes.Source
12909
+ ? AddNodeTypes.AddSource
12910
+ : entityType === EntityTypes.Destination
12911
+ ? AddNodeTypes.AddDestination
12912
+ : entityType === EntityTypes.Action
12913
+ ? AddNodeTypes.AddAction
12914
+ : AddNodeTypes.AddRule,
12911
12915
  },
12912
12916
  });
12913
12917
  } },
@@ -12978,16 +12982,16 @@ const ControllerWrapper = styled.div `
12978
12982
  }
12979
12983
  `;
12980
12984
  const nodeTypes = {
12981
- [NODE_TYPES.HEADER]: HeaderNode,
12982
- [NODE_TYPES.ADD]: AddNode,
12983
- [NODE_TYPES.BASE]: BaseNode,
12984
- [NODE_TYPES.EDGED]: EdgedNode,
12985
- [NODE_TYPES.FRAME]: FrameNode,
12986
- [NODE_TYPES.SCROLL]: ScrollNode,
12987
- [NODE_TYPES.SKELETON]: SkeletonNode,
12985
+ [NodeTypes.Header]: HeaderNode,
12986
+ [NodeTypes.Add]: AddNode,
12987
+ [NodeTypes.Base]: BaseNode,
12988
+ [NodeTypes.Edged]: EdgedNode,
12989
+ [NodeTypes.Frame]: FrameNode,
12990
+ [NodeTypes.Scroll]: ScrollNode,
12991
+ [NodeTypes.Skeleton]: SkeletonNode,
12988
12992
  };
12989
12993
  const edgeTypes = {
12990
- [EDGE_TYPES.LABELED]: LabeledEdge,
12994
+ [EdgeTypes.Labeled]: LabeledEdge,
12991
12995
  };
12992
12996
  const Flow = ({ nodes, edges, onNodesChange, onEdgesChange }) => {
12993
12997
  const { onClickNode } = useClickNode();
@@ -13016,7 +13020,7 @@ const createEdge = (edgeId, params) => {
13016
13020
  const [sourceNodeId, targetNodeId] = edgeId.split('-to-');
13017
13021
  return {
13018
13022
  id: edgeId,
13019
- type: !!label ? EDGE_TYPES.LABELED : 'default',
13023
+ type: !!label ? EdgeTypes.Labeled : 'default',
13020
13024
  source: sourceNodeId,
13021
13025
  target: targetNodeId,
13022
13026
  animated,
@@ -13026,9 +13030,9 @@ const createEdge = (edgeId, params) => {
13026
13030
  };
13027
13031
  const buildEdges = ({ theme, nodes, metrics, containerHeight }) => {
13028
13032
  const edges = [];
13029
- const actionNodeId = nodes.find(({ id: nodeId }) => [`${ENTITY_TYPES.ACTION}-${NODE_TYPES.FRAME}`, `${ENTITY_TYPES.ACTION}-${NODE_TYPES.ADD}`].includes(nodeId))?.id;
13033
+ const actionNodeId = nodes.find(({ id: nodeId }) => [`${EntityTypes.Action}-${NodeTypes.Frame}`, `${EntityTypes.Action}-${NodeTypes.Add}`].includes(nodeId))?.id;
13030
13034
  nodes.forEach(({ type: nodeType, id: nodeId, data: { type: entityType, id: entityId, status }, position }) => {
13031
- if (nodeType === NODE_TYPES.EDGED && entityType === ENTITY_TYPES.SOURCE) {
13035
+ if (nodeType === NodeTypes.Edged && entityType === EntityTypes.Source) {
13032
13036
  const { namespace, name, kind } = entityId;
13033
13037
  const metric = metrics?.sources.find((m) => m.kind === kind && m.name === name && m.namespace === namespace);
13034
13038
  const topLimit = -80 / 2 + framePadding$2;
@@ -13039,18 +13043,18 @@ const buildEdges = ({ theme, nodes, metrics, containerHeight }) => {
13039
13043
  animated: false,
13040
13044
  isMultiTarget: false,
13041
13045
  label: formatBytes(metric?.throughput),
13042
- isError: status === STATUS_TYPE.ERROR,
13046
+ isError: status === StatusType.Error,
13043
13047
  }));
13044
13048
  }
13045
13049
  }
13046
- if (nodeType === NODE_TYPES.BASE && entityType === ENTITY_TYPES.DESTINATION) {
13050
+ if (nodeType === NodeTypes.Base && entityType === EntityTypes.Destination) {
13047
13051
  const metric = metrics?.destinations.find((m) => m.id === entityId);
13048
13052
  edges.push(createEdge(`${actionNodeId}-to-${nodeId}`, {
13049
13053
  theme,
13050
13054
  animated: false,
13051
13055
  isMultiTarget: true,
13052
13056
  label: formatBytes(metric?.throughput),
13053
- isError: status === STATUS_TYPE.ERROR,
13057
+ isError: status === StatusType.Error,
13054
13058
  }));
13055
13059
  }
13056
13060
  });
@@ -13062,9 +13066,9 @@ const mapToNodeData$3 = (entity) => {
13062
13066
  return {
13063
13067
  nodeWidth: nodeWidth$4,
13064
13068
  id: entity.ruleId,
13065
- type: ENTITY_TYPES.INSTRUMENTATION_RULE,
13069
+ type: EntityTypes.InstrumentationRule,
13066
13070
  status: undefined,
13067
- title: getEntityLabel(entity, ENTITY_TYPES.INSTRUMENTATION_RULE, { prioritizeDisplayName: true }),
13071
+ title: getEntityLabel(entity, EntityTypes.InstrumentationRule, { prioritizeDisplayName: true }),
13068
13072
  subTitle: entity.type,
13069
13073
  icon: getInstrumentationRuleIcon(entity.type),
13070
13074
  isActive: !entity.disabled,
@@ -13073,18 +13077,18 @@ const mapToNodeData$3 = (entity) => {
13073
13077
  };
13074
13078
  const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
13075
13079
  const nodes = [];
13076
- const position = positions[ENTITY_TYPES.INSTRUMENTATION_RULE];
13080
+ const position = positions[EntityTypes.InstrumentationRule];
13077
13081
  nodes.push({
13078
- id: `${ENTITY_TYPES.INSTRUMENTATION_RULE}-${NODE_TYPES.HEADER}`,
13079
- type: NODE_TYPES.HEADER,
13082
+ id: `${EntityTypes.InstrumentationRule}-${NodeTypes.Header}`,
13083
+ type: NodeTypes.Header,
13080
13084
  position: {
13081
- x: positions[ENTITY_TYPES.INSTRUMENTATION_RULE]['x'],
13085
+ x: positions[EntityTypes.InstrumentationRule]['x'],
13082
13086
  y: 0,
13083
13087
  },
13084
13088
  data: {
13085
13089
  nodeWidth: nodeWidth$4,
13086
- title: DISPLAY_TITLES.INSTRUMENTATION_RULES,
13087
- icon: getEntityIcon(ENTITY_TYPES.INSTRUMENTATION_RULE),
13090
+ title: DISPLAY_TITLES.InstrumentationRules,
13091
+ icon: getEntityIcon(EntityTypes.InstrumentationRule),
13088
13092
  badge: unfilteredCount,
13089
13093
  isFetching: loading,
13090
13094
  },
@@ -13092,8 +13096,8 @@ const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
13092
13096
  if (!!entities.length) {
13093
13097
  entities.forEach((rule, idx) => {
13094
13098
  nodes.push({
13095
- id: `${ENTITY_TYPES.INSTRUMENTATION_RULE}-${idx}`,
13096
- type: NODE_TYPES.BASE,
13099
+ id: `${EntityTypes.InstrumentationRule}-${idx}`,
13100
+ type: NodeTypes.Base,
13097
13101
  position: {
13098
13102
  x: position['x'],
13099
13103
  y: position['y'](idx),
@@ -13104,8 +13108,8 @@ const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
13104
13108
  }
13105
13109
  else if (loading) {
13106
13110
  nodes.push({
13107
- id: `${ENTITY_TYPES.INSTRUMENTATION_RULE}-${NODE_TYPES.SKELETON}`,
13108
- type: NODE_TYPES.SKELETON,
13111
+ id: `${EntityTypes.InstrumentationRule}-${NodeTypes.Skeleton}`,
13112
+ type: NodeTypes.Skeleton,
13109
13113
  position: {
13110
13114
  x: position['x'],
13111
13115
  y: position['y'](),
@@ -13117,15 +13121,15 @@ const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
13117
13121
  }
13118
13122
  else {
13119
13123
  nodes.push({
13120
- id: `${ENTITY_TYPES.INSTRUMENTATION_RULE}-${NODE_TYPES.ADD}`,
13121
- type: NODE_TYPES.ADD,
13124
+ id: `${EntityTypes.InstrumentationRule}-${NodeTypes.Add}`,
13125
+ type: NodeTypes.Add,
13122
13126
  position: {
13123
13127
  x: position['x'],
13124
13128
  y: position['y'](),
13125
13129
  },
13126
13130
  data: {
13127
13131
  nodeWidth: nodeWidth$4,
13128
- type: ADD_NODE_TYPES.ADD_RULE,
13132
+ type: AddNodeTypes.AddRule,
13129
13133
  title: 'ADD RULE',
13130
13134
  subTitle: 'To modify OpenTelemetry data',
13131
13135
  },
@@ -13140,10 +13144,10 @@ const mapToNodeData$2 = (entity) => {
13140
13144
  return {
13141
13145
  nodeWidth: nodeWidth$3,
13142
13146
  id: entity.id,
13143
- type: ENTITY_TYPES.ACTION,
13147
+ type: EntityTypes.Action,
13144
13148
  status: priorotizedStatus,
13145
13149
  faded: hasDisableds,
13146
- title: getEntityLabel(entity, ENTITY_TYPES.ACTION, { prioritizeDisplayName: true }),
13150
+ title: getEntityLabel(entity, EntityTypes.Action, { prioritizeDisplayName: true }),
13147
13151
  subTitle: entity.type,
13148
13152
  icon: getActionIcon(entity.type),
13149
13153
  monitors: entity.spec.signals,
@@ -13153,26 +13157,26 @@ const mapToNodeData$2 = (entity) => {
13153
13157
  };
13154
13158
  const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) => {
13155
13159
  const nodes = [];
13156
- const position = positions[ENTITY_TYPES.ACTION];
13160
+ const position = positions[EntityTypes.Action];
13157
13161
  nodes.push({
13158
- id: `${ENTITY_TYPES.ACTION}-${NODE_TYPES.HEADER}`,
13159
- type: NODE_TYPES.HEADER,
13162
+ id: `${EntityTypes.Action}-${NodeTypes.Header}`,
13163
+ type: NodeTypes.Header,
13160
13164
  position: {
13161
- x: positions[ENTITY_TYPES.ACTION]['x'],
13165
+ x: positions[EntityTypes.Action]['x'],
13162
13166
  y: 0,
13163
13167
  },
13164
13168
  data: {
13165
13169
  nodeWidth: nodeWidth$3,
13166
- title: DISPLAY_TITLES.ACTIONS,
13167
- icon: getEntityIcon(ENTITY_TYPES.ACTION),
13170
+ title: DISPLAY_TITLES.Actions,
13171
+ icon: getEntityIcon(EntityTypes.Action),
13168
13172
  badge: unfilteredCount,
13169
13173
  isFetching: loading,
13170
13174
  },
13171
13175
  });
13172
13176
  if (!!entities.length) {
13173
13177
  nodes.push({
13174
- id: `${ENTITY_TYPES.ACTION}-${NODE_TYPES.FRAME}`,
13175
- type: NODE_TYPES.FRAME,
13178
+ id: `${EntityTypes.Action}-${NodeTypes.Frame}`,
13179
+ type: NodeTypes.Frame,
13176
13180
  position: {
13177
13181
  x: position['x'] - framePadding$1,
13178
13182
  y: position['y']() - framePadding$1,
@@ -13184,10 +13188,10 @@ const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) =>
13184
13188
  });
13185
13189
  entities.forEach((action, idx) => {
13186
13190
  nodes.push({
13187
- id: `${ENTITY_TYPES.ACTION}-${idx}`,
13188
- type: NODE_TYPES.BASE,
13191
+ id: `${EntityTypes.Action}-${idx}`,
13192
+ type: NodeTypes.Base,
13189
13193
  extent: 'parent',
13190
- parentId: `${ENTITY_TYPES.ACTION}-${NODE_TYPES.FRAME}`,
13194
+ parentId: `${EntityTypes.Action}-${NodeTypes.Frame}`,
13191
13195
  position: {
13192
13196
  x: framePadding$1,
13193
13197
  y: position['y'](idx) - (nodeHeight$2 - framePadding$1),
@@ -13198,8 +13202,8 @@ const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) =>
13198
13202
  }
13199
13203
  else if (loading) {
13200
13204
  nodes.push({
13201
- id: `${ENTITY_TYPES.ACTION}-${NODE_TYPES.SKELETON}`,
13202
- type: NODE_TYPES.SKELETON,
13205
+ id: `${EntityTypes.Action}-${NodeTypes.Skeleton}`,
13206
+ type: NodeTypes.Skeleton,
13203
13207
  position: {
13204
13208
  x: position['x'],
13205
13209
  y: position['y'](),
@@ -13211,16 +13215,16 @@ const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) =>
13211
13215
  }
13212
13216
  else {
13213
13217
  nodes.push({
13214
- id: `${ENTITY_TYPES.ACTION}-${NODE_TYPES.ADD}`,
13215
- type: NODE_TYPES.ADD,
13218
+ id: `${EntityTypes.Action}-${NodeTypes.Add}`,
13219
+ type: NodeTypes.Add,
13216
13220
  position: {
13217
13221
  x: position['x'],
13218
13222
  y: position['y'](),
13219
13223
  },
13220
13224
  data: {
13221
13225
  nodeWidth: nodeWidth$3,
13222
- type: ADD_NODE_TYPES.ADD_ACTION,
13223
- title: 'ADD ACTION',
13226
+ type: AddNodeTypes.AddAction,
13227
+ title: 'ADD Action',
13224
13228
  subTitle: 'To modify OpenTelemetry data',
13225
13229
  },
13226
13230
  });
@@ -13240,10 +13244,10 @@ const mapToNodeData$1 = (entity) => {
13240
13244
  name: entity.name,
13241
13245
  kind: entity.kind,
13242
13246
  },
13243
- type: ENTITY_TYPES.SOURCE,
13247
+ type: EntityTypes.Source,
13244
13248
  status: priorotizedStatus,
13245
13249
  faded: hasDisableds,
13246
- title: getEntityLabel(entity, ENTITY_TYPES.SOURCE, { extended: true }),
13250
+ title: getEntityLabel(entity, EntityTypes.Source, { extended: true }),
13247
13251
  subTitle: `${entity.namespace} • ${entity.kind}`,
13248
13252
  icons: getContainersIcons(entity.containers),
13249
13253
  raw: entity,
@@ -13251,19 +13255,19 @@ const mapToNodeData$1 = (entity) => {
13251
13255
  };
13252
13256
  const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, containerHeight, onScroll }) => {
13253
13257
  const nodes = [];
13254
- const position = positions[ENTITY_TYPES.SOURCE];
13258
+ const position = positions[EntityTypes.Source];
13255
13259
  const hasFiltersApplied = entities.length !== unfilteredCount;
13256
13260
  nodes.push({
13257
- id: `${ENTITY_TYPES.SOURCE}-${NODE_TYPES.HEADER}`,
13258
- type: NODE_TYPES.HEADER,
13261
+ id: `${EntityTypes.Source}-${NodeTypes.Header}`,
13262
+ type: NodeTypes.Header,
13259
13263
  position: {
13260
- x: positions[ENTITY_TYPES.SOURCE]['x'],
13264
+ x: positions[EntityTypes.Source]['x'],
13261
13265
  y: 0,
13262
13266
  },
13263
13267
  data: {
13264
13268
  nodeWidth: nodeWidth$2,
13265
- title: DISPLAY_TITLES.SOURCES,
13266
- icon: getEntityIcon(ENTITY_TYPES.SOURCE),
13269
+ title: DISPLAY_TITLES.Sources,
13270
+ icon: getEntityIcon(EntityTypes.Source),
13267
13271
  badge: hasFiltersApplied ? `${entities.length}/${unfilteredCount}` : unfilteredCount,
13268
13272
  badgeTooltip: hasFiltersApplied ? DISPLAY_TITLES.FILTERED_COUNT_TOOLTIP : undefined,
13269
13273
  isFetching: loading,
@@ -13272,8 +13276,8 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
13272
13276
  });
13273
13277
  if (!!entities.length) {
13274
13278
  nodes.push({
13275
- id: `${ENTITY_TYPES.SOURCE}-${NODE_TYPES.SCROLL}`,
13276
- type: NODE_TYPES.SCROLL,
13279
+ id: `${EntityTypes.Source}-${NodeTypes.Scroll}`,
13280
+ type: NodeTypes.Scroll,
13277
13281
  position: {
13278
13282
  x: position['x'],
13279
13283
  y: position['y']() - framePadding,
@@ -13285,7 +13289,7 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
13285
13289
  nodeWidth: nodeWidth$2,
13286
13290
  nodeHeight: containerHeight - nodeHeight$1 + framePadding * 2,
13287
13291
  items: entities.map((source, idx) => ({
13288
- id: `${ENTITY_TYPES.SOURCE}-${idx}`,
13292
+ id: `${EntityTypes.Source}-${idx}`,
13289
13293
  data: mapToNodeData$1(source),
13290
13294
  })),
13291
13295
  onScroll,
@@ -13293,10 +13297,10 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
13293
13297
  });
13294
13298
  entities.forEach((source, idx) => {
13295
13299
  nodes.push({
13296
- id: `${ENTITY_TYPES.SOURCE}-${idx}-hidden`,
13297
- type: NODE_TYPES.EDGED,
13300
+ id: `${EntityTypes.Source}-${idx}-hidden`,
13301
+ type: NodeTypes.Edged,
13298
13302
  extent: 'parent',
13299
- parentId: `${ENTITY_TYPES.SOURCE}-${NODE_TYPES.SCROLL}`,
13303
+ parentId: `${EntityTypes.Source}-${NodeTypes.Scroll}`,
13300
13304
  position: {
13301
13305
  x: framePadding,
13302
13306
  y: position['y'](idx) - (nodeHeight$1 - framePadding / 2),
@@ -13310,8 +13314,8 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
13310
13314
  }
13311
13315
  else if (loading) {
13312
13316
  nodes.push({
13313
- id: `${ENTITY_TYPES.SOURCE}-${NODE_TYPES.SKELETON}`,
13314
- type: NODE_TYPES.SKELETON,
13317
+ id: `${EntityTypes.Source}-${NodeTypes.Skeleton}`,
13318
+ type: NodeTypes.Skeleton,
13315
13319
  position: {
13316
13320
  x: position['x'],
13317
13321
  y: position['y'](),
@@ -13323,16 +13327,16 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
13323
13327
  }
13324
13328
  else {
13325
13329
  nodes.push({
13326
- id: `${ENTITY_TYPES.SOURCE}-${NODE_TYPES.ADD}`,
13327
- type: NODE_TYPES.ADD,
13330
+ id: `${EntityTypes.Source}-${NodeTypes.Add}`,
13331
+ type: NodeTypes.Add,
13328
13332
  position: {
13329
13333
  x: position['x'],
13330
13334
  y: position['y'](),
13331
13335
  },
13332
13336
  data: {
13333
13337
  nodeWidth: nodeWidth$2,
13334
- type: ADD_NODE_TYPES.ADD_SOURCE,
13335
- title: 'ADD SOURCE',
13338
+ type: AddNodeTypes.AddSource,
13339
+ title: 'ADD Source',
13336
13340
  subTitle: 'To collect OpenTelemetry data',
13337
13341
  },
13338
13342
  });
@@ -13346,25 +13350,25 @@ const getNodePositions = ({ containerWidth }) => {
13346
13350
  const endX = (containerWidth <= 1500 ? 1500 : containerWidth) - nodeWidth$1 - startX;
13347
13351
  const getY = (idx) => nodeHeight * ((idx || 0) + 1);
13348
13352
  const positions = {
13349
- [ENTITY_TYPES.INSTRUMENTATION_RULE]: {
13353
+ [EntityTypes.InstrumentationRule]: {
13350
13354
  x: startX,
13351
13355
  y: getY,
13352
13356
  },
13353
- [ENTITY_TYPES.SOURCE]: {
13357
+ [EntityTypes.Source]: {
13354
13358
  x: getValueForRange(containerWidth, [
13355
13359
  [0, 1600, endX / 3.5],
13356
13360
  [1600, null, endX / 4],
13357
13361
  ]),
13358
13362
  y: getY,
13359
13363
  },
13360
- [ENTITY_TYPES.ACTION]: {
13364
+ [EntityTypes.Action]: {
13361
13365
  x: getValueForRange(containerWidth, [
13362
13366
  [0, 1600, endX / 1.55],
13363
13367
  [1600, null, endX / 1.6],
13364
13368
  ]),
13365
13369
  y: getY,
13366
13370
  },
13367
- [ENTITY_TYPES.DESTINATION]: {
13371
+ [EntityTypes.Destination]: {
13368
13372
  x: endX,
13369
13373
  y: getY,
13370
13374
  },
@@ -13378,10 +13382,10 @@ const mapToNodeData = (entity) => {
13378
13382
  return {
13379
13383
  nodeWidth,
13380
13384
  id: entity.id,
13381
- type: ENTITY_TYPES.DESTINATION,
13385
+ type: EntityTypes.Destination,
13382
13386
  status: priorotizedStatus,
13383
13387
  faded: hasDisableds,
13384
- title: getEntityLabel(entity, ENTITY_TYPES.DESTINATION, { prioritizeDisplayName: true }),
13388
+ title: getEntityLabel(entity, EntityTypes.Destination, { prioritizeDisplayName: true }),
13385
13389
  subTitle: entity.destinationType.displayName,
13386
13390
  iconSrc: entity.destinationType.imageUrl,
13387
13391
  monitors: Object.keys(entity.exportedSignals).filter((signal) => entity.exportedSignals[signal] === true),
@@ -13390,18 +13394,18 @@ const mapToNodeData = (entity) => {
13390
13394
  };
13391
13395
  const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }) => {
13392
13396
  const nodes = [];
13393
- const position = positions[ENTITY_TYPES.DESTINATION];
13397
+ const position = positions[EntityTypes.Destination];
13394
13398
  nodes.push({
13395
- id: `${ENTITY_TYPES.DESTINATION}-${NODE_TYPES.HEADER}`,
13396
- type: NODE_TYPES.HEADER,
13399
+ id: `${EntityTypes.Destination}-${NodeTypes.Header}`,
13400
+ type: NodeTypes.Header,
13397
13401
  position: {
13398
- x: positions[ENTITY_TYPES.DESTINATION]['x'],
13402
+ x: positions[EntityTypes.Destination]['x'],
13399
13403
  y: 0,
13400
13404
  },
13401
13405
  data: {
13402
13406
  nodeWidth,
13403
- title: DISPLAY_TITLES.DESTINATIONS,
13404
- icon: getEntityIcon(ENTITY_TYPES.DESTINATION),
13407
+ title: DISPLAY_TITLES.Destinations,
13408
+ icon: getEntityIcon(EntityTypes.Destination),
13405
13409
  badge: unfilteredCount,
13406
13410
  isFetching: loading,
13407
13411
  },
@@ -13409,8 +13413,8 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
13409
13413
  if (!!entities.length) {
13410
13414
  entities.forEach((destination, idx) => {
13411
13415
  nodes.push({
13412
- id: `${ENTITY_TYPES.DESTINATION}-${idx}`,
13413
- type: NODE_TYPES.BASE,
13416
+ id: `${EntityTypes.Destination}-${idx}`,
13417
+ type: NodeTypes.Base,
13414
13418
  position: {
13415
13419
  x: position['x'],
13416
13420
  y: position['y'](idx),
@@ -13421,8 +13425,8 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
13421
13425
  }
13422
13426
  else if (loading) {
13423
13427
  nodes.push({
13424
- id: `${ENTITY_TYPES.DESTINATION}-${NODE_TYPES.SKELETON}`,
13425
- type: NODE_TYPES.SKELETON,
13428
+ id: `${EntityTypes.Destination}-${NodeTypes.Skeleton}`,
13429
+ type: NodeTypes.Skeleton,
13426
13430
  position: {
13427
13431
  x: position['x'],
13428
13432
  y: position['y'](),
@@ -13434,16 +13438,16 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
13434
13438
  }
13435
13439
  else {
13436
13440
  nodes.push({
13437
- id: `${ENTITY_TYPES.DESTINATION}-${NODE_TYPES.ADD}`,
13438
- type: NODE_TYPES.ADD,
13441
+ id: `${EntityTypes.Destination}-${NodeTypes.Add}`,
13442
+ type: NodeTypes.Add,
13439
13443
  position: {
13440
13444
  x: position['x'],
13441
13445
  y: position['y'](),
13442
13446
  },
13443
13447
  data: {
13444
13448
  nodeWidth,
13445
- type: ADD_NODE_TYPES.ADD_DESTINATION,
13446
- title: 'ADD DESTINATION',
13449
+ type: AddNodeTypes.AddDestination,
13450
+ title: 'ADD Destination',
13447
13451
  subTitle: 'To monitor OpenTelemetry data',
13448
13452
  },
13449
13453
  });
@@ -13475,7 +13479,7 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13475
13479
  };
13476
13480
  const handleNodesScrolled = (currNodes, key, yOffset) => {
13477
13481
  setNodes((prevNodes) => applyNodeChanges(currNodes
13478
- .filter((node) => node.extent === 'parent' && node.parentId === `${key}-${NODE_TYPES.SCROLL}`)
13482
+ .filter((node) => node.extent === 'parent' && node.parentId === `${key}-${NodeTypes.Scroll}`)
13479
13483
  .map((node) => ({
13480
13484
  id: node.id,
13481
13485
  type: 'position',
@@ -13492,10 +13496,10 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13492
13496
  unfilteredCount: sources.length,
13493
13497
  positions,
13494
13498
  containerHeight,
13495
- onScroll: ({ scrollTop }) => handleNodesScrolled(sourceNodes, ENTITY_TYPES.SOURCE, scrollTop),
13499
+ onScroll: ({ scrollTop }) => handleNodesScrolled(sourceNodes, EntityTypes.Source, scrollTop),
13496
13500
  });
13497
- handleNodesChanged(sourceNodes, ENTITY_TYPES.SOURCE);
13498
- }, [sources, sourcesLoading, isAwaitingInstrumentation, positions.source, filters, containerHeight]);
13501
+ handleNodesChanged(sourceNodes, EntityTypes.Source);
13502
+ }, [sources, sourcesLoading, isAwaitingInstrumentation, positions[EntityTypes.Source], filters, containerHeight]);
13499
13503
  useEffect(() => {
13500
13504
  const destinationNodes = buildDestinationNodes({
13501
13505
  entities: filterDestinations(destinations, filters),
@@ -13503,8 +13507,8 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13503
13507
  unfilteredCount: destinations.length,
13504
13508
  positions,
13505
13509
  });
13506
- handleNodesChanged(destinationNodes, ENTITY_TYPES.DESTINATION);
13507
- }, [destinations, destinationsLoading, positions.destination, filters]);
13510
+ handleNodesChanged(destinationNodes, EntityTypes.Destination);
13511
+ }, [destinations, destinationsLoading, positions[EntityTypes.Destination], filters]);
13508
13512
  useEffect(() => {
13509
13513
  const actionNodes = buildActionNodes({
13510
13514
  entities: filterActions(actions, filters),
@@ -13512,8 +13516,8 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13512
13516
  unfilteredCount: actions.length,
13513
13517
  positions,
13514
13518
  });
13515
- handleNodesChanged(actionNodes, ENTITY_TYPES.ACTION);
13516
- }, [actions, actionsLoading, positions.action, filters]);
13519
+ handleNodesChanged(actionNodes, EntityTypes.Action);
13520
+ }, [actions, actionsLoading, positions[EntityTypes.Action], filters]);
13517
13521
  useEffect(() => {
13518
13522
  // note: rules do not have filters yet
13519
13523
  const ruleNodes = buildRuleNodes({
@@ -13522,8 +13526,8 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13522
13526
  unfilteredCount: instrumentationRules.length,
13523
13527
  positions,
13524
13528
  });
13525
- handleNodesChanged(ruleNodes, ENTITY_TYPES.INSTRUMENTATION_RULE);
13526
- }, [instrumentationRules, instrumentationRulesLoading, positions.rule]);
13529
+ handleNodesChanged(ruleNodes, EntityTypes.InstrumentationRule);
13530
+ }, [instrumentationRules, instrumentationRulesLoading, positions[EntityTypes.InstrumentationRule]]);
13527
13531
  return (React.createElement(Container$c, { ref: containerRef, "$heightToRemove": heightToRemove },
13528
13532
  React.createElement(Flow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange })));
13529
13533
  };
@@ -13554,25 +13558,25 @@ const buildSearchResults = ({ instrumentationRules, sources, actions, destinatio
13554
13558
  : destinations.filter((destination) => destination.destinationType.displayName?.toLowerCase().includes(searchText) || destination.name?.toLowerCase().includes(searchText));
13555
13559
  const categories = [
13556
13560
  {
13557
- category: ENTITY_TYPES.SOURCE,
13561
+ category: EntityTypes.Source,
13558
13562
  label: 'Sources',
13559
13563
  count: filteredSources.length,
13560
13564
  entities: [],
13561
13565
  },
13562
13566
  {
13563
- category: ENTITY_TYPES.ACTION,
13567
+ category: EntityTypes.Action,
13564
13568
  label: 'Actions',
13565
13569
  count: filteredActions.length,
13566
13570
  entities: [],
13567
13571
  },
13568
13572
  {
13569
- category: ENTITY_TYPES.DESTINATION,
13573
+ category: EntityTypes.Destination,
13570
13574
  label: 'Destinations',
13571
13575
  count: filteredDestinations.length,
13572
13576
  entities: [],
13573
13577
  },
13574
13578
  {
13575
- category: ENTITY_TYPES.INSTRUMENTATION_RULE,
13579
+ category: EntityTypes.InstrumentationRule,
13576
13580
  label: 'Instrumentation Rules',
13577
13581
  count: filteredRules.length,
13578
13582
  entities: [],
@@ -13588,13 +13592,13 @@ const buildSearchResults = ({ instrumentationRules, sources, actions, destinatio
13588
13592
  .filter(({ count, category }) => !!count && category !== 'all' && ['all', category].includes(selectedCategory))
13589
13593
  .map((item) => ({
13590
13594
  ...item,
13591
- entities: item.category === ENTITY_TYPES.INSTRUMENTATION_RULE
13595
+ entities: item.category === EntityTypes.InstrumentationRule
13592
13596
  ? filteredRules
13593
- : item.category === ENTITY_TYPES.SOURCE
13597
+ : item.category === EntityTypes.Source
13594
13598
  ? filteredSources
13595
- : item.category === ENTITY_TYPES.ACTION
13599
+ : item.category === EntityTypes.Action
13596
13600
  ? filteredActions
13597
- : item.category === ENTITY_TYPES.DESTINATION
13601
+ : item.category === EntityTypes.Destination
13598
13602
  ? filteredDestinations
13599
13603
  : [],
13600
13604
  }));
@@ -13772,8 +13776,8 @@ const buildCard$2 = (destination, yamlFields) => {
13772
13776
  const arr = [
13773
13777
  { title: DISPLAY_TITLES.NAME, value: destinationType.displayName },
13774
13778
  { title: DISPLAY_TITLES.TYPE, value: destinationType.type },
13775
- { type: DATA_CARD_FIELD_TYPES.MONITORS, title: DISPLAY_TITLES.MONITORS, value: buildMonitorsList(exportedSignals) },
13776
- { type: DATA_CARD_FIELD_TYPES.DIVIDER },
13779
+ { type: DataCardFieldTypes.Monitors, title: DISPLAY_TITLES.Monitors, value: buildMonitorsList(exportedSignals) },
13780
+ { type: DataCardFieldTypes.Divider },
13777
13781
  ];
13778
13782
  const parsedFields = safeJsonParse(fields, {});
13779
13783
  const sortedParsedFields = yamlFields.map((field) => ({ key: field.name, value: parsedFields[field.name] ?? null })).filter((item) => item.value !== null) ||
@@ -13814,17 +13818,17 @@ const DynamicFields = ({ fields, onChange, formErrors }) => {
13814
13818
  if (!shouldRender)
13815
13819
  return null;
13816
13820
  switch (componentType) {
13817
- case FIELD_TYPES.INPUT:
13821
+ case FieldTypes.Input:
13818
13822
  return React.createElement(Input, { key: field.name, ...rest, onChange: (e) => onChange(field.name, e.target.value), errorMessage: formErrors[field.name] });
13819
- case FIELD_TYPES.DROPDOWN:
13823
+ case FieldTypes.Dropdown:
13820
13824
  return (React.createElement(Dropdown, { key: field.name, ...rest, value: { id: rest.value || '', value: rest.value || '' }, options: rest.options || [], onSelect: (option) => onChange(field.name, option.value), errorMessage: formErrors[field.name] }));
13821
- case FIELD_TYPES.MULTI_INPUT:
13825
+ case FieldTypes.MultiInput:
13822
13826
  return (React.createElement(InputList, { key: field.name, ...rest, value: typeof rest.value === 'string' ? safeJsonParse(rest.value, []) : rest.value, onChange: (value) => onChange(field.name, JSON.stringify(value)), errorMessage: formErrors[field.name] }));
13823
- case FIELD_TYPES.KEY_VALUE_PAIR:
13827
+ case FieldTypes.KeyValuePair:
13824
13828
  return (React.createElement(KeyValueInputsList, { key: field.name, ...rest, value: typeof rest.value === 'string' ? safeJsonParse(rest.value, []) : rest.value, onChange: (value) => onChange(field.name, JSON.stringify(value)), errorMessage: formErrors[field.name] }));
13825
- case FIELD_TYPES.TEXTAREA:
13829
+ case FieldTypes.TextArea:
13826
13830
  return React.createElement(TextArea, { key: field.name, ...rest, onChange: (e) => onChange(field.name, e.target.value), errorMessage: formErrors[field.name] });
13827
- case FIELD_TYPES.CHECKBOX:
13831
+ case FieldTypes.Checkbox:
13828
13832
  return React.createElement(Checkbox, { key: field.name, ...rest, value: rest.value == 'true', onChange: (bool) => onChange(field.name, String(bool)), errorMessage: formErrors[field.name] });
13829
13833
  default:
13830
13834
  return null;
@@ -13915,45 +13919,45 @@ const DestinationForm = ({ isUpdate, categoryItem, formData, formErrors, validat
13915
13919
  const { logs, metrics, traces } = supportedSignals || {};
13916
13920
  const arr = [];
13917
13921
  if (logs?.supported)
13918
- arr.push(SIGNAL_TYPE.LOGS);
13922
+ arr.push(SignalType.Logs);
13919
13923
  if (metrics?.supported)
13920
- arr.push(SIGNAL_TYPE.METRICS);
13924
+ arr.push(SignalType.Metrics);
13921
13925
  if (traces?.supported)
13922
- arr.push(SIGNAL_TYPE.TRACES);
13926
+ arr.push(SignalType.Traces);
13923
13927
  return arr;
13924
13928
  }, [supportedSignals]);
13925
13929
  const selectedMonitors = useMemo(() => {
13926
13930
  const { logs, metrics, traces } = formData['exportedSignals'] || {};
13927
13931
  const arr = [];
13928
13932
  if (logs)
13929
- arr.push(SIGNAL_TYPE.LOGS);
13933
+ arr.push(SignalType.Logs);
13930
13934
  if (metrics)
13931
- arr.push(SIGNAL_TYPE.METRICS);
13935
+ arr.push(SignalType.Metrics);
13932
13936
  if (traces)
13933
- arr.push(SIGNAL_TYPE.TRACES);
13937
+ arr.push(SignalType.Traces);
13934
13938
  return arr;
13935
13939
  }, [formData['exportedSignals']]);
13936
13940
  const handleSelectedSignals = (signals) => {
13937
13941
  dirtyForm();
13938
13942
  handleFormChange('exportedSignals', {
13939
- logs: signals.includes(SIGNAL_TYPE.LOGS),
13940
- metrics: signals.includes(SIGNAL_TYPE.METRICS),
13941
- traces: signals.includes(SIGNAL_TYPE.TRACES),
13943
+ logs: signals.includes(SignalType.Logs),
13944
+ metrics: signals.includes(SignalType.Metrics),
13945
+ traces: signals.includes(SignalType.Traces),
13942
13946
  });
13943
13947
  };
13944
13948
  return (React.createElement(Container$a, null,
13945
13949
  !isUpdate && (React.createElement(React.Fragment, null,
13946
13950
  React.createElement(SectionTitle, { title: 'Create connection', description: `Connect ${displayName} with Odigos.`, actionButton: testConnectionSupported && (React.createElement(TestConnection, { destination: formData, disabled: !isFormDirty, validateForm: validateForm, status: connectionStatus, testConnection: testConnection, testLoading: testLoading, testResult: testResult, onError: () => {
13947
13951
  setIsFormDirty(false);
13948
- setConnectionStatus(STATUS_TYPE.ERROR);
13952
+ setConnectionStatus(StatusType.Error);
13949
13953
  }, onSuccess: () => {
13950
13954
  setIsFormDirty(false);
13951
- setConnectionStatus(STATUS_TYPE.SUCCESS);
13955
+ setConnectionStatus(StatusType.Success);
13952
13956
  } })) }),
13953
13957
  (testConnectionSupported || autoFilled) && (React.createElement(NotesWrapper, null,
13954
- testConnectionSupported && connectionStatus === STATUS_TYPE.ERROR && React.createElement(NotificationNote, { type: STATUS_TYPE.ERROR, message: 'Connection failed. Please check your input and try again.' }),
13955
- testConnectionSupported && connectionStatus === STATUS_TYPE.SUCCESS && React.createElement(NotificationNote, { type: STATUS_TYPE.SUCCESS, message: 'Connection succeeded.' }),
13956
- autoFilled && React.createElement(NotificationNote, { type: STATUS_TYPE.DEFAULT, message: `Odigos autocompleted ${displayName} connection details.` }))),
13958
+ testConnectionSupported && connectionStatus === StatusType.Error && React.createElement(NotificationNote, { type: StatusType.Error, message: 'Connection failed. Please check your input and try again.' }),
13959
+ testConnectionSupported && connectionStatus === StatusType.Success && React.createElement(NotificationNote, { type: StatusType.Success, message: 'Connection succeeded.' }),
13960
+ autoFilled && React.createElement(NotificationNote, { type: StatusType.Default, message: `Odigos autocompleted ${displayName} connection details.` }))),
13957
13961
  React.createElement(Divider, null))),
13958
13962
  React.createElement(MonitorsCheckboxes, { title: isUpdate ? '' : 'This connection will monitor:', required: true, allowedSignals: supportedMonitors, selectedSignals: selectedMonitors, setSelectedSignals: handleSelectedSignals, errorMessage: formErrors['exportedSignals'] }),
13959
13963
  !isUpdate && (React.createElement(Input, { title: 'Destination name', placeholder: 'Enter destination name', value: formData['name'], onChange: (e) => {
@@ -13988,7 +13992,7 @@ const DataContainer$2 = styled.div `
13988
13992
  const DestinationDrawer = ({ categories, updateDestination, deleteDestination, testConnection, testLoading, testResult }) => {
13989
13993
  const { destinations } = useEntityStore();
13990
13994
  const { drawerType, drawerEntityId, setDrawerEntityId, setDrawerType } = useDrawerStore();
13991
- const isOpen = drawerType !== ENTITY_TYPES.DESTINATION;
13995
+ const isOpen = drawerType !== EntityTypes.Destination;
13992
13996
  const onClose = () => {
13993
13997
  setDrawerType(null);
13994
13998
  setDrawerEntityId(null);
@@ -14043,7 +14047,7 @@ const DestinationDrawer = ({ categories, updateDestination, deleteDestination, t
14043
14047
  onClose();
14044
14048
  };
14045
14049
  const handleSave = async (newTitle) => {
14046
- if (validateForm({ withAlert: true, alertTitle: CRUD.UPDATE })) {
14050
+ if (validateForm({ withAlert: true, alertTitle: Crud.Update })) {
14047
14051
  const title = newTitle !== thisItem.destinationType.displayName ? newTitle : '';
14048
14052
  handleFormChange('name', title);
14049
14053
  updateDestination(drawerEntityId, { ...formData, name: title });
@@ -14124,7 +14128,7 @@ const DROPDOWN_OPTIONS = [
14124
14128
  { value: 'Self-hosted', id: 'self hosted' },
14125
14129
  ];
14126
14130
  const DEFAULT_CATEGORY = DROPDOWN_OPTIONS[0];
14127
- const DEFAULT_MONITORS = [SIGNAL_TYPE.LOGS, SIGNAL_TYPE.METRICS, SIGNAL_TYPE.TRACES];
14131
+ const DEFAULT_MONITORS = [SignalType.Logs, SignalType.Metrics, SignalType.Traces];
14128
14132
  const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSelect }) => {
14129
14133
  const [search, setSearch] = useState('');
14130
14134
  const [selectedCategory, setSelectedCategory] = useState(DEFAULT_CATEGORY);
@@ -14173,7 +14177,7 @@ const SideMenuWrapper = styled.div `
14173
14177
  const DestinationModal = ({ isOnboarding, categories, potentialDestinations, createDestination, testConnection, testLoading, testResult }) => {
14174
14178
  const { addConfiguredDestination } = useSetupStore();
14175
14179
  const { currentModal, setCurrentModal } = useModalStore();
14176
- const isOpen = currentModal === ENTITY_TYPES.DESTINATION;
14180
+ const isOpen = currentModal === EntityTypes.Destination;
14177
14181
  const [selectedItem, setSelectedItem] = useState(undefined);
14178
14182
  const { formData, formErrors, handleFormChange, resetFormData, validateForm, setYamlFields, dynamicFields, setDynamicFields } = useDestinationFormData({
14179
14183
  supportedSignals: selectedItem?.supportedSignals,
@@ -14195,13 +14199,13 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
14195
14199
  setSelectedItem(item);
14196
14200
  };
14197
14201
  const handleSubmit = async () => {
14198
- const isFormOk = validateForm({ withAlert: !isOnboarding, alertTitle: CRUD.CREATE });
14202
+ const isFormOk = validateForm({ withAlert: !isOnboarding, alertTitle: Crud.Create });
14199
14203
  if (!isFormOk)
14200
14204
  return null;
14201
14205
  if (isOnboarding) {
14202
14206
  const destinationTypeDetails = dynamicFields.map((field) => ({
14203
14207
  title: field.title || '',
14204
- value: (field.componentType === FIELD_TYPES.DROPDOWN ? field.value?.value || '' : field.value),
14208
+ value: (field.componentType === FieldTypes.Dropdown ? field.value?.value || '' : field.value),
14205
14209
  }));
14206
14210
  destinationTypeDetails.unshift({
14207
14211
  title: 'Destination name',
@@ -14246,7 +14250,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
14246
14250
  React.createElement(Container$8, null,
14247
14251
  React.createElement(SideMenuWrapper, null,
14248
14252
  React.createElement(Stepper, { currentStep: !!selectedItem ? 2 : 1, data: [
14249
- { stepNumber: 1, title: 'DESTINATIONS' },
14253
+ { stepNumber: 1, title: 'Destinations' },
14250
14254
  { stepNumber: 2, title: 'CONNECTION' },
14251
14255
  ] })),
14252
14256
  React.createElement(ModalBody, { style: { margin: '32px 24px 12px 24px' } },
@@ -14275,7 +14279,7 @@ const ListItem$1 = ({ item, isLastItem, ...props }) => {
14275
14279
  return (React.createElement(React.Fragment, null,
14276
14280
  React.createElement(DataTab, { title: item.displayName, iconSrc: item.imageUrl, monitors: Object.keys(item.exportedSignals).filter((signal) => item.exportedSignals[signal] === true), monitorsWithLabels: true, withExtend: true, renderExtended: () => React.createElement(DataCardFields, { data: item.destinationTypeDetails }), renderActions: () => (React.createElement(IconButton, { onClick: () => setDeleteWarning(true) },
14277
14281
  React.createElement(TrashIcon, null))), ...props }),
14278
- React.createElement(DeleteWarning, { isOpen: deleteWarning, name: item.displayName || item.type, type: ENTITY_TYPES.DESTINATION, isLastItem: isLastItem, onApprove: () => removeConfiguredDestination(item), onDeny: () => setDeleteWarning(false) })));
14282
+ React.createElement(DeleteWarning, { isOpen: deleteWarning, name: item.displayName || item.type, type: EntityTypes.Destination, isLastItem: isLastItem, onApprove: () => removeConfiguredDestination(item), onDeny: () => setDeleteWarning(false) })));
14279
14283
  };
14280
14284
 
14281
14285
  const ContentWrapper = styled.div `
@@ -14299,18 +14303,18 @@ const StyledAddDestinationButton = styled(Button) `
14299
14303
  const DestinationSelectionForm = ({ categories, potentialDestinations, createDestination, isLoading, testConnection, testLoading, testResult, isSourcesListEmpty, goToSources, }) => {
14300
14304
  const theme = Theme.useTheme();
14301
14305
  const { setCurrentModal } = useModalStore();
14302
- const onOpen = () => setCurrentModal(ENTITY_TYPES.DESTINATION);
14306
+ const onOpen = () => setCurrentModal(EntityTypes.Destination);
14303
14307
  return (React.createElement(ContentWrapper, null,
14304
14308
  React.createElement(SectionTitle, { title: 'Configure destinations', description: 'Select destinations where telemetry data will be sent and configure their settings.' }),
14305
14309
  !isLoading && isSourcesListEmpty && (React.createElement(NotificationNoteWrapper, null,
14306
- React.createElement(NotificationNote, { type: STATUS_TYPE.WARNING, message: 'No sources selected. Please go back to select sources.', action: {
14310
+ React.createElement(NotificationNote, { type: StatusType.Warning, message: 'No sources selected. Please go back to select sources.', action: {
14307
14311
  label: 'Select Sources',
14308
14312
  onClick: goToSources,
14309
14313
  } }))),
14310
14314
  React.createElement(AddDestinationButtonWrapper, null,
14311
14315
  React.createElement(StyledAddDestinationButton, { variant: 'secondary', disabled: isLoading, onClick: onOpen },
14312
14316
  React.createElement(PlusIcon$1, null),
14313
- React.createElement(Text, { color: theme.colors.secondary, size: 14, decoration: 'underline', family: 'secondary' }, "ADD DESTINATION")),
14317
+ React.createElement(Text, { color: theme.colors.secondary, size: 14, decoration: 'underline', family: 'secondary' }, "ADD Destination")),
14314
14318
  React.createElement(DestinationModal, { isOnboarding: true, categories: categories, potentialDestinations: potentialDestinations, createDestination: createDestination, testConnection: testConnection, testLoading: testLoading, testResult: testResult })),
14315
14319
  isLoading ? (React.createElement(CenterThis, null,
14316
14320
  React.createElement(FadeLoader, { scale: 2, cssOverride: { marginTop: '3rem' } }))) : (React.createElement(ConfiguredList, null))));
@@ -14320,7 +14324,7 @@ const columns$2 = [
14320
14324
  { key: 'icon', title: '' },
14321
14325
  { key: 'name', title: DISPLAY_TITLES.NAME, sortable: true },
14322
14326
  { key: 'type', title: DISPLAY_TITLES.TYPE, sortable: true },
14323
- { key: 'signals', title: DISPLAY_TITLES.MONITORS },
14327
+ { key: 'signals', title: DISPLAY_TITLES.Monitors },
14324
14328
  { key: 'conditions', title: 'Conditions' },
14325
14329
  { key: 'throughput', title: 'Throughput', sortable: true },
14326
14330
  ];
@@ -14333,8 +14337,12 @@ const DestinationTable = ({ metrics, maxHeight, maxWidth }) => {
14333
14337
  const rows = useMemo(() => filtered.map((dest) => {
14334
14338
  const { hasErrors, hasWarnings, hasDisableds } = getConditionsBooleans(dest.conditions || []);
14335
14339
  return {
14336
- status: hasErrors ? STATUS_TYPE.ERROR : hasWarnings ? STATUS_TYPE.WARNING : undefined,
14340
+ status: hasErrors ? StatusType.Error : hasWarnings ? StatusType.Warning : undefined,
14337
14341
  faded: hasDisableds,
14342
+ onClick: () => {
14343
+ setDrawerType(EntityTypes.Destination);
14344
+ setDrawerEntityId(dest.id);
14345
+ },
14338
14346
  cells: [
14339
14347
  {
14340
14348
  columnKey: 'icon',
@@ -14342,7 +14350,7 @@ const DestinationTable = ({ metrics, maxHeight, maxWidth }) => {
14342
14350
  },
14343
14351
  {
14344
14352
  columnKey: 'name',
14345
- value: getEntityLabel(dest, ENTITY_TYPES.DESTINATION, { prioritizeDisplayName: true }),
14353
+ value: getEntityLabel(dest, EntityTypes.Destination, { prioritizeDisplayName: true }),
14346
14354
  },
14347
14355
  {
14348
14356
  columnKey: 'type',
@@ -14351,7 +14359,7 @@ const DestinationTable = ({ metrics, maxHeight, maxWidth }) => {
14351
14359
  },
14352
14360
  {
14353
14361
  columnKey: 'throughput',
14354
- value: formatBytes(getMetricForEntity(metrics, ENTITY_TYPES.DESTINATION, dest.id).throughput),
14362
+ value: formatBytes(getMetricForEntity(metrics, EntityTypes.Destination, dest.id).throughput),
14355
14363
  textColor: theme.text.info,
14356
14364
  },
14357
14365
  {
@@ -14369,12 +14377,9 @@ const DestinationTable = ({ metrics, maxHeight, maxWidth }) => {
14369
14377
  const badgeTooltip = useMemo(() => (filtered.length !== destinations.length ? DISPLAY_TITLES.FILTERED_COUNT_TOOLTIP : undefined), [filtered, destinations]);
14370
14378
  return (React.createElement(TableContainer, { "$maxWidth": maxWidth },
14371
14379
  React.createElement(TableTitleWrap, null,
14372
- React.createElement(IconTitleBadge, { icon: getEntityIcon(ENTITY_TYPES.DESTINATION), title: DISPLAY_TITLES.DESTINATIONS, badge: badge, badgeTooltip: badgeTooltip, loading: destinationsLoading })),
14380
+ React.createElement(IconTitleBadge, { icon: getEntityIcon(EntityTypes.Destination), title: DISPLAY_TITLES.Destinations, badge: badge, badgeTooltip: badgeTooltip, loading: destinationsLoading })),
14373
14381
  React.createElement(TableWrap, { "$maxHeight": maxHeight },
14374
- React.createElement(InteractiveTable, { columns: columns$2, rows: rows, onRowClick: (idx) => {
14375
- setDrawerType(ENTITY_TYPES.DESTINATION);
14376
- setDrawerEntityId(filtered[idx].id);
14377
- } })),
14382
+ React.createElement(InteractiveTable, { columns: columns$2, rows: rows })),
14378
14383
  !filtered.length && (React.createElement(CenterThis, { style: { marginTop: '2rem' } },
14379
14384
  React.createElement(NoDataFound, null)))));
14380
14385
  };
@@ -14383,11 +14388,11 @@ const buildCard$1 = (rule) => {
14383
14388
  const { type, ruleName, notes, disabled, profileName, payloadCollection, codeAttributes } = rule;
14384
14389
  const arr = [
14385
14390
  { title: DISPLAY_TITLES.TYPE, value: type },
14386
- { type: DATA_CARD_FIELD_TYPES.ACTIVE_STATUS, title: DISPLAY_TITLES.STATUS, value: String(!disabled) },
14391
+ { type: DataCardFieldTypes.ActiveStatus, title: DISPLAY_TITLES.STATUS, value: String(!disabled) },
14387
14392
  { title: DISPLAY_TITLES.NAME, value: ruleName },
14388
14393
  { title: DISPLAY_TITLES.NOTES, value: notes },
14389
14394
  { title: DISPLAY_TITLES.MANAGED_BY_PROFILE, value: profileName },
14390
- { type: DATA_CARD_FIELD_TYPES.DIVIDER },
14395
+ { type: DataCardFieldTypes.Divider },
14391
14396
  ];
14392
14397
  if (!!payloadCollection) {
14393
14398
  const str = Object.entries(payloadCollection)
@@ -14422,34 +14427,34 @@ const ListContainer$1 = styled.div `
14422
14427
  `;
14423
14428
  const recommendedList = [
14424
14429
  {
14425
- id: CODE_ATTRIBUTES_KEY_TYPES.FILE_PATH,
14430
+ id: CodeAttributesKeyTypes.FilePath,
14426
14431
  label: 'Collect File Path',
14427
14432
  tooltip: 'Indicates whether to record the `code.filepath` attribute.',
14428
14433
  },
14429
14434
  {
14430
- id: CODE_ATTRIBUTES_KEY_TYPES.FUNCTION,
14435
+ id: CodeAttributesKeyTypes.Function,
14431
14436
  label: 'Collect Function',
14432
14437
  tooltip: 'Indicates whether to record the `code.function` attribute.',
14433
14438
  },
14434
14439
  {
14435
- id: CODE_ATTRIBUTES_KEY_TYPES.LINE_NUMBER,
14440
+ id: CodeAttributesKeyTypes.LineNumber,
14436
14441
  label: 'Collect Line Number',
14437
14442
  tooltip: 'Indicates whether to record the `code.lineno` attribute.',
14438
14443
  },
14439
14444
  ];
14440
14445
  const verboseList = [
14441
14446
  {
14442
- id: CODE_ATTRIBUTES_KEY_TYPES.COLUMN,
14447
+ id: CodeAttributesKeyTypes.Column,
14443
14448
  label: 'Collect Column',
14444
14449
  tooltip: 'Indicates whether to record the `code.column` attribute.',
14445
14450
  },
14446
14451
  {
14447
- id: CODE_ATTRIBUTES_KEY_TYPES.NAMESPACE,
14452
+ id: CodeAttributesKeyTypes.Namespace,
14448
14453
  label: 'Collect Namespace',
14449
14454
  tooltip: 'Indicates whether to record the `code.namespace` attribute.',
14450
14455
  },
14451
14456
  {
14452
- id: CODE_ATTRIBUTES_KEY_TYPES.STACKTRACE,
14457
+ id: CodeAttributesKeyTypes.StackTrace,
14453
14458
  label: 'Collect Stacktrace',
14454
14459
  tooltip: 'Indicates whether to record the `code.stacktrace` attribute.',
14455
14460
  },
@@ -14463,12 +14468,12 @@ const CodeAttributes = ({ value, setValue, formErrors }) => {
14463
14468
  useEffect(() => {
14464
14469
  if (!mappedValue.length) {
14465
14470
  const payload = {
14466
- [CODE_ATTRIBUTES_KEY_TYPES.COLUMN]: null,
14467
- [CODE_ATTRIBUTES_KEY_TYPES.FILE_PATH]: true,
14468
- [CODE_ATTRIBUTES_KEY_TYPES.FUNCTION]: true,
14469
- [CODE_ATTRIBUTES_KEY_TYPES.LINE_NUMBER]: true,
14470
- [CODE_ATTRIBUTES_KEY_TYPES.NAMESPACE]: null,
14471
- [CODE_ATTRIBUTES_KEY_TYPES.STACKTRACE]: null,
14471
+ [CodeAttributesKeyTypes.Column]: null,
14472
+ [CodeAttributesKeyTypes.FilePath]: true,
14473
+ [CodeAttributesKeyTypes.Function]: true,
14474
+ [CodeAttributesKeyTypes.LineNumber]: true,
14475
+ [CodeAttributesKeyTypes.Namespace]: null,
14476
+ [CodeAttributesKeyTypes.StackTrace]: null,
14472
14477
  };
14473
14478
  setValue('codeAttributes', payload);
14474
14479
  setIsLastSelection(false);
@@ -14477,7 +14482,7 @@ const CodeAttributes = ({ value, setValue, formErrors }) => {
14477
14482
  }, []);
14478
14483
  const handleChange = (id, isAdd) => {
14479
14484
  const arr = isAdd ? [...mappedValue, id] : mappedValue.filter((str) => str !== id);
14480
- const payload = Object.values(CODE_ATTRIBUTES_KEY_TYPES).reduce((acc, attribute) => {
14485
+ const payload = Object.values(CodeAttributesKeyTypes).reduce((acc, attribute) => {
14481
14486
  // @ts-ignore - TS doesn't know that `acc` is initialized 2 rows below
14482
14487
  acc[attribute] = arr.includes(attribute) ? true : null;
14483
14488
  return acc;
@@ -14512,19 +14517,19 @@ const ListContainer = styled.div `
14512
14517
  `;
14513
14518
  const strictPicklist = [
14514
14519
  {
14515
- id: PAYLOAD_COLLECTION_KEY_TYPES.HTTP_REQUEST,
14520
+ id: PayloadCollectionKeyTypes.HttpRequest,
14516
14521
  label: 'Collect HTTP Request',
14517
14522
  },
14518
14523
  {
14519
- id: PAYLOAD_COLLECTION_KEY_TYPES.HTTP_RESPONSE,
14524
+ id: PayloadCollectionKeyTypes.HttpResponse,
14520
14525
  label: 'Collect HTTP Response',
14521
14526
  },
14522
14527
  {
14523
- id: PAYLOAD_COLLECTION_KEY_TYPES.DB_QUERY,
14528
+ id: PayloadCollectionKeyTypes.DbQuery,
14524
14529
  label: 'Collect DB Query',
14525
14530
  },
14526
14531
  {
14527
- id: PAYLOAD_COLLECTION_KEY_TYPES.MESSAGING,
14532
+ id: PayloadCollectionKeyTypes.Messaging,
14528
14533
  label: 'Collect Messaging',
14529
14534
  },
14530
14535
  ];
@@ -14537,10 +14542,10 @@ const PayloadCollection = ({ value, setValue, formErrors }) => {
14537
14542
  useEffect(() => {
14538
14543
  if (!mappedValue.length) {
14539
14544
  const payload = {
14540
- [PAYLOAD_COLLECTION_KEY_TYPES.HTTP_REQUEST]: {},
14541
- [PAYLOAD_COLLECTION_KEY_TYPES.HTTP_RESPONSE]: {},
14542
- [PAYLOAD_COLLECTION_KEY_TYPES.DB_QUERY]: {},
14543
- [PAYLOAD_COLLECTION_KEY_TYPES.MESSAGING]: {},
14545
+ [PayloadCollectionKeyTypes.HttpRequest]: {},
14546
+ [PayloadCollectionKeyTypes.HttpResponse]: {},
14547
+ [PayloadCollectionKeyTypes.DbQuery]: {},
14548
+ [PayloadCollectionKeyTypes.Messaging]: {},
14544
14549
  };
14545
14550
  setValue('payloadCollection', payload);
14546
14551
  setIsLastSelection(false);
@@ -14550,10 +14555,10 @@ const PayloadCollection = ({ value, setValue, formErrors }) => {
14550
14555
  const handleChange = (id, isAdd) => {
14551
14556
  const arr = isAdd ? [...mappedValue, id] : mappedValue.filter((str) => str !== id);
14552
14557
  const payload = {
14553
- [PAYLOAD_COLLECTION_KEY_TYPES.HTTP_REQUEST]: arr.includes(PAYLOAD_COLLECTION_KEY_TYPES.HTTP_REQUEST) ? {} : null,
14554
- [PAYLOAD_COLLECTION_KEY_TYPES.HTTP_RESPONSE]: arr.includes(PAYLOAD_COLLECTION_KEY_TYPES.HTTP_RESPONSE) ? {} : null,
14555
- [PAYLOAD_COLLECTION_KEY_TYPES.DB_QUERY]: arr.includes(PAYLOAD_COLLECTION_KEY_TYPES.DB_QUERY) ? {} : null,
14556
- [PAYLOAD_COLLECTION_KEY_TYPES.MESSAGING]: arr.includes(PAYLOAD_COLLECTION_KEY_TYPES.MESSAGING) ? {} : null,
14558
+ [PayloadCollectionKeyTypes.HttpRequest]: arr.includes(PayloadCollectionKeyTypes.HttpRequest) ? {} : null,
14559
+ [PayloadCollectionKeyTypes.HttpResponse]: arr.includes(PayloadCollectionKeyTypes.HttpResponse) ? {} : null,
14560
+ [PayloadCollectionKeyTypes.DbQuery]: arr.includes(PayloadCollectionKeyTypes.DbQuery) ? {} : null,
14561
+ [PayloadCollectionKeyTypes.Messaging]: arr.includes(PayloadCollectionKeyTypes.Messaging) ? {} : null,
14557
14562
  };
14558
14563
  setValue('payloadCollection', payload);
14559
14564
  setIsLastSelection(arr.length === 1);
@@ -14565,9 +14570,9 @@ const PayloadCollection = ({ value, setValue, formErrors }) => {
14565
14570
  };
14566
14571
 
14567
14572
  const componentsMap = {
14568
- [INSTRUMENTATION_RULE_TYPE.PAYLOAD_COLLECTION]: PayloadCollection,
14569
- [INSTRUMENTATION_RULE_TYPE.CODE_ATTRIBUTES]: CodeAttributes,
14570
- [INSTRUMENTATION_RULE_TYPE.UNKNOWN_TYPE]: null,
14573
+ [InstrumentationRuleType.PayloadCollection]: PayloadCollection,
14574
+ [InstrumentationRuleType.CodeAttributes]: CodeAttributes,
14575
+ [InstrumentationRuleType.UnknownType]: null,
14571
14576
  };
14572
14577
  const CustomFields = ({ ruleType, value, setValue, formErrors }) => {
14573
14578
  if (!ruleType)
@@ -14611,7 +14616,7 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14611
14616
  const { instrumentationRules } = useEntityStore();
14612
14617
  const { addNotification } = useNotificationStore();
14613
14618
  const { drawerType, drawerEntityId, setDrawerType, setDrawerEntityId } = useDrawerStore();
14614
- const isOpen = drawerType !== ENTITY_TYPES.INSTRUMENTATION_RULE;
14619
+ const isOpen = drawerType !== EntityTypes.InstrumentationRule;
14615
14620
  const onClose = () => {
14616
14621
  setDrawerType(null);
14617
14622
  setDrawerEntityId(null);
@@ -14633,10 +14638,10 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14633
14638
  const handleEdit = (bool) => {
14634
14639
  if (!thisItem.mutable && (bool || bool === undefined)) {
14635
14640
  addNotification({
14636
- type: STATUS_TYPE.WARNING,
14641
+ type: StatusType.Warning,
14637
14642
  title: FORM_ALERTS.FORBIDDEN,
14638
14643
  message: FORM_ALERTS.CANNOT_EDIT_RULE,
14639
- crdType: ENTITY_TYPES.INSTRUMENTATION_RULE,
14644
+ crdType: EntityTypes.InstrumentationRule,
14640
14645
  target: drawerEntityId,
14641
14646
  hideFromHistory: true,
14642
14647
  });
@@ -14653,10 +14658,10 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14653
14658
  const handleDelete = () => {
14654
14659
  if (!thisItem.mutable) {
14655
14660
  addNotification({
14656
- type: STATUS_TYPE.WARNING,
14661
+ type: StatusType.Warning,
14657
14662
  title: FORM_ALERTS.FORBIDDEN,
14658
14663
  message: FORM_ALERTS.CANNOT_DELETE_RULE,
14659
- crdType: ENTITY_TYPES.INSTRUMENTATION_RULE,
14664
+ crdType: EntityTypes.InstrumentationRule,
14660
14665
  target: drawerEntityId,
14661
14666
  hideFromHistory: true,
14662
14667
  });
@@ -14671,7 +14676,7 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14671
14676
  }
14672
14677
  };
14673
14678
  const handleSave = (newTitle) => {
14674
- if (validateForm({ withAlert: true, alertTitle: CRUD.UPDATE })) {
14679
+ if (validateForm({ withAlert: true, alertTitle: Crud.Update })) {
14675
14680
  const title = newTitle !== thisItem.type ? newTitle : '';
14676
14681
  handleFormChange('ruleName', title);
14677
14682
  updateInstrumentationRule(drawerEntityId, { ...formData, ruleName: title });
@@ -14688,7 +14693,7 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14688
14693
 
14689
14694
  const InstrumentationRuleModal = ({ isEnterprise, createInstrumentationRule }) => {
14690
14695
  const { currentModal, setCurrentModal } = useModalStore();
14691
- const isOpen = currentModal === ENTITY_TYPES.INSTRUMENTATION_RULE;
14696
+ const isOpen = currentModal === EntityTypes.InstrumentationRule;
14692
14697
  const { formData, formErrors, handleFormChange, resetFormData, validateForm } = useInstrumentationRuleFormData();
14693
14698
  const [selectedItem, setSelectedItem] = useState(undefined);
14694
14699
  const handleClose = () => {
@@ -14701,7 +14706,7 @@ const InstrumentationRuleModal = ({ isEnterprise, createInstrumentationRule }) =
14701
14706
  setSelectedItem(item);
14702
14707
  };
14703
14708
  const handleSubmit = () => {
14704
- const isFormOk = validateForm({ withAlert: true, alertTitle: CRUD.CREATE });
14709
+ const isFormOk = validateForm({ withAlert: true, alertTitle: Crud.Create });
14705
14710
  if (!isFormOk)
14706
14711
  return null;
14707
14712
  createInstrumentationRule(formData);
@@ -14719,7 +14724,7 @@ const InstrumentationRuleModal = ({ isEnterprise, createInstrumentationRule }) =
14719
14724
  ] }) },
14720
14725
  React.createElement(ModalBody, null,
14721
14726
  React.createElement(SectionTitle, { title: 'Select Instrumentation Rule', description: 'Define how telemetry is recorded from your application. Choose a rule type and configure the details.' }),
14722
- !isEnterprise && React.createElement(NotificationNote, { type: STATUS_TYPE.DEFAULT, message: FORM_ALERTS.ENTERPRISE_ONLY('Instrumentation Rules'), style: { marginTop: '24px' } }),
14727
+ !isEnterprise && React.createElement(NotificationNote, { type: StatusType.Default, message: FORM_ALERTS.ENTERPRISE_ONLY('Instrumentation Rules'), style: { marginTop: '24px' } }),
14723
14728
  React.createElement(AutocompleteInput, { options: INSTRUMENTATION_RULE_OPTIONS, selectedOption: selectedItem, onOptionSelect: (opt) => handleSelect(opt), style: { marginTop: isEnterprise ? '24px' : '12px' }, autoFocus: !selectedItem?.type }),
14724
14729
  !!selectedItem?.type ? (React.createElement("div", null,
14725
14730
  React.createElement(Divider, { margin: '16px 0' }),
@@ -14762,6 +14767,10 @@ const InstrumentationRuleTable = ({ maxHeight, maxWidth }) => {
14762
14767
  // note: rules do not have filters yet
14763
14768
  instrumentationRules.map((rule) => {
14764
14769
  return {
14770
+ onClick: () => {
14771
+ setDrawerType(EntityTypes.InstrumentationRule);
14772
+ setDrawerEntityId(rule.ruleId);
14773
+ },
14765
14774
  cells: [
14766
14775
  {
14767
14776
  columnKey: 'icon',
@@ -14769,7 +14778,7 @@ const InstrumentationRuleTable = ({ maxHeight, maxWidth }) => {
14769
14778
  },
14770
14779
  {
14771
14780
  columnKey: 'name',
14772
- value: getEntityLabel(rule, ENTITY_TYPES.INSTRUMENTATION_RULE, { prioritizeDisplayName: true }),
14781
+ value: getEntityLabel(rule, EntityTypes.InstrumentationRule, { prioritizeDisplayName: true }),
14773
14782
  },
14774
14783
  {
14775
14784
  columnKey: 'type',
@@ -14796,24 +14805,21 @@ const InstrumentationRuleTable = ({ maxHeight, maxWidth }) => {
14796
14805
  {
14797
14806
  columnKey: 'active-status',
14798
14807
  component: () => (React.createElement("div", { style: { lineHeight: 1 } },
14799
- React.createElement(Status, { status: rule.disabled ? STATUS_TYPE.ERROR : STATUS_TYPE.SUCCESS, title: rule.disabled ? 'Inactive' : 'Active', withIcon: true, withBorder: true }))),
14808
+ React.createElement(Status, { status: rule.disabled ? StatusType.Error : StatusType.Success, title: rule.disabled ? 'Inactive' : 'Active', withIcon: true, withBorder: true }))),
14800
14809
  },
14801
14810
  {
14802
14811
  columnKey: 'source-count',
14803
14812
  component: () => (React.createElement("div", { style: { lineHeight: 1 } },
14804
- React.createElement(Status, { status: STATUS_TYPE.INFO, title: 'all sources', withBorder: true }))),
14813
+ React.createElement(Status, { status: StatusType.Info, title: 'all sources', withBorder: true }))),
14805
14814
  },
14806
14815
  ],
14807
14816
  };
14808
14817
  }), [instrumentationRules]);
14809
14818
  return (React.createElement(TableContainer, { "$maxWidth": maxWidth },
14810
14819
  React.createElement(TableTitleWrap, null,
14811
- React.createElement(IconTitleBadge, { icon: getEntityIcon(ENTITY_TYPES.ACTION), title: DISPLAY_TITLES.INSTRUMENTATION_RULES, badge: instrumentationRules.length, loading: instrumentationRulesLoading })),
14820
+ React.createElement(IconTitleBadge, { icon: getEntityIcon(EntityTypes.Action), title: DISPLAY_TITLES.InstrumentationRules, badge: instrumentationRules.length, loading: instrumentationRulesLoading })),
14812
14821
  React.createElement(TableWrap, { "$maxHeight": maxHeight },
14813
- React.createElement(InteractiveTable, { columns: columns$1, rows: rows, onRowClick: (idx) => {
14814
- setDrawerType(ENTITY_TYPES.INSTRUMENTATION_RULE);
14815
- setDrawerEntityId(instrumentationRules[idx].ruleId);
14816
- } })),
14822
+ React.createElement(InteractiveTable, { columns: columns$1, rows: rows })),
14817
14823
  !instrumentationRules.length && (React.createElement(CenterThis, { style: { marginTop: '2rem' } },
14818
14824
  React.createElement(NoDataFound, null)))));
14819
14825
  };
@@ -14866,7 +14872,7 @@ const MultiSourceControl = ({ totalSourceCount, uninstrumentSources }) => {
14866
14872
  React.createElement(Button, { variant: 'tertiary', onClick: () => setIsWarnModalOpen(true) },
14867
14873
  React.createElement(TrashIcon, null),
14868
14874
  React.createElement(Text, { family: 'secondary', decoration: 'underline', color: theme.text.error }, "Uninstrument"))),
14869
- React.createElement(DeleteWarning, { isOpen: isWarnModalOpen, name: `${totalSelected} sources`, type: ENTITY_TYPES.SOURCE, isLastItem: totalSelected === totalSourceCount, onApprove: onDelete, onDeny: () => setIsWarnModalOpen(false) })));
14875
+ React.createElement(DeleteWarning, { isOpen: isWarnModalOpen, name: `${totalSelected} sources`, type: EntityTypes.Source, isLastItem: totalSelected === totalSourceCount, onApprove: onDelete, onDeny: () => setIsWarnModalOpen(false) })));
14870
14876
  };
14871
14877
 
14872
14878
  const RelativeContainer = styled.div `
@@ -14995,7 +15001,7 @@ const NotificationListItem = ({ id, seen, type, title, message, time, crdType, t
14995
15001
  const timeAgo = useTimeAgo();
14996
15002
  const { onClickNotification } = useClickNotification();
14997
15003
  const canClick = !!crdType && !!target;
14998
- const isDeleted = title?.toLowerCase().includes(CRUD.DELETE.toLowerCase()) || false;
15004
+ const isDeleted = title?.toLowerCase().includes(Crud.Delete.toLowerCase()) || false;
14999
15005
  const Icon = getStatusIcon(type, theme);
15000
15006
  return (React.createElement(NotifCard, { key: `notification-${id}`, className: canClick ? 'click-enabled' : '', onClick: () => {
15001
15007
  if (canClick) {
@@ -15003,7 +15009,7 @@ const NotificationListItem = ({ id, seen, type, title, message, time, crdType, t
15003
15009
  onClickNotification({ id, crdType, target });
15004
15010
  }
15005
15011
  } },
15006
- React.createElement(StatusIcon, { "$type": isDeleted ? STATUS_TYPE.ERROR : type }, isDeleted ? React.createElement(TrashIcon, null) : React.createElement(Icon, null)),
15012
+ React.createElement(StatusIcon, { "$type": isDeleted ? StatusType.Error : type }, isDeleted ? React.createElement(TrashIcon, null) : React.createElement(Icon, null)),
15007
15013
  React.createElement(NotifTextWrap, null,
15008
15014
  React.createElement(NotifHeaderTextWrap, null,
15009
15015
  React.createElement(Text, { size: 14 }, message)),
@@ -15014,24 +15020,24 @@ const NotificationListItem = ({ id, seen, type, title, message, time, crdType, t
15014
15020
  React.createElement(Text, { size: 10, color: theme.colors.orange_soft }, "new")))))));
15015
15021
  };
15016
15022
 
15017
- var NAV_ICON_IDS;
15018
- (function (NAV_ICON_IDS) {
15019
- NAV_ICON_IDS["OVERVIEW"] = "overview";
15020
- NAV_ICON_IDS["INSTRUMENTATION_RULES"] = "instrumentation-rules";
15021
- NAV_ICON_IDS["SOURCES"] = "sources";
15022
- NAV_ICON_IDS["ACTIONS"] = "actions";
15023
- NAV_ICON_IDS["DESTINATIONS"] = "destinations";
15024
- })(NAV_ICON_IDS || (NAV_ICON_IDS = {}));
15023
+ var NavIconIds;
15024
+ (function (NavIconIds) {
15025
+ NavIconIds["Overview"] = "overview";
15026
+ NavIconIds["InstrumentationRules"] = "instrumentation rule";
15027
+ NavIconIds["Sources"] = "source";
15028
+ NavIconIds["Actions"] = "action";
15029
+ NavIconIds["Destinations"] = "destination";
15030
+ })(NavIconIds || (NavIconIds = {}));
15025
15031
  const SideNav = ({ onClickId, defaultSelectedId, extendedNavIcons }) => {
15026
15032
  const [selectedId, setSelectedId] = useState(defaultSelectedId || '');
15027
15033
  const mainIcons = useMemo(() => [
15028
15034
  {
15029
- id: NAV_ICON_IDS.OVERVIEW,
15035
+ id: NavIconIds.Overview,
15030
15036
  icon: OverviewIcon,
15031
- selected: selectedId === NAV_ICON_IDS.OVERVIEW,
15037
+ selected: selectedId === NavIconIds.Overview,
15032
15038
  onClick: () => {
15033
- setSelectedId(NAV_ICON_IDS.OVERVIEW);
15034
- onClickId(NAV_ICON_IDS.OVERVIEW);
15039
+ setSelectedId(NavIconIds.Overview);
15040
+ onClickId(NavIconIds.Overview);
15035
15041
  },
15036
15042
  tooltip: 'Overview',
15037
15043
  },
@@ -15044,45 +15050,45 @@ const SideNav = ({ onClickId, defaultSelectedId, extendedNavIcons }) => {
15044
15050
  },
15045
15051
  })),
15046
15052
  ], [selectedId]);
15047
- const subIcons = useMemo(() => [NAV_ICON_IDS.OVERVIEW, NAV_ICON_IDS.INSTRUMENTATION_RULES, NAV_ICON_IDS.SOURCES, NAV_ICON_IDS.ACTIONS, NAV_ICON_IDS.DESTINATIONS].includes(selectedId)
15053
+ const subIcons = useMemo(() => [NavIconIds.Overview, NavIconIds.InstrumentationRules, NavIconIds.Sources, NavIconIds.Actions, NavIconIds.Destinations].includes(selectedId)
15048
15054
  ? [
15049
15055
  {
15050
- id: NAV_ICON_IDS.INSTRUMENTATION_RULES,
15056
+ id: NavIconIds.InstrumentationRules,
15051
15057
  icon: RulesIcon,
15052
- selected: selectedId === NAV_ICON_IDS.INSTRUMENTATION_RULES,
15058
+ selected: selectedId === NavIconIds.InstrumentationRules,
15053
15059
  onClick: () => {
15054
- setSelectedId(NAV_ICON_IDS.INSTRUMENTATION_RULES);
15055
- onClickId(NAV_ICON_IDS.INSTRUMENTATION_RULES);
15060
+ setSelectedId(NavIconIds.InstrumentationRules);
15061
+ onClickId(NavIconIds.InstrumentationRules);
15056
15062
  },
15057
15063
  tooltip: 'Instrumentation Rules',
15058
15064
  },
15059
15065
  {
15060
- id: NAV_ICON_IDS.SOURCES,
15066
+ id: NavIconIds.Sources,
15061
15067
  icon: SourcesIcon,
15062
- selected: selectedId === NAV_ICON_IDS.SOURCES,
15068
+ selected: selectedId === NavIconIds.Sources,
15063
15069
  onClick: () => {
15064
- setSelectedId(NAV_ICON_IDS.SOURCES);
15065
- onClickId(NAV_ICON_IDS.SOURCES);
15070
+ setSelectedId(NavIconIds.Sources);
15071
+ onClickId(NavIconIds.Sources);
15066
15072
  },
15067
15073
  tooltip: 'Sources',
15068
15074
  },
15069
15075
  {
15070
- id: NAV_ICON_IDS.ACTIONS,
15076
+ id: NavIconIds.Actions,
15071
15077
  icon: ActionsIcon,
15072
- selected: selectedId === NAV_ICON_IDS.ACTIONS,
15078
+ selected: selectedId === NavIconIds.Actions,
15073
15079
  onClick: () => {
15074
- setSelectedId(NAV_ICON_IDS.ACTIONS);
15075
- onClickId(NAV_ICON_IDS.ACTIONS);
15080
+ setSelectedId(NavIconIds.Actions);
15081
+ onClickId(NavIconIds.Actions);
15076
15082
  },
15077
15083
  tooltip: 'Actions',
15078
15084
  },
15079
15085
  {
15080
- id: NAV_ICON_IDS.DESTINATIONS,
15086
+ id: NavIconIds.Destinations,
15081
15087
  icon: DestinationsIcon,
15082
- selected: selectedId === NAV_ICON_IDS.DESTINATIONS,
15088
+ selected: selectedId === NavIconIds.Destinations,
15083
15089
  onClick: () => {
15084
- setSelectedId(NAV_ICON_IDS.DESTINATIONS);
15085
- onClickId(NAV_ICON_IDS.DESTINATIONS);
15090
+ setSelectedId(NavIconIds.Destinations);
15091
+ onClickId(NavIconIds.Destinations);
15086
15092
  },
15087
15093
  tooltip: 'Destinations',
15088
15094
  },
@@ -15118,18 +15124,18 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15118
15124
  }
15119
15125
  return (React.createElement(FlexColumn, { "$gap": 12 }, !describe.pods?.length ? (React.createElement(CenterThis, null,
15120
15126
  React.createElement(NoDataFound, { subTitle: 'Check if you have any running pods and try again' }))) : (describe.pods.map(({ podName, nodeName, phase, containers }) => {
15121
- const podHasErrors = phase.status !== STATUS_TYPE.SUCCESS ||
15122
- containers.findIndex(({ instrumentationInstances }) => instrumentationInstances.findIndex(({ healthy }) => healthy.status !== STATUS_TYPE.SUCCESS) !== -1) !== -1;
15123
- const podStatus = podHasErrors ? STATUS_TYPE.ERROR : STATUS_TYPE.SUCCESS;
15124
- const divider = { type: DATA_CARD_FIELD_TYPES.DIVIDER };
15127
+ const podHasErrors = phase.status !== StatusType.Success ||
15128
+ containers.findIndex(({ instrumentationInstances }) => instrumentationInstances.findIndex(({ healthy }) => healthy.status !== StatusType.Success) !== -1) !== -1;
15129
+ const podStatus = podHasErrors ? StatusType.Error : StatusType.Success;
15130
+ const divider = { type: DataCardFieldTypes.Divider };
15125
15131
  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: [
15126
15132
  {
15127
- type: DATA_CARD_FIELD_TYPES.COPY_TEXT,
15133
+ type: DataCardFieldTypes.CopyText,
15128
15134
  value: `kubectl get pod ${podName.value} -n ${describe?.namespace?.value || source.namespace}`,
15129
15135
  },
15130
15136
  divider,
15131
15137
  {
15132
- type: DATA_CARD_FIELD_TYPES.DESCRIBE_ROW,
15138
+ type: DataCardFieldTypes.DescribeRow,
15133
15139
  value: JSON.stringify({
15134
15140
  title: nodeName.name,
15135
15141
  tooltip: nodeName.explain,
@@ -15141,7 +15147,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15141
15147
  },
15142
15148
  divider,
15143
15149
  {
15144
- type: DATA_CARD_FIELD_TYPES.DESCRIBE_ROW,
15150
+ type: DataCardFieldTypes.DescribeRow,
15145
15151
  value: JSON.stringify({
15146
15152
  title: phase.name,
15147
15153
  tooltip: phase.explain,
@@ -15154,7 +15160,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15154
15160
  divider,
15155
15161
  ...containers.map((container) => {
15156
15162
  return {
15157
- type: DATA_CARD_FIELD_TYPES.POD_CONTAINER,
15163
+ type: DataCardFieldTypes.PodContainer,
15158
15164
  value: JSON.stringify({
15159
15165
  containerName: container.containerName.value,
15160
15166
  actualDevice: {
@@ -15177,7 +15183,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
15177
15183
  const buildCard = (source) => {
15178
15184
  const { name, kind, namespace } = source;
15179
15185
  const arr = [
15180
- { title: DISPLAY_TITLES.NAMESPACE, value: namespace },
15186
+ { title: DISPLAY_TITLES.Namespace, value: namespace },
15181
15187
  { title: DISPLAY_TITLES.KIND, value: kind },
15182
15188
  { title: DISPLAY_TITLES.NAME, value: name, tooltip: 'K8s resource name' },
15183
15189
  ];
@@ -15195,11 +15201,11 @@ const SourceForm = ({ formData, handleFormChange }) => {
15195
15201
  React.createElement(Input, { name: 'sourceName', title: 'Source name', tooltip: 'This overrides the default service name that runs in your cluster.', placeholder: 'Use a name that overrides the source name', value: formData.otelServiceName, onChange: ({ target: { value } }) => handleFormChange('otelServiceName', value) })));
15196
15202
  };
15197
15203
 
15198
- var TABS;
15199
- (function (TABS) {
15200
- TABS["OVERVIEW"] = "Overview";
15201
- TABS["PODS"] = "Pods";
15202
- })(TABS || (TABS = {}));
15204
+ var Tabs;
15205
+ (function (Tabs) {
15206
+ Tabs["Overview"] = "Overview";
15207
+ Tabs["Pods"] = "Pods";
15208
+ })(Tabs || (Tabs = {}));
15203
15209
  const FormContainer = styled.div `
15204
15210
  width: 100%;
15205
15211
  height: 100%;
@@ -15215,10 +15221,10 @@ const DataContainer$1 = styled.div `
15215
15221
  const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) => {
15216
15222
  const { sources } = useEntityStore();
15217
15223
  const { drawerType, drawerEntityId, setDrawerEntityId, setDrawerType } = useDrawerStore();
15218
- const [selectedTab, setSelectedTab] = useState(TABS.OVERVIEW);
15219
- const isOpen = drawerType !== ENTITY_TYPES.SOURCE;
15224
+ const [selectedTab, setSelectedTab] = useState(Tabs.Overview);
15225
+ const isOpen = drawerType !== EntityTypes.Source;
15220
15226
  const onClose = () => {
15221
- setSelectedTab(TABS.OVERVIEW);
15227
+ setSelectedTab(Tabs.Overview);
15222
15228
  setDrawerType(null);
15223
15229
  setDrawerEntityId(null);
15224
15230
  };
@@ -15236,7 +15242,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
15236
15242
  if (!thisItem)
15237
15243
  return null;
15238
15244
  const containersData = thisItem.containers?.map((container) => ({
15239
- type: DATA_CARD_FIELD_TYPES.SOURCE_CONTAINER,
15245
+ type: DataCardFieldTypes.SourceContainer,
15240
15246
  value: JSON.stringify(container),
15241
15247
  })) || [];
15242
15248
  const handleEdit = (bool) => {
@@ -15263,18 +15269,18 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
15263
15269
  setIsEditing(false);
15264
15270
  setIsFormDirty(false);
15265
15271
  };
15266
- return (React.createElement(OverviewDrawer, { title: thisItem.otelServiceName || thisItem.name, titleTooltip: 'This attribute is used to identify the name of the service (service.name) that is generating telemetry data.', icon: getEntityIcon(ENTITY_TYPES.SOURCE), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: selectedTab === TABS.OVERVIEW ? handleEdit : undefined, onSave: handleSave, onDelete: selectedTab === TABS.OVERVIEW ? handleDelete : undefined, onCancel: handleCancel, isLastItem: sources.length === 1, tabs: [
15272
+ return (React.createElement(OverviewDrawer, { title: thisItem.otelServiceName || thisItem.name, titleTooltip: 'This attribute is used to identify the name of the service (service.name) that is generating telemetry data.', icon: getEntityIcon(EntityTypes.Source), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: selectedTab === Tabs.Overview ? handleEdit : undefined, onSave: handleSave, onDelete: selectedTab === Tabs.Overview ? handleDelete : undefined, onCancel: handleCancel, isLastItem: sources.length === 1, tabs: [
15267
15273
  {
15268
- label: TABS.OVERVIEW,
15269
- onClick: () => setSelectedTab(TABS.OVERVIEW),
15270
- selected: selectedTab === TABS.OVERVIEW,
15274
+ label: Tabs.Overview,
15275
+ onClick: () => setSelectedTab(Tabs.Overview),
15276
+ selected: selectedTab === Tabs.Overview,
15271
15277
  },
15272
15278
  {
15273
- label: TABS.PODS,
15274
- onClick: () => setSelectedTab(TABS.PODS),
15275
- selected: selectedTab === TABS.PODS,
15279
+ label: Tabs.Pods,
15280
+ onClick: () => setSelectedTab(Tabs.Pods),
15281
+ selected: selectedTab === Tabs.Pods,
15276
15282
  },
15277
- ] }, selectedTab === TABS.OVERVIEW ? (isEditing ? (React.createElement(FormContainer, null,
15283
+ ] }, selectedTab === Tabs.Overview ? (isEditing ? (React.createElement(FormContainer, null,
15278
15284
  React.createElement(SourceForm, { formData: formData, handleFormChange: (...params) => {
15279
15285
  setIsFormDirty(true);
15280
15286
  handleFormChange(...params);
@@ -15540,7 +15546,7 @@ const SourceSelectionForm = forwardRef(({ componentType, isModal, namespaces, na
15540
15546
 
15541
15547
  const SourceModal = ({ componentType = 'FAST', namespaces, namespace, namespacesLoading, selectedNamespace, setSelectedNamespace, persistSources }) => {
15542
15548
  const { currentModal, setCurrentModal } = useModalStore();
15543
- const isOpen = currentModal === ENTITY_TYPES.SOURCE;
15549
+ const isOpen = currentModal === EntityTypes.Source;
15544
15550
  const onSelectNamespace = (ns) => {
15545
15551
  setSelectedNamespace((prev) => (prev === ns ? '' : ns));
15546
15552
  };
@@ -15571,7 +15577,7 @@ const columns = [
15571
15577
  { key: 'checkbox-and-icon', title: '' },
15572
15578
  { key: 'name', title: DISPLAY_TITLES.NAME, sortable: true },
15573
15579
  { key: 'type', title: 'Kubernetes Type', sortable: true },
15574
- { key: 'namespace', title: DISPLAY_TITLES.NAMESPACE, sortable: true },
15580
+ { key: 'namespace', title: DISPLAY_TITLES.Namespace, sortable: true },
15575
15581
  { key: 'containers', title: DISPLAY_TITLES.DETECTED_CONTAINERS },
15576
15582
  { key: 'conditions', title: 'Conditions' },
15577
15583
  { key: 'throughput', title: 'Throughput', sortable: true },
@@ -15605,7 +15611,7 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15605
15611
  const payload = {};
15606
15612
  filtered.forEach((source) => {
15607
15613
  const id = { namespace: source.namespace, name: source.name, kind: source.kind };
15608
- const isPending = isThisPending({ entityType: ENTITY_TYPES.SOURCE, entityId: id });
15614
+ const isPending = isThisPending({ entityType: EntityTypes.Source, entityId: id });
15609
15615
  if (!isPending) {
15610
15616
  if (!payload[source.namespace]) {
15611
15617
  payload[source.namespace] = [source];
@@ -15638,11 +15644,15 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15638
15644
  const rows = useMemo(() => filtered.map((source) => {
15639
15645
  const id = { namespace: source.namespace, name: source.name, kind: source.kind };
15640
15646
  const { hasErrors, hasWarnings, hasDisableds } = getConditionsBooleans(source.conditions || []);
15641
- const isPending = isThisPending({ entityType: ENTITY_TYPES.SOURCE, entityId: id });
15647
+ const isPending = isThisPending({ entityType: EntityTypes.Source, entityId: id });
15642
15648
  const isChecked = !!selectedSources[id.namespace]?.find((x) => x.namespace === id.namespace && x.name === id.name && x.kind === id.kind);
15643
15649
  return {
15644
- status: hasErrors ? STATUS_TYPE.ERROR : hasWarnings ? STATUS_TYPE.WARNING : undefined,
15650
+ status: hasErrors ? StatusType.Error : hasWarnings ? StatusType.Warning : undefined,
15645
15651
  faded: hasDisableds,
15652
+ onClick: () => {
15653
+ setDrawerType(EntityTypes.Source);
15654
+ setDrawerEntityId(id);
15655
+ },
15646
15656
  cells: [
15647
15657
  {
15648
15658
  columnKey: 'checkbox-and-icon',
@@ -15652,7 +15662,7 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15652
15662
  },
15653
15663
  {
15654
15664
  columnKey: 'name',
15655
- value: getEntityLabel(source, ENTITY_TYPES.SOURCE, { extended: true }),
15665
+ value: getEntityLabel(source, EntityTypes.Source, { extended: true }),
15656
15666
  },
15657
15667
  {
15658
15668
  columnKey: 'type',
@@ -15666,7 +15676,7 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15666
15676
  },
15667
15677
  {
15668
15678
  columnKey: 'throughput',
15669
- value: formatBytes(getMetricForEntity(metrics, ENTITY_TYPES.SOURCE, id).throughput),
15679
+ value: formatBytes(getMetricForEntity(metrics, EntityTypes.Source, id).throughput),
15670
15680
  textColor: theme.text.info,
15671
15681
  },
15672
15682
  {
@@ -15676,7 +15686,7 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15676
15686
  {
15677
15687
  columnKey: 'containers',
15678
15688
  component: () => (React.createElement("div", { style: { lineHeight: 1 } },
15679
- React.createElement(Status, { status: STATUS_TYPE.INFO, title: getContainersInstrumentedCount(source.containers), withBorder: true }))),
15689
+ React.createElement(Status, { status: StatusType.Info, title: getContainersInstrumentedCount(source.containers), withBorder: true }))),
15680
15690
  },
15681
15691
  ],
15682
15692
  };
@@ -15686,12 +15696,9 @@ const SourceTable = ({ metrics, maxHeight, maxWidth }) => {
15686
15696
  return (React.createElement(TableContainer, { "$maxWidth": maxWidth },
15687
15697
  React.createElement(TableTitleWrap, null,
15688
15698
  React.createElement(Checkbox, { partiallyChecked: hasSelected && filtered?.length !== totalSelectedSources, value: hasSelected && filtered?.length === totalSelectedSources, onChange: onSelectAll, disabled: !filtered?.length }),
15689
- React.createElement(IconTitleBadge, { icon: getEntityIcon(ENTITY_TYPES.SOURCE), title: DISPLAY_TITLES.SOURCES, badge: badge, badgeTooltip: badgeTooltip, loading: sourcesLoading && !isAwaitingInstrumentation })),
15699
+ React.createElement(IconTitleBadge, { icon: getEntityIcon(EntityTypes.Source), title: DISPLAY_TITLES.Sources, badge: badge, badgeTooltip: badgeTooltip, loading: sourcesLoading && !isAwaitingInstrumentation })),
15690
15700
  React.createElement(TableWrap, { "$maxHeight": maxHeight },
15691
- React.createElement(InteractiveTable, { columns: columns, rows: isAwaitingInstrumentation ? [] : rows, onRowClick: (idx) => {
15692
- setDrawerType(ENTITY_TYPES.SOURCE);
15693
- setDrawerEntityId({ namespace: filtered[idx].namespace, name: filtered[idx].name, kind: filtered[idx].kind });
15694
- } })),
15701
+ React.createElement(InteractiveTable, { columns: columns, rows: isAwaitingInstrumentation ? [] : rows })),
15695
15702
  isAwaitingInstrumentation ? (React.createElement(CenterThis, { style: { marginTop: '2rem', gap: '24px' } },
15696
15703
  React.createElement(TraceLoader, { width: 420 }),
15697
15704
  React.createElement(FlexRow, { "$gap": 16 },
@@ -15754,7 +15761,7 @@ const TokenActions = ({ token, saveToken }) => {
15754
15761
  setIsEdit(false);
15755
15762
  setInputValue(token);
15756
15763
  };
15757
- const SuccessIcon = getStatusIcon(STATUS_TYPE.SUCCESS, theme);
15764
+ const SuccessIcon = getStatusIcon(StatusType.Success, theme);
15758
15765
  useOnClickOutside(popupRef, onCloseEdit);
15759
15766
  return (React.createElement(FlexRow, { "$gap": 0 },
15760
15767
  React.createElement(IconButton, { size: 32, onClick: () => clickCopy(token) }, isCopied ? React.createElement(SuccessIcon, null) : React.createElement(CopyIcon, null)),
@@ -15777,7 +15784,7 @@ const TokenActions = ({ token, saveToken }) => {
15777
15784
  const Tokens = ({ tokens, saveToken }) => {
15778
15785
  return (React.createElement(DataCard, { title: 'Authorization Tokens', titleBadge: tokens.length, data: [
15779
15786
  {
15780
- type: DATA_CARD_FIELD_TYPES.TABLE,
15787
+ type: DataCardFieldTypes.Table,
15781
15788
  value: {
15782
15789
  columns: [
15783
15790
  { key: 'icon', title: '' },
@@ -15820,10 +15827,10 @@ const Describe = ({ fetchDescribeOdigos }) => {
15820
15827
  const mapObjectToCardFields = (obj) => !!obj?.name
15821
15828
  ? [
15822
15829
  {
15823
- type: DATA_CARD_FIELD_TYPES.DIVIDER,
15830
+ type: DataCardFieldTypes.Divider,
15824
15831
  },
15825
15832
  {
15826
- type: DATA_CARD_FIELD_TYPES.DESCRIBE_ROW,
15833
+ type: DataCardFieldTypes.DescribeRow,
15827
15834
  value: JSON.stringify({
15828
15835
  title: obj.name,
15829
15836
  subTitle: obj.explain,
@@ -15950,4 +15957,4 @@ const ToggleDarkMode = () => {
15950
15957
  React.createElement(Background, { "$darkMode": darkMode })));
15951
15958
  };
15952
15959
 
15953
- export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ComputePlatformSelect, ComputePlatforms, ComputePlatformsActionsMenu, ConnectionStatusDropdown, ConnectionTypeDropdown, DataFlow, DataFlowActionsMenu, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NAV_ICON_IDS, NamespaceDropdown, NotificationManager, OverviewDrawer, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, ToastList, ToggleDarkMode };
15960
+ export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ComputePlatformSelect, ComputePlatforms, ComputePlatformsActionsMenu, ConnectionStatusDropdown, ConnectionTypeDropdown, DataFlow, DataFlowActionsMenu, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NamespaceDropdown, NavIconIds, NotificationManager, OverviewDrawer, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, ToastList, ToggleDarkMode };