@odigos/ui-kit 0.0.30 → 0.0.32

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 (36) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/components.js +9 -12
  3. package/lib/constants.js +3 -6
  4. package/lib/containers/instrumentation-rule-form/custom-fields/headers-collection.d.ts +5 -0
  5. package/lib/containers.js +38 -23
  6. package/lib/functions.js +6 -8
  7. package/lib/hooks/useInstrumentationRuleFormData.d.ts +1 -1
  8. package/lib/hooks.js +4 -7
  9. package/lib/icons/instrumentation-rules/headers-collection-icon/headers-collection-icon.stories.d.ts +8 -0
  10. package/lib/icons/instrumentation-rules/headers-collection-icon/index.d.ts +2 -0
  11. package/lib/icons/instrumentation-rules/index.d.ts +1 -0
  12. package/lib/icons.js +7 -8
  13. package/lib/{index-CWbxXTof.js → index-B3j_QWzh.js} +1 -1
  14. package/lib/index-B9cvsYnj.js +100 -0
  15. package/lib/{index-nltUpkWT.js → index-BxckQJom.js} +6 -8
  16. package/lib/{index-CJs4RDHU.js → index-C7YDojNh.js} +2 -3
  17. package/lib/{index-BJxaoI0G.js → index-DAbcw-wM.js} +1 -1
  18. package/lib/{index-CamnKrev.js → index-DR5ryS5d.js} +1 -1
  19. package/lib/{index-B46Mcu9H.js → index-DeD-SIlN.js} +5 -6
  20. package/lib/{index-IKusBlIE.js → index-DuSmjoDs.js} +1 -1
  21. package/lib/{index-BbbCCewR.js → index-PfG5pvFK.js} +1 -1
  22. package/lib/{index-DYNMhZMX.js → index-cG2lNgzz.js} +6 -6
  23. package/lib/index-ivnS3eWW.js +1178 -0
  24. package/lib/{index-BGK1nMOD.js → index-rbphz5kH.js} +2 -2
  25. package/lib/snippets.js +9 -12
  26. package/lib/store.js +2 -2
  27. package/lib/theme.js +3 -233
  28. package/lib/types/instrumentation-rules/index.d.ts +26 -18
  29. package/lib/types.js +15 -9
  30. package/lib/{useSourceSelectionFormData-BWz8fTJr.js → useSourceSelectionFormData-A5_zhn1C.js} +3 -3
  31. package/lib/{useTransition-B65KBqdK.js → useTransition-9tDdAS9s.js} +1 -2
  32. package/package.json +1 -1
  33. package/lib/index-CFnxjzaW.js +0 -37
  34. package/lib/index-DGel4E-Z.js +0 -67
  35. package/lib/index-DGuOxbBR.js +0 -227
  36. package/lib/index-DMXaEyAB.js +0 -720
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.32](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.31...ui-kit-v0.0.32) (2025-05-25)
4
+
5
+
6
+ ### Features
7
+
8
+ * add HTTP Headers instrumentation rule ([#133](https://github.com/odigos-io/ui-kit/issues/133)) ([4caa7d2](https://github.com/odigos-io/ui-kit/commit/4caa7d28615398828ed66514b285bcb9968dda26))
9
+ * enhance filterSourcesByStream to handle default data stream case ([#136](https://github.com/odigos-io/ui-kit/issues/136)) ([b034330](https://github.com/odigos-io/ui-kit/commit/b03433061e72102940075cb9edbe29b2ad145471))
10
+
11
+ ## [0.0.31](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.30...ui-kit-v0.0.31) (2025-05-20)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * data stream drawer crash ([#131](https://github.com/odigos-io/ui-kit/issues/131)) ([aa183d3](https://github.com/odigos-io/ui-kit/commit/aa183d32a6032e6ec759d1d075209ca0a5eb1cda))
17
+
3
18
  ## [0.0.30](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.29...ui-kit-v0.0.30) (2025-05-20)
4
19
 
5
20
 
package/lib/components.js CHANGED
@@ -1,19 +1,16 @@
1
- import { B as Button } from './index-nltUpkWT.js';
2
- export { a as AutocompleteInput, b as Badge, a1 as CenterThis, C as Checkbox, c as Code, d as ConditionDetails, D as DataCard, f as DataCardFieldTypes, e as DataCardFields, g as DataTab, h as Divider, i as DocsButton, j as Drawer, l as DrawerFooter, k as DrawerHeader, m as Dropdown, E as ExtendArrow, F as FadeLoader, n as FieldError, o as FieldLabel, a0 as FlexColumn, $ as FlexRow, H as Header, I as IconButton, p as IconGroup, q as IconTitleBadge, r as IconWrapped, s as IconsNav, t as ImageControlled, u as Input, v as InputList, w as InputTable, x as InteractiveTable, K as KeyValueInputsList, M as Modal, a4 as ModalBody, y as MonitorsCheckboxes, z as MonitorsIcons, N as NavigationButtons, G as NoDataFound, J as NotificationNote, a3 as Overlay, S as ScrollX, L as SectionTitle, O as Segment, P as SelectionButton, Q as SkeletonLoader, R as Status, U as Stepper, a5 as TableContainer, a6 as TableTitleWrap, a7 as TableWrap, V as Text, W as TextArea, X as Toggle, T as ToggleCodeComponent, Y as Tooltip, Z as TraceLoader, a2 as VerticalScroll, _ as WarningModal } from './index-nltUpkWT.js';
3
- export { C as CancelWarning, D as DeleteWarning } from './index-BGK1nMOD.js';
1
+ import { B as Button } from './index-BxckQJom.js';
2
+ export { a as AutocompleteInput, b as Badge, a1 as CenterThis, C as Checkbox, c as Code, d as ConditionDetails, D as DataCard, f as DataCardFieldTypes, e as DataCardFields, g as DataTab, h as Divider, i as DocsButton, j as Drawer, l as DrawerFooter, k as DrawerHeader, m as Dropdown, E as ExtendArrow, F as FadeLoader, n as FieldError, o as FieldLabel, a0 as FlexColumn, $ as FlexRow, H as Header, I as IconButton, p as IconGroup, q as IconTitleBadge, r as IconWrapped, s as IconsNav, t as ImageControlled, u as Input, v as InputList, w as InputTable, x as InteractiveTable, K as KeyValueInputsList, M as Modal, a4 as ModalBody, y as MonitorsCheckboxes, z as MonitorsIcons, N as NavigationButtons, G as NoDataFound, J as NotificationNote, a3 as Overlay, S as ScrollX, L as SectionTitle, O as Segment, P as SelectionButton, Q as SkeletonLoader, R as Status, U as Stepper, a5 as TableContainer, a6 as TableTitleWrap, a7 as TableWrap, V as Text, W as TextArea, X as Toggle, T as ToggleCodeComponent, Y as Tooltip, Z as TraceLoader, a2 as VerticalScroll, _ as WarningModal } from './index-BxckQJom.js';
3
+ export { C as CancelWarning, D as DeleteWarning } from './index-rbphz5kH.js';
4
4
  import React, { Component, createElement, createContext } from 'react';
5
- import Theme from './theme.js';
5
+ import { T as Theme } from './index-ivnS3eWW.js';
6
6
  import 'styled-components';
7
- import './index-BJxaoI0G.js';
7
+ import './index-DAbcw-wM.js';
8
8
  import './types.js';
9
9
  import './index-BZS1ijMm.js';
10
- import './index-DGuOxbBR.js';
11
- import './index-CFnxjzaW.js';
12
- import './index-DGel4E-Z.js';
13
- import './index-DMXaEyAB.js';
14
- import './index-CJs4RDHU.js';
15
- import './index-IKusBlIE.js';
16
- import './useTransition-B65KBqdK.js';
10
+ import './index-B9cvsYnj.js';
11
+ import './index-C7YDojNh.js';
12
+ import './index-DuSmjoDs.js';
13
+ import './useTransition-9tDdAS9s.js';
17
14
  import 'react-dom';
18
15
 
19
16
  const ErrorBoundaryContext = createContext(null);
package/lib/constants.js CHANGED
@@ -1,11 +1,8 @@
1
- export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, D as DEFAULT_DATA_STREAM_NAME, a as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, M as MONITORS_OPTIONS } from './index-DGuOxbBR.js';
1
+ export { A as ACTION_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS, M as MONITORS_OPTIONS } from './index-ivnS3eWW.js';
2
2
  export { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
3
- import './types.js';
4
- import './index-CFnxjzaW.js';
5
- import './index-DGel4E-Z.js';
3
+ export { B as BUTTON_TEXTS, D as DEFAULT_DATA_STREAM_NAME, a as DISPLAY_TITLES, F as FORM_ALERTS } from './index-B9cvsYnj.js';
6
4
  import 'react';
7
- import './theme.js';
8
- import './index-DMXaEyAB.js';
5
+ import './types.js';
9
6
  import 'styled-components';
10
7
 
11
8
  const TOKEN_ABOUT_TO_EXPIRE = 604800000; // 7 days in milliseconds
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import { type CustomFieldProps, type InstrumentationRuleFormData } from '@/types';
3
+ type HeadersCollectionProps = CustomFieldProps<InstrumentationRuleFormData>;
4
+ declare const HeadersCollection: FC<HeadersCollectionProps>;
5
+ export { HeadersCollection, type HeadersCollectionProps };
package/lib/containers.js CHANGED
@@ -1,26 +1,23 @@
1
1
  import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, memo, useContext, createContext, useCallback, useLayoutEffect, Fragment } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
- import { a as DISPLAY_TITLES, B as BUTTON_TEXTS, A as ACTION_OPTIONS, F as FORM_ALERTS, M as MONITORS_OPTIONS, D as DEFAULT_DATA_STREAM_NAME, I as INSTRUMENTATION_RULE_OPTIONS } from './index-DGuOxbBR.js';
4
- import { ActionType, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, FieldTypes, SignalType, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
5
- import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, I as IconButton, A as AddButton$1, U as Stepper, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-nltUpkWT.js';
6
- import { h as usePendingStore, g as useNotificationStore, b as useDrawerStore, c as useEntityStore, f as useModalStore, d as useFilterStore, s as styleInject, i as useSelectedStore, e as useInstrumentStore, a as useDataStreamStore, k as getEntityId, j as useSetupStore, u as useDarkMode } from './index-DMXaEyAB.js';
7
- import Theme from './theme.js';
3
+ import { T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, c as useEntityStore, A as ACTION_OPTIONS, k as getActionIcon, f as useModalStore, d as useFilterStore, M as MONITORS_OPTIONS, s as styleInject, i as useSelectedStore, e as useInstrumentStore, m as getInstrumentationRuleIcon, a as useDataStreamStore, l as getEntityId, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-ivnS3eWW.js';
4
+ import { a as DISPLAY_TITLES, B as BUTTON_TEXTS, F as FORM_ALERTS, D as DEFAULT_DATA_STREAM_NAME } from './index-B9cvsYnj.js';
5
+ import { ActionType, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, FieldTypes, SignalType, CodeAttributesKeyTypes, HeadersCollectionKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
6
+ import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, I as IconButton, A as AddButton$1, U as Stepper, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-BxckQJom.js';
8
7
  import { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
9
- import { i as CheckCircledIcon, O as OdigosLogo } from './index-IKusBlIE.js';
10
- import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-CamnKrev.js';
11
- import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-CFnxjzaW.js';
12
- import { u as useActionFormData, a as useClickNode, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, e as useSourceFormData, f as useSourceSelectionFormData } from './useSourceSelectionFormData-BWz8fTJr.js';
13
- import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-B65KBqdK.js';
14
- import { E as EditIcon } from './index-CWbxXTof.js';
15
- import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, f as CheckIcon, A as ArrowIcon, a as CopyIcon, g as CrossIcon } from './index-BJxaoI0G.js';
16
- import { D as DeleteWarning, C as CancelWarning } from './index-BGK1nMOD.js';
17
- import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-CJs4RDHU.js';
18
- import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, v as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, u as mapExportedSignals, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, c as compareCondition, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, t as isOverTime } from './index-DYNMhZMX.js';
8
+ import { i as CheckCircledIcon, O as OdigosLogo } from './index-DuSmjoDs.js';
9
+ import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-DR5ryS5d.js';
10
+ import { u as useActionFormData, a as useClickNode, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, e as useSourceFormData, f as useSourceSelectionFormData } from './useSourceSelectionFormData-A5_zhn1C.js';
11
+ import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-9tDdAS9s.js';
12
+ import { E as EditIcon } from './index-B3j_QWzh.js';
13
+ import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, f as CheckIcon, A as ArrowIcon, a as CopyIcon, g as CrossIcon } from './index-DAbcw-wM.js';
14
+ import { D as DeleteWarning, C as CancelWarning } from './index-rbphz5kH.js';
15
+ import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-C7YDojNh.js';
16
+ import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, v as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, u as mapExportedSignals, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, c as compareCondition, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, t as isOverTime } from './index-cG2lNgzz.js';
19
17
  import { createPortal } from 'react-dom';
20
- import { N as NoteBackToSummary, E as EditButton } from './index-B46Mcu9H.js';
18
+ import { N as NoteBackToSummary, E as EditButton } from './index-DeD-SIlN.js';
21
19
  import { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
22
- import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-BbbCCewR.js';
23
- import './index-DGel4E-Z.js';
20
+ import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-PfG5pvFK.js';
24
21
  import './index-7-KCQK-x.js';
25
22
 
26
23
  const buildCard$3 = (action) => {
@@ -13968,6 +13965,10 @@ const DataStreamDrawer = ({ isOpen, onClose, dataStreamName, updateDataStream })
13968
13965
  loadFormWithDrawerItem(found);
13969
13966
  return found;
13970
13967
  }, [isOpen, dataStreams, dataStreamName]);
13968
+ const memoizedHandleFormChange = useCallback((key, val) => {
13969
+ handleFormChange(key, val);
13970
+ setIsFormDirty(true);
13971
+ }, [handleFormChange]);
13971
13972
  if (!thisItem)
13972
13973
  return null;
13973
13974
  const handleCancel = () => {
@@ -13980,10 +13981,6 @@ const DataStreamDrawer = ({ isOpen, onClose, dataStreamName, updateDataStream })
13980
13981
  setIsFormDirty(false);
13981
13982
  onClose();
13982
13983
  };
13983
- const memoizedHandleFormChange = useCallback((key, val) => {
13984
- handleFormChange(key, val);
13985
- setIsFormDirty(true);
13986
- }, [handleFormChange]);
13987
13984
  return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.name, icons: [DataStreamsIcon], hideEditTitleFromEdit: true, isEdit: true, isFormDirty: isFormDirty, onSave: handleSave, onCancel: handleCancel },
13988
13985
  React.createElement(FormContainer$3, null,
13989
13986
  React.createElement(DataStreamForm, { formData: formData, handleFormChange: memoizedHandleFormChange }))));
@@ -14954,6 +14951,23 @@ const CodeAttributes = ({ value, setValue, formErrors }) => {
14954
14951
  !!errorMessage && React.createElement(FieldError, null, errorMessage))));
14955
14952
  };
14956
14953
 
14954
+ const ALL_HEADERS = ['*'];
14955
+ const HeadersCollection = ({ value, setValue, formErrors }) => {
14956
+ const errorMessage = formErrors['headersCollection'];
14957
+ const mappedValue = useMemo(() => value?.['headersCollection']?.[HeadersCollectionKeyTypes.HeaderKeys] || [], [value]);
14958
+ const handleChange = (arr) => {
14959
+ const payload = {
14960
+ [HeadersCollectionKeyTypes.HeaderKeys]: arr,
14961
+ };
14962
+ setValue('headersCollection', payload);
14963
+ };
14964
+ useEffect(() => {
14965
+ if (!mappedValue.length)
14966
+ handleChange(ALL_HEADERS);
14967
+ }, [mappedValue]);
14968
+ return (React.createElement("div", null, mappedValue.length > 0 && (React.createElement(InputList, { title: 'Header Keys', tooltip: 'Specify which headers you want to collect, asterisk (*) will collect all headers.', value: mappedValue, onChange: (arr) => handleChange(arr), errorMessage: errorMessage }))));
14969
+ };
14970
+
14957
14971
  const ListContainer = styled.div `
14958
14972
  display: flex;
14959
14973
  flex-direction: column;
@@ -15021,8 +15035,9 @@ const PayloadCollection = ({ value, setValue, formErrors }) => {
15021
15035
  };
15022
15036
 
15023
15037
  const componentsMap = {
15024
- [InstrumentationRuleType.PayloadCollection]: PayloadCollection,
15025
15038
  [InstrumentationRuleType.CodeAttributes]: CodeAttributes,
15039
+ [InstrumentationRuleType.HeadersCollection]: HeadersCollection,
15040
+ [InstrumentationRuleType.PayloadCollection]: PayloadCollection,
15026
15041
  [InstrumentationRuleType.UnknownType]: null,
15027
15042
  };
15028
15043
  const CustomFields = ({ ruleType, value, setValue, formErrors }) => {
package/lib/functions.js CHANGED
@@ -1,16 +1,14 @@
1
- export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-CJs4RDHU.js';
2
- export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as isOverTime, u as mapExportedSignals, v as sleep } from './index-DYNMhZMX.js';
3
- export { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-CFnxjzaW.js';
4
- export { k as getEntityId } from './index-DMXaEyAB.js';
1
+ export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-C7YDojNh.js';
2
+ export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as isOverTime, u as mapExportedSignals, v as sleep } from './index-cG2lNgzz.js';
3
+ export { k as getActionIcon, l as getEntityId, m as getInstrumentationRuleIcon } from './index-ivnS3eWW.js';
5
4
  export { g as getIdFromSseTarget } from './index-7-KCQK-x.js';
6
5
  import { EntityTypes } from './types.js';
7
6
  export { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
8
7
  import 'react';
9
8
  import 'styled-components';
10
- import './index-DGel4E-Z.js';
11
- import './theme.js';
12
- import './index-IKusBlIE.js';
13
- import './index-BbbCCewR.js';
9
+ import './index-DuSmjoDs.js';
10
+ import './index-B9cvsYnj.js';
11
+ import './index-PfG5pvFK.js';
14
12
 
15
13
  const cleanObjectEmptyStringsValues = (obj) => {
16
14
  const cleanArray = (arr) => arr.filter((item) => {
@@ -1,7 +1,7 @@
1
1
  import { type InstrumentationRule, type InstrumentationRuleFormData } from '@/types';
2
2
  export declare const useInstrumentationRuleFormData: () => {
3
3
  formData: InstrumentationRuleFormData;
4
- formErrors: Partial<Record<"ruleName" | "notes" | "disabled" | "workloads" | "instrumentationLibraries" | "payloadCollection" | "codeAttributes", string>>;
4
+ formErrors: Partial<Record<"ruleName" | "notes" | "disabled" | "workloads" | "instrumentationLibraries" | "codeAttributes" | "headersCollection" | "payloadCollection", string>>;
5
5
  handleFormChange: (key?: string | undefined, val?: any, obj?: InstrumentationRuleFormData | undefined) => void;
6
6
  resetFormData: () => void;
7
7
  validateForm: (params?: {
package/lib/hooks.js CHANGED
@@ -1,12 +1,9 @@
1
- export { u as useActionFormData, a as useClickNode, b as useClickNotification, c as useDataStreamFormData, d as useDestinationFormData, e as useSourceFormData, f as useSourceSelectionFormData } from './useSourceSelectionFormData-BWz8fTJr.js';
2
- export { u as useContainerSize, a as useCopy, b as useGenericForm, c as useInstrumentationRuleFormData, d as useKeyDown, e as useOnClickOutside, f as useTimeAgo, g as useTransition } from './useTransition-B65KBqdK.js';
1
+ export { u as useActionFormData, a as useClickNode, b as useClickNotification, c as useDataStreamFormData, d as useDestinationFormData, e as useSourceFormData, f as useSourceSelectionFormData } from './useSourceSelectionFormData-A5_zhn1C.js';
2
+ export { u as useContainerSize, a as useCopy, b as useGenericForm, c as useInstrumentationRuleFormData, d as useKeyDown, e as useOnClickOutside, f as useTimeAgo, g as useTransition } from './useTransition-9tDdAS9s.js';
3
3
  import './types.js';
4
+ import './index-ivnS3eWW.js';
4
5
  import 'react';
5
- import './index-DMXaEyAB.js';
6
6
  import 'styled-components';
7
+ import './index-B9cvsYnj.js';
7
8
  import './index-BZS1ijMm.js';
8
- import './index-DGuOxbBR.js';
9
- import './index-CFnxjzaW.js';
10
- import './index-DGel4E-Z.js';
11
- import './theme.js';
12
9
  import './index-7-KCQK-x.js';
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const HeadersCollectionIcon: SVG;
@@ -1,2 +1,3 @@
1
1
  export * from './code-attributes-icon/index';
2
+ export * from './headers-collection-icon/index';
2
3
  export * from './payload-collection-icon/index';
package/lib/icons.js CHANGED
@@ -1,12 +1,11 @@
1
- export { A as AddClusterInfoIcon, C as CodeAttributesIcon, D as DeleteAttributeIcon, I as ImageErrorIcon, K as K8sLogo, a as PayloadCollectionIcon, P as PiiMaskingIcon, R as RenameAttributeIcon, S as SamplerIcon } from './index-DGel4E-Z.js';
2
- export { C as CPlusPlusLogo, d as CSharpLogo, i as CheckCircledIcon, D as DotnetLogo, E as ElixirLogo, h as ErrorTriangleIcon, G as GoLogo, I as InfoIcon, J as JavaLogo, K as KafkaLogo, L as LogsIcon, g as MetricsIcon, M as MysqlLogo, N as NginxLogo, f as NodejsLogo, O as OdigosLogo, c as PhpLogo, P as PostgresLogo, e as PythonLogo, R as RedisLogo, b as RubyLogo, a as RustLogo, S as SwiftLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-IKusBlIE.js';
3
- export { C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, S as SlackLogo, T as TerminalIcon } from './index-CamnKrev.js';
4
- export { A as ArrowIcon, f as CheckIcon, C as CodeIcon, a as CopyIcon, g as CrossIcon, E as ExtendArrowIcon, d as EyeClosedIcon, e as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, b as NotebookIcon, P as PlusIcon, S as SearchIcon, c as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-BJxaoI0G.js';
1
+ import { T as Theme } from './index-ivnS3eWW.js';
2
+ export { o as AddClusterInfoIcon, C as CodeAttributesIcon, D as DeleteAttributeIcon, H as HeadersCollectionIcon, n as ImageErrorIcon, K as K8sLogo, p as PayloadCollectionIcon, P as PiiMaskingIcon, R as RenameAttributeIcon, S as SamplerIcon } from './index-ivnS3eWW.js';
3
+ export { C as CPlusPlusLogo, d as CSharpLogo, i as CheckCircledIcon, D as DotnetLogo, E as ElixirLogo, h as ErrorTriangleIcon, G as GoLogo, I as InfoIcon, J as JavaLogo, K as KafkaLogo, L as LogsIcon, g as MetricsIcon, M as MysqlLogo, N as NginxLogo, f as NodejsLogo, O as OdigosLogo, c as PhpLogo, P as PostgresLogo, e as PythonLogo, R as RedisLogo, b as RubyLogo, a as RustLogo, S as SwiftLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-DuSmjoDs.js';
4
+ export { C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, S as SlackLogo, T as TerminalIcon } from './index-DR5ryS5d.js';
5
+ export { A as ArrowIcon, f as CheckIcon, C as CodeIcon, a as CopyIcon, g as CrossIcon, E as ExtendArrowIcon, d as EyeClosedIcon, e as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, b as NotebookIcon, P as PlusIcon, S as SearchIcon, c as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-DAbcw-wM.js';
5
6
  import React from 'react';
6
- import Theme from './theme.js';
7
- export { E as EditIcon } from './index-CWbxXTof.js';
8
- export { a3 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AwsCloudwatchLogo, d as AwsS3Logo, e as AwsXrayLogo, f as AxiomLogo, B as BetterStackLogo, g as BlobStorageLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, a4 as DestinationsIcon, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, G as GigapipeLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, a5 as NamespacesIcon, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, F as OpenTelemetryLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, T as QuickwitLogo, a6 as RulesIcon, U as SeqLogo, W as SignozLogo, a7 as SourcesIcon, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, V as VmLogo } from './index-BbbCCewR.js';
9
- import './index-DMXaEyAB.js';
7
+ export { E as EditIcon } from './index-B3j_QWzh.js';
8
+ export { a3 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AwsCloudwatchLogo, d as AwsS3Logo, e as AwsXrayLogo, f as AxiomLogo, B as BetterStackLogo, g as BlobStorageLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, a4 as DestinationsIcon, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, G as GigapipeLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, a5 as NamespacesIcon, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, F as OpenTelemetryLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, T as QuickwitLogo, a6 as RulesIcon, U as SeqLogo, W as SignozLogo, a7 as SourcesIcon, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, V as VmLogo } from './index-PfG5pvFK.js';
10
9
  import './types.js';
11
10
  import 'styled-components';
12
11
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Theme from './theme.js';
2
+ import { T as Theme } from './index-ivnS3eWW.js';
3
3
 
4
4
  const EditIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -0,0 +1,100 @@
1
+ const DEFAULT_DATA_STREAM_NAME = 'default';
2
+ const FORM_ALERTS = {
3
+ REQUIRED_FIELDS: 'Required fields are missing',
4
+ FIELD_IS_REQUIRED: 'This field is required',
5
+ FORBIDDEN: 'Forbidden',
6
+ ENTERPRISE_ONLY: (str = 'This') => `${str} is an Enterprise feature. Please upgrade your plan.`,
7
+ DEFINED_FOR_ALL_STREAMS: (str) => `${str} are defined for all Data Streams.`,
8
+ CANNOT_EDIT_RULE: 'Cannot edit a system-managed instrumentation rule',
9
+ CANNOT_DELETE_RULE: 'Cannot delete a system-managed instrumentation rule',
10
+ LATENCY_HTTP_ROUTE: 'HTTP route must start with a forward slash "/"',
11
+ READONLY_WARNING: "You're not allowed to create/update/delete in readonly mode",
12
+ };
13
+ const DISPLAY_TITLES = {
14
+ NAMESPACE: 'Namespace',
15
+ NAME: 'Name',
16
+ KIND: 'Kind',
17
+ CONNECTION: 'Connection',
18
+ CONNECTIONS: 'Connections',
19
+ DATA_STREAM: 'Data Stream',
20
+ DATA_STREAMS: 'Data Streams',
21
+ STREAM_NAME: 'Data Stream Name',
22
+ NAME_YOUR_STREAM: 'Name your Data Stream',
23
+ NAME_YOUR_STREAM_PLACEHOLDER: 'e.g. Highest priority',
24
+ STREAM_DESCRIPTION: 'Provide a clear and descriptive name for your pipeline to ensure its purpose is easily understood by you and your team.',
25
+ STREAM_CONFIRM: 'Confirm your new Data Stream',
26
+ ACTION: 'Action',
27
+ ACTIONS: 'Actions',
28
+ ADD_ACTION: 'Add Action',
29
+ ACTION_DETAILS: 'Action Details',
30
+ INSTRUMENTATION_RULE: 'Instrumentation Rule',
31
+ INSTRUMENTATION_RULES: 'Instrumentation Rules',
32
+ ADD_INSTRUMENTATION_RULE: 'Add Instrumentation Rule',
33
+ INSTRUMENTATION_RULE_DETAILS: 'Instrumentation Rule Details',
34
+ DESTINATION: 'Destination',
35
+ DESTINATIONS: 'Destinations',
36
+ ADD_DESTINATION: 'Add Destination',
37
+ ADD_DESTINATIONS: 'Add Destinations',
38
+ ADD_DESTINATION_DESCRIPTION: 'Add a destination to send your telemetry data to. You can add multiple destinations.',
39
+ DESTINATION_DETAILS: 'Destination Details',
40
+ SELECTED_DESTINATIONS: 'Selected Destinations',
41
+ SOURCE: 'Source',
42
+ SOURCES: 'Sources',
43
+ ADD_SOURCE: 'Add Source',
44
+ SOURCE_DETAILS: 'Source Details',
45
+ SELECT_SOURCES: 'Select Sources',
46
+ SELECTED_SOURCES: 'Selected Sources',
47
+ SELECT_SOURCES_DESCRIPTION: 'Select apps to monitor in each namespace. Odigos will instrument them and send telemetry data to your destinations.',
48
+ NO_SOURCES: 'No sources',
49
+ NO_SOURCES_GO_BACK: 'No sources selected. Please go back to select sources.',
50
+ PLEASE_ADD_SOURCE: 'Please add a source',
51
+ NO_SOURCES_NAMESPACE: 'No sources available in this namespace',
52
+ TRY_SEARCH_OR_OTHER_NAMESPACE: 'Try searching again or select another namespace.',
53
+ PLEASE_MAKE_SURE_UNIGNORED_NAMESPACES: 'Please make sure your cluster has unignored namespaces',
54
+ INSTALLATION: 'Installation',
55
+ SUMMARY: 'Summary',
56
+ TYPE: 'Type',
57
+ NOTES: 'Notes',
58
+ STATUS: 'Status',
59
+ READONLY: 'Readonly',
60
+ LANGUAGE: 'Language',
61
+ MONITORS: 'Monitors',
62
+ SIGNALS_FOR_PROCESSING: 'Signals for Processing',
63
+ MANAGED_BY_PROFILE: 'Managed by Profile',
64
+ API_TOKEN: 'API Token',
65
+ API_TOKENS: 'API Tokens',
66
+ DESCRIBE_ODIGOS: 'Describe Odigos',
67
+ DESCRIBE_SOURCE: 'Describe Source',
68
+ DETECTED_CONTAINERS: 'Detected Containers',
69
+ DETECTED_CONTAINERS_DESCRIPTION: 'The system automatically instruments the containers it detects with a supported programming language.',
70
+ CONTAINER_NAME: 'Container Name',
71
+ FILTERED_COUNT_TOOLTIP: 'Represents filtered amount, out of total amount',
72
+ SEARCH_NAMESPACES: 'Search Namespaces',
73
+ SHOW_SELECTED_ONLY: 'Show selected only',
74
+ TO_COLLECT_OTEL_DATA: 'To collect OpenTelemetry data',
75
+ TO_MONITOR_OTEL_DATA: 'To monitor OpenTelemetry data',
76
+ TO_MODIFY_OTEL_DATA: 'To modify OpenTelemetry data',
77
+ QUICK_BACK_TO_SUMMARY: 'When you finish editing you can quickly go back to the summary.',
78
+ GO_TO_SUMMARY: 'Go to summary',
79
+ };
80
+ const BUTTON_TEXTS = {
81
+ ADD: 'Add',
82
+ ADD_NEW: 'Add New',
83
+ NEW: 'New',
84
+ SELECT: 'Select',
85
+ CREATE: 'Create',
86
+ UPDATE: 'Update',
87
+ EDIT: 'Edit',
88
+ DELETE: 'Delete',
89
+ CANCEL: 'Cancel',
90
+ DONE: 'Done',
91
+ SAVE: 'Save',
92
+ BACK: 'Back',
93
+ NEXT: 'Next',
94
+ TEST: 'Test',
95
+ TEST_CONNECTION: 'Test Connection',
96
+ INSTRUMENT: 'Instrument',
97
+ UNINSTRUMENT: 'Uninstrument',
98
+ };
99
+
100
+ export { BUTTON_TEXTS as B, DEFAULT_DATA_STREAM_NAME as D, FORM_ALERTS as F, DISPLAY_TITLES as a };
@@ -1,16 +1,14 @@
1
1
  import React, { useState, useEffect, useRef, forwardRef, createElement, useCallback, useMemo, Fragment } from 'react';
2
- import Theme from './theme.js';
2
+ import { T as Theme, n as ImageErrorIcon, M as MONITORS_OPTIONS } from './index-ivnS3eWW.js';
3
3
  import styled, { css } from 'styled-components';
4
- import { M as MinusIcon, f as CheckIcon, L as ListIcon, C as CodeIcon, E as ExtendArrowIcon, c as SortArrowsIcon, a as CopyIcon, b as NotebookIcon, X as XIcon, d as EyeClosedIcon, e as EyeOpenIcon, N as NoDataIcon, g as CrossIcon, S as SearchIcon, P as PlusIcon, T as TrashIcon, A as ArrowIcon } from './index-BJxaoI0G.js';
4
+ import { M as MinusIcon, f as CheckIcon, L as ListIcon, C as CodeIcon, E as ExtendArrowIcon, c as SortArrowsIcon, a as CopyIcon, b as NotebookIcon, X as XIcon, d as EyeClosedIcon, e as EyeOpenIcon, N as NoDataIcon, g as CrossIcon, S as SearchIcon, P as PlusIcon, T as TrashIcon, A as ArrowIcon } from './index-DAbcw-wM.js';
5
5
  import { StatusType, OtherStatus, SortDirection, ProgrammingLanguages } from './types.js';
6
6
  import { s as safeJsonParse, i as isEmpty } from './index-BZS1ijMm.js';
7
- import { M as MONITORS_OPTIONS, B as BUTTON_TEXTS } from './index-DGuOxbBR.js';
8
- import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, c as capitalizeFirstLetter, g as getMonitorIcon, p as parseJsonStringToPrettyString, a as getProgrammingLanguageIcon, d as splitCamelString } from './index-CJs4RDHU.js';
9
- import './index-DMXaEyAB.js';
10
- import { u as useContainerSize, a as useCopy, g as useTransition, d as useKeyDown, e as useOnClickOutside } from './useTransition-B65KBqdK.js';
11
- import { I as ImageErrorIcon } from './index-DGel4E-Z.js';
7
+ import { B as BUTTON_TEXTS } from './index-B9cvsYnj.js';
8
+ import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, c as capitalizeFirstLetter, g as getMonitorIcon, p as parseJsonStringToPrettyString, a as getProgrammingLanguageIcon, d as splitCamelString } from './index-C7YDojNh.js';
9
+ import { u as useContainerSize, a as useCopy, g as useTransition, d as useKeyDown, e as useOnClickOutside } from './useTransition-9tDdAS9s.js';
12
10
  import ReactDOM from 'react-dom';
13
- import { I as InfoIcon } from './index-IKusBlIE.js';
11
+ import { I as InfoIcon } from './index-DuSmjoDs.js';
14
12
 
15
13
  const TextWrapper$2 = styled.div `
16
14
  color: ${({ $color, theme }) => $color || theme.text.secondary};
@@ -1,9 +1,8 @@
1
1
  import { ProgrammingLanguages, SignalType, StatusType } from './types.js';
2
2
  import 'react';
3
- import './index-DMXaEyAB.js';
3
+ import { n as ImageErrorIcon } from './index-ivnS3eWW.js';
4
4
  import 'styled-components';
5
- import { I as ImageErrorIcon } from './index-DGel4E-Z.js';
6
- import { K as KafkaLogo, R as RedisLogo, P as PostgresLogo, N as NginxLogo, M as MysqlLogo, E as ElixirLogo, S as SwiftLogo, a as RustLogo, b as RubyLogo, c as PhpLogo, C as CPlusPlusLogo, d as CSharpLogo, D as DotnetLogo, e as PythonLogo, f as NodejsLogo, G as GoLogo, J as JavaLogo, T as TracesIcon, g as MetricsIcon, L as LogsIcon, O as OdigosLogo, I as InfoIcon, W as WarningTriangleIcon, h as ErrorTriangleIcon, i as CheckCircledIcon } from './index-IKusBlIE.js';
5
+ import { K as KafkaLogo, R as RedisLogo, P as PostgresLogo, N as NginxLogo, M as MysqlLogo, E as ElixirLogo, S as SwiftLogo, a as RustLogo, b as RubyLogo, c as PhpLogo, C as CPlusPlusLogo, d as CSharpLogo, D as DotnetLogo, e as PythonLogo, f as NodejsLogo, G as GoLogo, J as JavaLogo, T as TracesIcon, g as MetricsIcon, L as LogsIcon, O as OdigosLogo, I as InfoIcon, W as WarningTriangleIcon, h as ErrorTriangleIcon, i as CheckCircledIcon } from './index-DuSmjoDs.js';
7
6
 
8
7
  const capitalizeFirstLetter = (string) => {
9
8
  return string.charAt(0).toUpperCase() + string.slice(1);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Theme from './theme.js';
2
+ import { T as Theme } from './index-ivnS3eWW.js';
3
3
 
4
4
  const ArrowIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Theme from './theme.js';
2
+ import { T as Theme } from './index-ivnS3eWW.js';
3
3
 
4
4
  const OdigosLogoText = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
- import Theme from './theme.js';
3
- import { E as EditIcon } from './index-CWbxXTof.js';
4
- import { B as BUTTON_TEXTS, a as DISPLAY_TITLES } from './index-DGuOxbBR.js';
5
- import { B as Button, V as Text, J as NotificationNote } from './index-nltUpkWT.js';
2
+ import { T as Theme } from './index-ivnS3eWW.js';
3
+ import { E as EditIcon } from './index-B3j_QWzh.js';
4
+ import { B as BUTTON_TEXTS, a as DISPLAY_TITLES } from './index-B9cvsYnj.js';
5
+ import { B as Button, V as Text, J as NotificationNote } from './index-BxckQJom.js';
6
6
  import { StatusType } from './types.js';
7
- import './index-DMXaEyAB.js';
8
7
  import 'styled-components';
9
- import { I as InfoIcon } from './index-IKusBlIE.js';
8
+ import { I as InfoIcon } from './index-DuSmjoDs.js';
10
9
 
11
10
  const EditButton = ({ label, onClick, variant = 'tertiary', ...props }) => {
12
11
  const theme = Theme.useTheme();
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Theme from './theme.js';
2
+ import { T as Theme } from './index-ivnS3eWW.js';
3
3
 
4
4
  const OdigosLogo = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Theme from './theme.js';
2
+ import { T as Theme } from './index-ivnS3eWW.js';
3
3
 
4
4
  const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -1,11 +1,11 @@
1
1
  import { StatusType, OtherStatus, DestinationTypes, EntityTypes, PlatformType } from './types.js';
2
- import { a as getProgrammingLanguageIcon } from './index-CJs4RDHU.js';
2
+ import { K as K8sLogo } from './index-ivnS3eWW.js';
3
+ import { D as DEFAULT_DATA_STREAM_NAME } from './index-B9cvsYnj.js';
4
+ import { a as getProgrammingLanguageIcon } from './index-C7YDojNh.js';
3
5
  import 'react';
4
- import './index-DMXaEyAB.js';
5
6
  import 'styled-components';
6
- import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-BbbCCewR.js';
7
- import { K as KafkaLogo, O as OdigosLogo } from './index-IKusBlIE.js';
8
- import { K as K8sLogo } from './index-DGel4E-Z.js';
7
+ import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-PfG5pvFK.js';
8
+ import { K as KafkaLogo, O as OdigosLogo } from './index-DuSmjoDs.js';
9
9
 
10
10
  const compareCondition = (renderCondition, fields) => {
11
11
  if (!renderCondition || !renderCondition.length)
@@ -84,7 +84,7 @@ const filterSourcesByStream = (sources, streamName) => {
84
84
  // if no stream is selected, return nothing (to prevent glitchy rendering)
85
85
  if (!streamName)
86
86
  return [];
87
- return sources.filter((source) => source.dataStreamNames.includes(streamName));
87
+ return sources.filter((source) => source.dataStreamNames.includes(streamName) || (streamName === DEFAULT_DATA_STREAM_NAME && !source.dataStreamNames.length));
88
88
  };
89
89
 
90
90
  const formatBytes = (bytes) => {