@odigos/ui-kit 0.0.49 → 0.0.50

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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/lib/components/data-card/data-card-fields/index.d.ts +1 -5
  3. package/lib/components/data-card/data-card.stories.d.ts +4 -4
  4. package/lib/components/data-finger/data-finger.stories.d.ts +9 -0
  5. package/lib/components/data-finger/index.d.ts +12 -0
  6. package/lib/components/icon-button/index.d.ts +2 -0
  7. package/lib/components/index.d.ts +5 -0
  8. package/lib/components/popup/index.d.ts +17 -0
  9. package/lib/components/popup/popup.stories.d.ts +9 -0
  10. package/lib/components/popup-form/index.d.ts +18 -0
  11. package/lib/components/popup-form/popup-form.stories.d.ts +10 -0
  12. package/lib/components/tag/index.d.ts +8 -0
  13. package/lib/components/tag/tag.stories.d.ts +13 -0
  14. package/lib/components.js +8 -8
  15. package/lib/constants.js +1 -1
  16. package/lib/containers/service-map/helpers/generate-dag-positions.d.ts +5 -0
  17. package/lib/containers/service-map/helpers/generate-spiral-grid-position.d.ts +2 -0
  18. package/lib/containers/service-map/index.d.ts +2 -2
  19. package/lib/containers/system-overview/describe/index.d.ts +1 -1
  20. package/lib/containers.js +262 -368
  21. package/lib/functions/has-unhealthy-instances/index.d.ts +2 -0
  22. package/lib/functions/index.d.ts +1 -0
  23. package/lib/functions.js +5 -5
  24. package/lib/hooks/index.d.ts +1 -0
  25. package/lib/hooks/usePopup.d.ts +17 -0
  26. package/lib/hooks.js +3 -3
  27. package/lib/icons/common/avatar-icon/avatar-icon.stories.d.ts +8 -0
  28. package/lib/icons/common/avatar-icon/index.d.ts +2 -0
  29. package/lib/icons/common/index.d.ts +2 -0
  30. package/lib/icons/common/user-group-icon/index.d.ts +2 -0
  31. package/lib/icons/common/user-group-icon/user-group-icon.stories.d.ts +8 -0
  32. package/lib/icons/math/index.d.ts +2 -0
  33. package/lib/icons/math/minus-circled-icon/index.d.ts +2 -0
  34. package/lib/icons/math/minus-circled-icon/minus-circled-icon.stories.d.ts +8 -0
  35. package/lib/icons/math/plus-circled-icon/index.d.ts +2 -0
  36. package/lib/icons/math/plus-circled-icon/plus-circled-icon.stories.d.ts +8 -0
  37. package/lib/icons.js +35 -7
  38. package/lib/{index-Bw7RE2T2.js → index-BC03UmY5.js} +8 -1
  39. package/lib/{index-ZTzxu5fz.js → index-CMsBAVAn.js} +2 -2
  40. package/lib/{index-w9lkC6fb.js → index-CPMIZB66.js} +12 -4
  41. package/lib/{index-C1V7D2ey.js → index-CgdNGqvh.js} +2270 -2205
  42. package/lib/{index-CkTdd3MS.js → index-CyHOJpMl.js} +1 -1
  43. package/lib/{index-DsEoqSQn.js → index-Dbs7YARA.js} +2 -2
  44. package/lib/{index-DOU0EdZP.js → index-DnhO-nLH.js} +2 -2
  45. package/lib/{index-DxR7e2Cq.js → index-H8TwBQHm.js} +1 -1
  46. package/lib/{index-CeDmxXUE.js → index-LgzkJ05H.js} +2 -2
  47. package/lib/{index-CeBxw8J4.js → index-r72g3gV5.js} +4 -4
  48. package/lib/snippets/copy-text/index.d.ts +6 -0
  49. package/lib/snippets/index.d.ts +5 -2
  50. package/lib/snippets/pod-container/index.d.ts +5 -0
  51. package/lib/snippets/source-container/index.d.ts +7 -0
  52. package/lib/snippets.js +7 -7
  53. package/lib/store/index.d.ts +1 -0
  54. package/lib/store/useActiveNodeStore.d.ts +11 -0
  55. package/lib/store.js +1 -1
  56. package/lib/theme.js +1 -1
  57. package/lib/types/describe/index.d.ts +2 -2
  58. package/lib/types/sources/index.d.ts +10 -9
  59. package/lib/{useSourceSelectionFormData-C5VMfWEf.js → useSourceSelectionFormData-CwggurLH.js} +2 -2
  60. package/lib/{useTransition-mupXsbop.js → useTransition-DmHfJSEP.js} +38 -6
  61. package/package.json +1 -1
  62. package/lib/containers/data-flow-actions-menu/search/recent-searches/index.d.ts +0 -2
  63. /package/lib/{components/data-card/data-card-fields → snippets/source-container}/override-runtime.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ import { type InstrumentationInstanceAnalyze, type PodContainerAnalyze } from '@/types';
2
+ export declare const hasUnhealthyInstances: (containers?: PodContainerAnalyze[], instances?: InstrumentationInstanceAnalyze[]) => boolean;
@@ -30,6 +30,7 @@ export * from './get-status-icon';
30
30
  export * from './get-value-for-range';
31
31
  export * from './get-workload-id';
32
32
  export * from './get-yaml-fields-for-destination';
33
+ export * from './has-unhealthy-instances';
33
34
  export * from './is-emtpy';
34
35
  export * from './is-legal-k8s-label';
35
36
  export * from './is-over-time';
package/lib/functions.js CHANGED
@@ -1,13 +1,13 @@
1
- export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, d as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, e as splitCamelString } from './index-DsEoqSQn.js';
2
- export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, j as getContainersIcons, i as getContainersInstrumentedCount, k as getDestinationIcon, l as getEntityIcon, m as getEntityLabel, n as getMetricForEntity, o as getPlatformIcon, p as getPlatformLabel, q as getValueForRange, r as getWorkloadId, s as getYamlFieldsForDestination, t as isOverTime, u as mapDestinationFieldsForDisplay, v as sleep } from './index-w9lkC6fb.js';
3
- export { m as getActionIcon, n as getEntityId, o as getInstrumentationRuleIcon, p as getProgrammingLanguageIcon } from './index-Bw7RE2T2.js';
1
+ export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, d as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, e as splitCamelString } from './index-Dbs7YARA.js';
2
+ export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, j as getContainersIcons, i as getContainersInstrumentedCount, k as getDestinationIcon, l as getEntityIcon, m as getEntityLabel, n as getMetricForEntity, o as getPlatformIcon, p as getPlatformLabel, q as getValueForRange, r as getWorkloadId, s as getYamlFieldsForDestination, t as hasUnhealthyInstances, u as isOverTime, v as mapDestinationFieldsForDisplay, w as sleep } from './index-CPMIZB66.js';
3
+ export { n as getActionIcon, o as getEntityId, p as getInstrumentationRuleIcon, q as getProgrammingLanguageIcon } from './index-BC03UmY5.js';
4
4
  export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-BlZKWuxe.js';
5
5
  import { ProgrammingLanguages, EntityTypes } from './types.js';
6
6
  export { i as isEmpty, s as safeJsonParse } from './index-BnvrwbRB.js';
7
7
  import 'react';
8
8
  import 'styled-components';
9
- import './index-DxR7e2Cq.js';
10
- import './index-ZTzxu5fz.js';
9
+ import './index-H8TwBQHm.js';
10
+ import './index-CMsBAVAn.js';
11
11
 
12
12
  const cleanObjectEmptyStringsValues = (obj) => {
13
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -9,6 +9,7 @@ export * from './useGenericForm';
9
9
  export * from './useInstrumentationRuleFormData';
10
10
  export * from './useKeyDown';
11
11
  export * from './useOnClickOutside';
12
+ export * from './usePopup';
12
13
  export * from './useSessionStorage';
13
14
  export * from './useSourceFormData';
14
15
  export * from './useSourceSelectionFormData';
@@ -0,0 +1,17 @@
1
+ interface UsePopupProps {
2
+ defaultClientHeight?: number;
3
+ defaultClientwidth?: number;
4
+ onClickOutside?: () => void;
5
+ }
6
+ interface Position {
7
+ top: number;
8
+ left: number;
9
+ }
10
+ declare const usePopup: ({ defaultClientHeight, defaultClientwidth, onClickOutside }?: UsePopupProps) => {
11
+ popupRef: import("react").RefObject<HTMLDivElement | null>;
12
+ popupOpen: boolean;
13
+ setPopupOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
14
+ popupPosition: Position;
15
+ handlePosition: (clientX: number, clientY: number) => void;
16
+ };
17
+ export { usePopup };
package/lib/hooks.js CHANGED
@@ -1,7 +1,7 @@
1
- export { u as useActionFormData, a as useClickNotification, b as useDataStreamFormData, c as useDestinationFormData, d as useSessionStorage, e as useSourceFormData, f as useSourceSelectionFormData } from './useSourceSelectionFormData-C5VMfWEf.js';
2
- export { u as useClickNode, a as useContainerSize, b as useCopy, c as useGenericForm, d as useInstrumentationRuleFormData, e as useKeyDown, f as useOnClickOutside, g as useTimeAgo, h as useTransition } from './useTransition-mupXsbop.js';
1
+ export { u as useActionFormData, a as useClickNotification, b as useDataStreamFormData, c as useDestinationFormData, d as useSessionStorage, e as useSourceFormData, f as useSourceSelectionFormData } from './useSourceSelectionFormData-CwggurLH.js';
2
+ export { u as useClickNode, a as useContainerSize, b as useCopy, c as useGenericForm, d as useInstrumentationRuleFormData, e as useKeyDown, f as useOnClickOutside, g as usePopup, h as useTimeAgo, i as useTransition } from './useTransition-DmHfJSEP.js';
3
3
  import './types.js';
4
- import './index-Bw7RE2T2.js';
4
+ import './index-BC03UmY5.js';
5
5
  import 'react';
6
6
  import 'styled-components';
7
7
  import './index-BnvrwbRB.js';
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react-webpack5';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const AvatarIcon: SVG;
@@ -1,4 +1,5 @@
1
1
  export * from './arrow-icon/index';
2
+ export * from './avatar-icon/index';
2
3
  export * from './code-brackets-icon/index';
3
4
  export * from './code-icon/index';
4
5
  export * from './command-icon/index';
@@ -19,5 +20,6 @@ export * from './search-icon/index';
19
20
  export * from './sort-arrows-icon/index';
20
21
  export * from './terminal-icon/index';
21
22
  export * from './trash-icon/index';
23
+ export * from './user-group-icon/index';
22
24
  export * from './user-icon/index';
23
25
  export * from './x-icon/index';
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const UserGroupIcon: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react-webpack5';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -1,2 +1,4 @@
1
+ export * from './minus-circled-icon/index';
1
2
  export * from './minus-icon/index';
3
+ export * from './plus-circled-icon/index';
2
4
  export * from './plus-icon/index';
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const MinusCircledIcon: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react-webpack5';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
@@ -0,0 +1,2 @@
1
+ import type { SVG } from '@/types';
2
+ export declare const PlusCircledIcon: SVG;
@@ -0,0 +1,8 @@
1
+ import type { SVG } from '@/types';
2
+ import type { StoryFn } from '@storybook/react-webpack5';
3
+ declare const _default: {
4
+ title: string;
5
+ component: SVG;
6
+ };
7
+ export default _default;
8
+ export declare const Default: StoryFn<SVG>;
package/lib/icons.js CHANGED
@@ -1,13 +1,20 @@
1
- import { T as Theme } from './index-Bw7RE2T2.js';
2
- export { q as AddClusterInfoIcon, y as CPlusPlusLogo, z as CSharpLogo, C as CodeAttributesIcon, w as CustomInstrumentationIcon, r as DeleteAttributeIcon, E as DotnetLogo, G as ElixirLogo, J as GoLogo, H as HeadersCollectionIcon, t as ImageErrorIcon, N as JavaLogo, K as K8sLogo, v as KafkaLogo, O as MysqlLogo, Q as NginxLogo, U as NodejsLogo, x as PayloadCollectionIcon, V as PhpLogo, P as PiiMaskingIcon, W as PostgresLogo, X as PythonLogo, Y as RedisLogo, R as RenameAttributeIcon, Z as RubyLogo, _ as RustLogo, s as SamplerIcon, $ as SwiftLogo } from './index-Bw7RE2T2.js';
3
- export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, O as OdigosLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-DxR7e2Cq.js';
4
- export { C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RetryIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-CeDmxXUE.js';
5
- export { A as ArrowIcon, h as CheckIcon, C as CodeIcon, a as CopyIcon, i as CrossIcon, E as EditIcon, b as EditedIcon, c as ExtendArrowIcon, f as EyeClosedIcon, g as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, d as NotebookIcon, P as PlusIcon, S as SearchIcon, e as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-CkTdd3MS.js';
1
+ import { T as Theme } from './index-BC03UmY5.js';
2
+ export { r as AddClusterInfoIcon, z as CPlusPlusLogo, E as CSharpLogo, C as CodeAttributesIcon, x as CustomInstrumentationIcon, s as DeleteAttributeIcon, G as DotnetLogo, J as ElixirLogo, N as GoLogo, H as HeadersCollectionIcon, v as ImageErrorIcon, O as JavaLogo, K as K8sLogo, w as KafkaLogo, Q as MysqlLogo, U as NginxLogo, V as NodejsLogo, y as PayloadCollectionIcon, W as PhpLogo, P as PiiMaskingIcon, X as PostgresLogo, Y as PythonLogo, Z as RedisLogo, R as RenameAttributeIcon, _ as RubyLogo, $ as RustLogo, t as SamplerIcon, a0 as SwiftLogo } from './index-BC03UmY5.js';
3
+ export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, O as OdigosLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-H8TwBQHm.js';
4
+ export { C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RetryIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-LgzkJ05H.js';
5
+ export { A as ArrowIcon, h as CheckIcon, C as CodeIcon, a as CopyIcon, i as CrossIcon, E as EditIcon, b as EditedIcon, c as ExtendArrowIcon, f as EyeClosedIcon, g as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, d as NotebookIcon, P as PlusIcon, S as SearchIcon, e as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-CyHOJpMl.js';
6
6
  import React from 'react';
7
- export { a3 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AwsCloudwatchLogo, d as AwsS3Logo, e as AwsXrayLogo, f as AxiomLogo, B as BetterStackLogo, g as BlobStorageLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, a4 as DestinationsIcon, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, G as GigapipeLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, a5 as NamespacesIcon, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, F as OpenTelemetryLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, T as QuickwitLogo, a6 as RulesIcon, U as SeqLogo, W as SignozLogo, a7 as SourcesIcon, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, V as VmLogo } from './index-ZTzxu5fz.js';
7
+ export { a3 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AwsCloudwatchLogo, d as AwsS3Logo, e as AwsXrayLogo, f as AxiomLogo, B as BetterStackLogo, g as BlobStorageLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, a4 as DestinationsIcon, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, G as GigapipeLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, a5 as NamespacesIcon, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, F as OpenTelemetryLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, T as QuickwitLogo, a6 as RulesIcon, U as SeqLogo, W as SignozLogo, a7 as SourcesIcon, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, V as VmLogo } from './index-CMsBAVAn.js';
8
8
  import './types.js';
9
9
  import 'styled-components';
10
10
 
11
+ const AvatarIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
12
+ const theme = Theme.useTheme();
13
+ const fill = f || theme.text.secondary;
14
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
15
+ React.createElement("path", { stroke: fill, strokeWidth: '1', strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M18.9946 19.1467C18.893 17.3926 17.3672 16 15.5 16H8.5C6.63276 16 5.10703 17.3926 5.00539 19.1467M18.9946 19.1467C20.8491 17.3314 22 14.8001 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 14.8001 3.15087 17.3314 5.00539 19.1467M18.9946 19.1467C17.1913 20.9119 14.7227 22 12 22C9.27726 22 6.80867 20.9119 5.00539 19.1467M15 10C15 11.6569 13.6569 13 12 13C10.3431 13 9 11.6569 9 10C9 8.34315 10.3431 7 12 7C13.6569 7 15 8.34315 15 10Z' })));
16
+ };
17
+
11
18
  const CodeBracketsIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
12
19
  const theme = Theme.useTheme();
13
20
  const fill = f || theme.text.secondary;
@@ -29,6 +36,13 @@ const FolderIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
29
36
  React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M1.5 7.96504C1.5 6.28488 1.5 5.4448 1.82698 4.80307C2.1146 4.23858 2.57354 3.77964 3.13803 3.49202C3.77976 3.16504 4.61984 3.16504 6.3 3.16504H6.53667C6.88887 3.16504 7.06498 3.16504 7.22483 3.21358C7.36634 3.25656 7.49799 3.32702 7.61225 3.42093C7.74131 3.527 7.83899 3.67353 8.03436 3.96658L8.46564 4.6135C8.66101 4.90655 8.75869 5.05308 8.88775 5.15915C9.00201 5.25306 9.13366 5.32352 9.27517 5.36649C9.43502 5.41504 9.61113 5.41504 9.96333 5.41504H11.7C13.3802 5.41504 14.2202 5.41504 14.862 5.74202C15.4265 6.02964 15.8854 6.48858 16.173 7.05307C16.5 7.6948 16.5 8.53488 16.5 10.215V11.865C16.5 13.5452 16.5 14.3853 16.173 15.027C15.8854 15.5915 15.4265 16.0504 14.862 16.3381C14.2202 16.665 13.3802 16.665 11.7 16.665H6.3C4.61984 16.665 3.77976 16.665 3.13803 16.3381C2.57354 16.0504 2.1146 15.5915 1.82698 15.027C1.5 14.3853 1.5 13.5452 1.5 11.865V7.96504Z' })));
30
37
  };
31
38
 
39
+ const UserGroupIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
40
+ const theme = Theme.useTheme();
41
+ const fill = f || theme.text.secondary;
42
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
43
+ React.createElement("path", { stroke: fill, strokeWidth: '1', strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M5.09178 10.5161C3.84575 9.83853 3 8.51792 3 6.99978C3 5.48163 3.84576 4.16101 5.09182 3.4834M3.02937 15.4169C1.82391 16.0405 1 17.2989 1 18.7498C1 19.7863 1.70087 20.6591 2.65456 20.9201M21.3454 20.9201C22.2991 20.6591 23 19.7863 23 18.7498C23 17.2989 22.1761 16.0406 20.9706 15.417M18.9082 10.5161C20.1543 9.83853 21 8.51792 21 6.99978C21 5.48162 20.1542 4.16101 18.9082 3.4834M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7ZM8.25 21H15.75C16.9926 21 18 19.9926 18 18.75C18 16.6789 16.3211 15 14.25 15H9.75C7.67893 15 6 16.6789 6 18.75C6 19.9926 7.00736 21 8.25 21Z' })));
44
+ };
45
+
32
46
  const GoogleCloudStorageLogo = ({ size = 16, fill, rotate = 0, onClick }) => {
33
47
  return (React.createElement("svg", { width: size, height: size * (65 / 81), viewBox: '0 0 81 65', xmlns: 'http://www.w3.org/2000/svg', fill: '#ffffff', fillRule: 'evenodd', stroke: '#000000', strokeLinecap: 'round', strokeLinejoin: 'round', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
34
48
  React.createElement("defs", null,
@@ -53,6 +67,20 @@ const SentryLogo = ({ size = 16, fill, rotate = 0, onClick }) => {
53
67
  React.createElement("path", { fill: fill || '#362D59', d: 'M148.367708,12.4025287 C144.036807,5.21480737 136.258026,0.820118864 127.866362,0.820118864 C119.474697,0.820118864 111.695916,5.21480737 107.365016,12.4025287 L73.6403017,70.165071 C126.066153,96.3390588 160.689085,148.341727 164.615024,206.806542 L140.93597,206.806542 C137.017513,156.694333 106.874845,112.396698 61.6982677,90.3588968 L30.4849684,144.32869 C55.8497707,155.704426 73.6778379,179.211206 77.7918243,206.704035 L23.4120041,206.704035 C22.1018479,206.611361 20.9266153,205.864669 20.2861278,204.71799 C19.6456403,203.571311 19.6261529,202.179068 20.2342955,201.014912 L35.3027847,175.388229 C30.1976229,171.128798 24.3630321,167.829476 18.0816541,165.65009 L3.16692493,191.276772 C0.0305635285,196.656417 -0.818661742,203.068719 0.809210488,209.079324 C2.43708272,215.08993 6.40620885,220.197261 11.8287436,223.258872 C15.3657216,225.251729 19.3523095,226.310116 23.4120041,226.334074 L97.8831433,226.334074 C100.696274,191.620878 85.1423372,157.966047 56.8804514,137.614499 L68.7199787,117.113153 C104.398813,141.618242 124.473737,183.151896 121.510945,226.334074 L184.603837,226.334074 C187.593899,160.904124 155.557278,98.8221906 100.497065,63.3483734 L124.432386,22.3456815 C125.542508,20.4856859 127.944329,19.8680747 129.81399,20.9618406 C132.530418,22.4481882 233.807067,199.169791 235.703442,201.219925 C236.383476,202.439289 236.358897,203.929352 235.639016,205.125624 C234.919136,206.321896 233.614065,207.041397 232.218213,207.011555 L207.821611,207.011555 C208.129131,213.537817 208.129131,220.046994 207.821611,226.539592 L232.32072,226.539592 C238.604421,226.580218 244.643414,224.105731 249.091568,219.667205 C253.539722,215.228679 256.027289,209.195062 256,202.911286 C256.002825,198.802186 254.905596,194.767215 252.822066,191.225519 L148.367708,12.4025287 Z' })));
54
68
  };
55
69
 
70
+ const MinusCircledIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
71
+ const theme = Theme.useTheme();
72
+ const fill = f || theme.text.secondary;
73
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
74
+ React.createElement("path", { stroke: fill, strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M8.99963 12H14.9996M21.1496 12.0001C21.1496 17.0535 17.053 21.1501 11.9996 21.1501C6.9462 21.1501 2.84961 17.0535 2.84961 12.0001C2.84961 6.94669 6.9462 2.8501 11.9996 2.8501C17.053 2.8501 21.1496 6.94669 21.1496 12.0001Z' })));
75
+ };
76
+
77
+ const PlusCircledIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
78
+ const theme = Theme.useTheme();
79
+ const fill = f || theme.text.secondary;
80
+ return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
81
+ React.createElement("path", { stroke: fill, strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M11.9996 15V12M11.9996 12V9M11.9996 12H8.99963M11.9996 12H14.9996M21.1496 12.0001C21.1496 17.0535 17.053 21.1501 11.9996 21.1501C6.9462 21.1501 2.84961 17.0535 2.84961 12.0001C2.84961 6.94669 6.9462 2.8501 11.9996 2.8501C17.053 2.8501 21.1496 6.94669 21.1496 12.0001Z' })));
82
+ };
83
+
56
84
  const LightOffIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
57
85
  const theme = Theme.useTheme();
58
86
  const fill = f || theme.text.secondary;
@@ -109,4 +137,4 @@ const ErrorRoundIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
109
137
  React.createElement("path", { stroke: fill, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 8.33673V6.00339M7 10.3055V10.3061M12.25 7.97266C12.25 10.8722 9.89949 13.2227 7 13.2227C4.1005 13.2227 1.75 10.8721 1.75 7.97265C1.75 5.07316 4.10051 2.72266 7 2.72266C9.8995 2.72266 12.25 5.07316 12.25 7.97266Z' })));
110
138
  };
111
139
 
112
- export { CodeBracketsIcon, CommandIcon, ConnectionsIcon, ErrorRoundIcon, FolderIcon, GoogleCloudStorageLogo, LightOffIcon, LightOnIcon, MoonIcon, SentryLogo, ServiceMapIcon, SunIcon, TraceViewIcon };
140
+ export { AvatarIcon, CodeBracketsIcon, CommandIcon, ConnectionsIcon, ErrorRoundIcon, FolderIcon, GoogleCloudStorageLogo, LightOffIcon, LightOnIcon, MinusCircledIcon, MoonIcon, PlusCircledIcon, SentryLogo, ServiceMapIcon, SunIcon, TraceViewIcon, UserGroupIcon };
@@ -43,6 +43,13 @@ const createImpl = (createState) => {
43
43
  };
44
44
  const create = (createState) => createState ? createImpl(createState) : createImpl;
45
45
 
46
+ const useActiveNodeStore = create((set) => ({
47
+ activeNodeType: null,
48
+ activeNodeId: null,
49
+ setActiveNodeType: (value) => set({ activeNodeType: value }),
50
+ setActiveNodeId: (value) => set({ activeNodeId: value }),
51
+ }));
52
+
46
53
  const AddClusterInfoIcon = ({ size = 16, fill: f, rotate = 0, onClick }) => {
47
54
  const theme = Theme.useTheme();
48
55
  const fill = f || theme.text.secondary;
@@ -1888,4 +1895,4 @@ var animations = /*#__PURE__*/Object.freeze({
1888
1895
 
1889
1896
  const Theme = { Provider, useTheme, opacity, animations };
1890
1897
 
1891
- export { SwiftLogo as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, DotnetLogo as E, FORM_ALERTS as F, ElixirLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, GoLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, JavaLogo as N, MysqlLogo as O, PiiMaskingIcon as P, NginxLogo as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, NodejsLogo as U, PhpLogo as V, PostgresLogo as W, PythonLogo as X, RedisLogo as Y, RubyLogo as Z, RustLogo as _, useDataStreamStore as a, styleInject as a0, useDrawerStore as b, useEntityStore as c, useFilterStore as d, useInstrumentStore as e, useModalStore as f, useNotificationStore as g, usePendingStore as h, useSelectedStore as i, useSetupStore as j, DEFAULT_DATA_STREAM_NAME as k, DISPLAY_TITLES as l, getActionIcon as m, getEntityId as n, getInstrumentationRuleIcon as o, getProgrammingLanguageIcon as p, AddClusterInfoIcon as q, DeleteAttributeIcon as r, SamplerIcon as s, ImageErrorIcon as t, useDarkMode as u, KafkaLogo as v, CustomInstrumentationIcon as w, PayloadCollectionIcon as x, CPlusPlusLogo as y, CSharpLogo as z };
1898
+ export { RustLogo as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, CSharpLogo as E, FORM_ALERTS as F, DotnetLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, ElixirLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, GoLogo as N, JavaLogo as O, PiiMaskingIcon as P, MysqlLogo as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, NginxLogo as U, NodejsLogo as V, PhpLogo as W, PostgresLogo as X, PythonLogo as Y, RedisLogo as Z, RubyLogo as _, useDarkMode as a, SwiftLogo as a0, styleInject as a1, useDataStreamStore as b, useDrawerStore as c, useEntityStore as d, useFilterStore as e, useInstrumentStore as f, useModalStore as g, useNotificationStore as h, usePendingStore as i, useSelectedStore as j, useSetupStore as k, DEFAULT_DATA_STREAM_NAME as l, DISPLAY_TITLES as m, getActionIcon as n, getEntityId as o, getInstrumentationRuleIcon as p, getProgrammingLanguageIcon as q, AddClusterInfoIcon as r, DeleteAttributeIcon as s, SamplerIcon as t, useActiveNodeStore as u, ImageErrorIcon as v, KafkaLogo as w, CustomInstrumentationIcon as x, PayloadCollectionIcon as y, CPlusPlusLogo as z };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as Theme } from './index-Bw7RE2T2.js';
2
+ import { T as Theme } from './index-BC03UmY5.js';
3
3
 
4
4
  const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick }) => {
5
5
  const theme = Theme.useTheme();
@@ -376,7 +376,7 @@ const MiddlewareLogo = ({ size = 16, fill, rotate = 0, onClick }) => {
376
376
  return (React.createElement("svg", { width: size, height: size * (19 / 37), viewBox: '0 0 37 19', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
377
377
  React.createElement("g", null,
378
378
  React.createElement("path", { fill: fill || '#E95E5F', d: 'M27.174 10.508c.21-.322.377-.558.531-.808 1.152-1.888 2.283-3.79 3.49-5.67.22-.383.55-.686.945-.868a2.048 2.048 0 0 1 1.26-.148c.412.063.791.266 1.077.576.286.31.462.708.501 1.133a2.686 2.686 0 0 1-.307 1.48 482.459 482.459 0 0 1-5.78 9.532c-.935 1.502-2.791 1.43-3.699-.143-1.11-1.852-2.164-3.74-3.245-5.606-.147-.258-.308-.5-.524-.858l-.768 1.244c-1.033 1.723-2.094 3.447-3.127 5.177-1.033 1.73-3.001 1.76-4.055-.079-1.187-2.059-2.367-4.126-3.595-6.264-.181.28-.335.5-.468.715-1.158 1.888-2.303 3.783-3.49 5.664a2.127 2.127 0 0 1-.555.621 2.07 2.07 0 0 1-1.569.387 2.062 2.062 0 0 1-.77-.294 2.115 2.115 0 0 1-.601-.576 2.17 2.17 0 0 1-.36-1.611c.046-.28.147-.547.295-.787a661.831 661.831 0 0 1 5.675-9.217c.192-.376.483-.69.84-.905a2.179 2.179 0 0 1 2.341.055c.347.232.623.558.798.943 1.054 1.823 2.094 3.661 3.134 5.484.146.258.307.501.51.83l3.545-5.807c.154-.25.3-.514.482-.758.207-.332.495-.603.837-.786a2.163 2.163 0 0 1 2.192.087c.326.209.594.502.775.85 1.082 1.837 2.094 3.697 3.183 5.549.14.264.293.514.502.858z' }),
379
- React.createElement("path", { stroke: fill || '#E95E5F', strokeOpacity: '.2', strokeWidth: '2', d: 'm27.7 7.783-.49.806c-.422-.73-.837-1.46-1.253-2.196l-.009-.016a192.02 192.02 0 0 0-1.585-2.764 3.238 3.238 0 0 0-1.11-1.204 3.169 3.169 0 0 0-3.204-.126c-.484.26-.893.64-1.19 1.102-.161.221-.308.466-.42.654l-.088.146-.001.002-2.682 4.392-.49-.86c-.754-1.325-1.512-2.657-2.276-3.98a3.258 3.258 0 0 0-1.13-1.312 3.182 3.182 0 0 0-3.415-.08 3.25 3.25 0 0 0-1.19 1.264 662.652 662.652 0 0 0-5.66 9.193 3.177 3.177 0 0 0-.396 2.368c.09.403.258.785.494 1.123.236.338.536.627.884.848a3.064 3.064 0 0 0 2.369.389 3.07 3.07 0 0 0 1.106-.525c.326-.245.6-.55.81-.9a345.117 345.117 0 0 0 2.57-4.163l.492-.803.684 1.195c.7 1.222 1.393 2.43 2.086 3.633.663 1.155 1.711 1.869 2.894 1.879 1.179.01 2.228-.683 2.887-1.786.558-.935 1.112-1.848 1.668-2.764.45-.74.9-1.484 1.355-2.241.258.447.516.898.775 1.35a213.215 213.215 0 0 0 2.145 3.692c.602 1.038 1.582 1.675 2.663 1.717 1.09.042 2.11-.53 2.747-1.552a483.087 483.087 0 0 0 5.792-9.552l.01-.019.011-.019a3.685 3.685 0 0 0 .422-2.031l-.001-.012a2.93 2.93 0 0 0-.762-1.72 2.85 2.85 0 0 0-1.636-.882 3.048 3.048 0 0 0-1.854.225 3.111 3.111 0 0 0-1.38 1.253c-.912 1.42-1.782 2.856-2.643 4.276z' }))));
379
+ React.createElement("path", { stroke: fill || '#E95E5F', strokeOpacity: '.2', d: 'm27.7 7.783-.49.806c-.422-.73-.837-1.46-1.253-2.196l-.009-.016a192.02 192.02 0 0 0-1.585-2.764 3.238 3.238 0 0 0-1.11-1.204 3.169 3.169 0 0 0-3.204-.126c-.484.26-.893.64-1.19 1.102-.161.221-.308.466-.42.654l-.088.146-.001.002-2.682 4.392-.49-.86c-.754-1.325-1.512-2.657-2.276-3.98a3.258 3.258 0 0 0-1.13-1.312 3.182 3.182 0 0 0-3.415-.08 3.25 3.25 0 0 0-1.19 1.264 662.652 662.652 0 0 0-5.66 9.193 3.177 3.177 0 0 0-.396 2.368c.09.403.258.785.494 1.123.236.338.536.627.884.848a3.064 3.064 0 0 0 2.369.389 3.07 3.07 0 0 0 1.106-.525c.326-.245.6-.55.81-.9a345.117 345.117 0 0 0 2.57-4.163l.492-.803.684 1.195c.7 1.222 1.393 2.43 2.086 3.633.663 1.155 1.711 1.869 2.894 1.879 1.179.01 2.228-.683 2.887-1.786.558-.935 1.112-1.848 1.668-2.764.45-.74.9-1.484 1.355-2.241.258.447.516.898.775 1.35a213.215 213.215 0 0 0 2.145 3.692c.602 1.038 1.582 1.675 2.663 1.717 1.09.042 2.11-.53 2.747-1.552a483.087 483.087 0 0 0 5.792-9.552l.01-.019.011-.019a3.685 3.685 0 0 0 .422-2.031l-.001-.012a2.93 2.93 0 0 0-.762-1.72 2.85 2.85 0 0 0-1.636-.882 3.048 3.048 0 0 0-1.854.225 3.111 3.111 0 0 0-1.38 1.253c-.912 1.42-1.782 2.856-2.643 4.276z' }))));
380
380
  };
381
381
 
382
382
  const NewRelicLogo = ({ size = 16, fill, rotate = 0, onClick }) => {
@@ -1,9 +1,9 @@
1
1
  import { StatusType, DestinationTypes, EntityTypes, PlatformType } from './types.js';
2
- import { k as DEFAULT_DATA_STREAM_NAME, p as getProgrammingLanguageIcon, v as KafkaLogo, K as K8sLogo } from './index-Bw7RE2T2.js';
2
+ import { l as DEFAULT_DATA_STREAM_NAME, q as getProgrammingLanguageIcon, w as KafkaLogo, K as K8sLogo } from './index-BC03UmY5.js';
3
3
  import 'react';
4
4
  import 'styled-components';
5
- import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-ZTzxu5fz.js';
6
- import { O as OdigosLogo } from './index-DxR7e2Cq.js';
5
+ import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-CMsBAVAn.js';
6
+ import { O as OdigosLogo } from './index-H8TwBQHm.js';
7
7
  import { s as safeJsonParse } from './index-BnvrwbRB.js';
8
8
 
9
9
  const compareCondition = (renderCondition, fields) => {
@@ -291,6 +291,14 @@ const getYamlFieldsForDestination = (categories, destination) => {
291
291
  return fields;
292
292
  };
293
293
 
294
+ const hasUnhealthyInstances = (containers, instances) => {
295
+ const hasUnhealthy = (list) => list?.some(({ healthy }) => healthy.status !== StatusType.Success);
296
+ if (containers?.length) {
297
+ return containers.some(({ instrumentationInstances }) => hasUnhealthy(instrumentationInstances));
298
+ }
299
+ return hasUnhealthy(instances) ?? false;
300
+ };
301
+
294
302
  const isOverTime = (originDate, difference = 0) => {
295
303
  const now = new Date().getTime();
296
304
  const compareWith = new Date(originDate).getTime();
@@ -317,4 +325,4 @@ const mapDestinationFieldsForDisplay = (destination, yamlFields) => {
317
325
 
318
326
  const sleep = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
319
327
 
320
- export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, deepClone as d, filterSources as e, filterActions as f, filterSourcesByStream as g, formatBytes as h, getContainersInstrumentedCount as i, getContainersIcons as j, getDestinationIcon as k, getEntityIcon as l, getEntityLabel as m, getMetricForEntity as n, getPlatformIcon as o, getPlatformLabel as p, getValueForRange as q, getWorkloadId as r, getYamlFieldsForDestination as s, isOverTime as t, mapDestinationFieldsForDisplay as u, sleep as v };
328
+ export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, deepClone as d, filterSources as e, filterActions as f, filterSourcesByStream as g, formatBytes as h, getContainersInstrumentedCount as i, getContainersIcons as j, getDestinationIcon as k, getEntityIcon as l, getEntityLabel as m, getMetricForEntity as n, getPlatformIcon as o, getPlatformLabel as p, getValueForRange as q, getWorkloadId as r, getYamlFieldsForDestination as s, hasUnhealthyInstances as t, isOverTime as u, mapDestinationFieldsForDisplay as v, sleep as w };