@odigos/ui-kit 0.0.80 → 0.0.82
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.
- package/CHANGELOG.md +14 -0
- package/lib/components.js +8 -8
- package/lib/constants.js +1 -1
- package/lib/containers/dropdowns/index.d.ts +0 -2
- package/lib/containers/index.d.ts +0 -3
- package/lib/containers.js +110 -293
- package/lib/functions.js +29 -7
- package/lib/hooks.js +3 -3
- package/lib/icons.js +7 -6
- package/lib/index-1b05e560.js +11 -0
- package/lib/{index-6034549d.js → index-4dfaeaab.js} +1 -1
- package/lib/{index-b9d7a992.js → index-6bb0eb56.js} +2 -9
- package/lib/{index-e4e75973.js → index-6cc9ec6b.js} +2 -2
- package/lib/{index-19b8f8bc.js → index-72089d6e.js} +1 -1
- package/lib/{index-90ccd949.js → index-86030474.js} +1 -1
- package/lib/{index-ba4f9a19.js → index-8b736e84.js} +4 -25
- package/lib/{index-192794e8.js → index-8b8d8883.js} +10 -8
- package/lib/{index-c8aab9c4.js → index-c1a8e92c.js} +1 -1
- package/lib/{index-a067d6e9.js → index-f22371cb.js} +2 -2
- package/lib/snippets.js +7 -7
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/{useTransition-807be8bc.js → useTransition-cac1649d.js} +2 -2
- package/package.json +1 -1
- package/lib/containers/compute-platform-select/index.d.ts +0 -10
- package/lib/containers/compute-platforms/index.d.ts +0 -8
- package/lib/containers/compute-platforms-actions-menu/index.d.ts +0 -7
- package/lib/containers/dropdowns/connection-status-dropdown/index.d.ts +0 -15
- package/lib/containers/dropdowns/connection-type-dropdown/index.d.ts +0 -15
- package/lib/types/connection/index.d.ts +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.82](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.81...ui-kit-v0.0.82) (2025-08-13)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **text:** handle empty textArray by rendering children instead of breaking layout ([#318](https://github.com/odigos-io/ui-kit/issues/318)) ([87a3e4d](https://github.com/odigos-io/ui-kit/commit/87a3e4d140d6dbfd483d2ca6cdcee2d06db6dfbb))
|
|
9
|
+
|
|
10
|
+
## [0.0.81](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.80...ui-kit-v0.0.81) (2025-08-12)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* remove compute platform components ([#316](https://github.com/odigos-io/ui-kit/issues/316)) ([2dbe328](https://github.com/odigos-io/ui-kit/commit/2dbe3289f7cdbfca74fe7cfc970817baffa5d6e8))
|
|
16
|
+
|
|
3
17
|
## [0.0.80](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.79...ui-kit-v0.0.80) (2025-08-10)
|
|
4
18
|
|
|
5
19
|
|
package/lib/components.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { B as Button } from './index-
|
|
2
|
-
export { A as AutocompleteInput, a as Badge, a9 as CenterThis, C as Checkbox, b as Code, c as ConditionDetails, D as DataCard, e as DataCardFieldTypes, d as DataCardFields, f as DataFinger, g as DataTab, h as DescribeRow, i as Divider, j as DocsButton, k as Drawer, m as DrawerFooter, l as DrawerHeader, n as Dropdown, E as ExtendArrow, F as FadeLoader, o as FieldError, p as FieldLabel, a8 as FlexColumn, a7 as FlexRow, H as Header, I as IconButton, q as IconGroup, r as IconTitleBadge, s as IconWrapped, t as IconsNav, u as ImageControlled, v as Input, w as InputList, x as InputTable, y as InteractiveTable, K as KeyValueInputsList, M as Modal, ac as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, ab as Overlay, P as Popup, O as PopupForm, S as ScrollX, Q as SectionTitle, R as Segment, U as SelectionButton, V as SkeletonLoader, W as Status, X as Stepper, Y as TabList, ad as TableContainer, ae as TableTitleWrap, af as TableWrap, Z as Tag, _ as Text, a2 as TextArea, a3 as Toggle, T as ToggleCodeComponent, a4 as Tooltip, a5 as TraceLoader, aa as VerticalScroll, a6 as WarningModal, $ as getLinksFromText, a0 as getStrongsFromText, a1 as renderText } from './index-
|
|
3
|
-
export { C as CancelWarning, D as DeleteWarning } from './index-
|
|
1
|
+
import { B as Button } from './index-8b8d8883.js';
|
|
2
|
+
export { A as AutocompleteInput, a as Badge, a9 as CenterThis, C as Checkbox, b as Code, c as ConditionDetails, D as DataCard, e as DataCardFieldTypes, d as DataCardFields, f as DataFinger, g as DataTab, h as DescribeRow, i as Divider, j as DocsButton, k as Drawer, m as DrawerFooter, l as DrawerHeader, n as Dropdown, E as ExtendArrow, F as FadeLoader, o as FieldError, p as FieldLabel, a8 as FlexColumn, a7 as FlexRow, H as Header, I as IconButton, q as IconGroup, r as IconTitleBadge, s as IconWrapped, t as IconsNav, u as ImageControlled, v as Input, w as InputList, x as InputTable, y as InteractiveTable, K as KeyValueInputsList, M as Modal, ac as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, ab as Overlay, P as Popup, O as PopupForm, S as ScrollX, Q as SectionTitle, R as Segment, U as SelectionButton, V as SkeletonLoader, W as Status, X as Stepper, Y as TabList, ad as TableContainer, ae as TableTitleWrap, af as TableWrap, Z as Tag, _ as Text, a2 as TextArea, a3 as Toggle, T as ToggleCodeComponent, a4 as Tooltip, a5 as TraceLoader, aa as VerticalScroll, a6 as WarningModal, $ as getLinksFromText, a0 as getStrongsFromText, a1 as renderText } from './index-8b8d8883.js';
|
|
3
|
+
export { C as CancelWarning, D as DeleteWarning } from './index-6cc9ec6b.js';
|
|
4
4
|
import React, { createContext, Component, createElement } from 'react';
|
|
5
|
-
import { T as Theme } from './index-
|
|
5
|
+
import { T as Theme } from './index-86030474.js';
|
|
6
6
|
import 'styled-components';
|
|
7
|
-
import './index-
|
|
7
|
+
import './index-72089d6e.js';
|
|
8
8
|
import './types.js';
|
|
9
9
|
import './index-5e5f7bda.js';
|
|
10
|
-
import './index-
|
|
11
|
-
import './index-
|
|
10
|
+
import './index-f22371cb.js';
|
|
11
|
+
import './index-4dfaeaab.js';
|
|
12
12
|
import 'react-dom';
|
|
13
|
-
import './useTransition-
|
|
13
|
+
import './useTransition-cac1649d.js';
|
|
14
14
|
|
|
15
15
|
const ErrorBoundaryContext = createContext(null);
|
|
16
16
|
|
package/lib/constants.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, a as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, b as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, L as LANGUAGE_OPTIONS, M as MONITORS_OPTIONS, S as STORAGE_KEYS } from './index-
|
|
1
|
+
export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, a as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, b as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, L as LANGUAGE_OPTIONS, M as MONITORS_OPTIONS, S as STORAGE_KEYS } from './index-86030474.js';
|
|
2
2
|
export { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import './types.js';
|
|
@@ -3,9 +3,6 @@ export * from './action-form';
|
|
|
3
3
|
export * from './action-modal';
|
|
4
4
|
export * from './action-table';
|
|
5
5
|
export * from './await-pipeline';
|
|
6
|
-
export * from './compute-platform-select';
|
|
7
|
-
export * from './compute-platforms';
|
|
8
|
-
export * from './compute-platforms-actions-menu';
|
|
9
6
|
export * from './data-flow';
|
|
10
7
|
export * from './data-flow-actions-menu';
|
|
11
8
|
export * from './data-stream-drawer';
|
package/lib/containers.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, Fragment, useCallback, Children } from 'react';
|
|
2
2
|
import styled, { css } from 'styled-components';
|
|
3
|
-
import { b as DISPLAY_TITLES, T as Theme, U as usePendingStore, V as useNotificationStore, O as useDrawerStore, B as BUTTON_TEXTS, W as useEntityStore, A as ACTION_OPTIONS, g as getActionIcon, z as useModalStore, F as FORM_ALERTS, X as useFilterStore,
|
|
3
|
+
import { b as DISPLAY_TITLES, T as Theme, U as usePendingStore, V as useNotificationStore, O as useDrawerStore, B as BUTTON_TEXTS, W as useEntityStore, A as ACTION_OPTIONS, g as getActionIcon, z as useModalStore, F as FORM_ALERTS, X as useFilterStore, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, D as DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, e as getProgrammingLanguageIcon, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore, k as ImageErrorIcon, a0 as useDarkMode } from './index-86030474.js';
|
|
4
4
|
import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, EdgeTypes, AddNodeTypes, SignalType, HeadersCollectionKeyTypes, CustomInstrumentationsKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind, ProgrammingLanguages, MountMethod, AgentEnvVarsInjectionMethod, Profile, InstallationMethod } from './types.js';
|
|
5
|
-
import { e as DataCardFieldTypes, p as FieldLabel, C as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, _ as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, a2 as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a8 as FlexColumn, M as Modal, N as NavigationButtons, ac as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a7 as FlexRow, a4 as Tooltip, s as IconWrapped, G as MonitorsIcons, ad as TableContainer, ae as TableTitleWrap, r as IconTitleBadge, af as TableWrap, y as InteractiveTable, a9 as CenterThis, J as NoDataFound, a5 as TraceLoader, a as Badge,
|
|
5
|
+
import { e as DataCardFieldTypes, p as FieldLabel, C as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, _ as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, a2 as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a8 as FlexColumn, M as Modal, N as NavigationButtons, ac as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a7 as FlexRow, a4 as Tooltip, s as IconWrapped, G as MonitorsIcons, ad as TableContainer, ae as TableTitleWrap, r as IconTitleBadge, af as TableWrap, y as InteractiveTable, a9 as CenterThis, J as NoDataFound, a5 as TraceLoader, a as Badge, ag as nodeConfig, ah as useNodesState, ai as useEdgesState, aj as Flow, ak as applyNodeChanges, P as Popup, U as SelectionButton, aa as VerticalScroll, n as Dropdown, B as Button, a3 as Toggle, I as IconButton, E as ExtendArrow, al as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, Z as Tag, am as MarkerType, t as IconsNav, an as CopyText, h as DescribeRow, ao as PodContainer, ap as SourceContainer, q as IconGroup, O as PopupForm } from './index-8b8d8883.js';
|
|
6
6
|
import { i as isEmpty, s as safeJsonParse, d as deepClone } from './index-5e5f7bda.js';
|
|
7
|
-
import { C as CheckCircledIcon, O as OdigosLogo } from './index-
|
|
8
|
-
import { C as CrossCircledIcon, O as OdigosLogoText,
|
|
7
|
+
import { C as CheckCircledIcon, O as OdigosLogo } from './index-4dfaeaab.js';
|
|
8
|
+
import { C as CrossCircledIcon, O as OdigosLogoText, F as FilterIcon, D as DataStreamsIcon, A as ArrowIcon, R as RefreshLeftArrowIcon, N as NotificationIcon, U as UserIcon, a as OverviewIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon, G as GearIcon } from './index-c1a8e92c.js';
|
|
9
9
|
import { useActionFormData, useSessionStorage, useDataStreamFormData, useDestinationFormData, useClickNotification, useSourceFormData, useSourceSelectionFormData } from './hooks.js';
|
|
10
|
-
import { u as useKeyDown, a as
|
|
11
|
-
import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, P as PlusIcon, a as CopyIcon } from './index-
|
|
12
|
-
import { D as DeleteWarning, C as CancelWarning } from './index-
|
|
13
|
-
import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, h as splitCamelString, c as capitalizeFirstLetter, i as isStringABoolean, p as parseBooleanFromString } from './index-
|
|
14
|
-
import { f as filterActions, l as getEntityLabel, k as getEntityIcon,
|
|
10
|
+
import { u as useKeyDown, a as useContainerSize, b as useClickNode, c as usePopup, d as useOnClickOutside, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-cac1649d.js';
|
|
11
|
+
import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, P as PlusIcon, a as CopyIcon } from './index-72089d6e.js';
|
|
12
|
+
import { D as DeleteWarning, C as CancelWarning } from './index-6cc9ec6b.js';
|
|
13
|
+
import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, h as splitCamelString, c as capitalizeFirstLetter, i as isStringABoolean, p as parseBooleanFromString } from './index-f22371cb.js';
|
|
14
|
+
import { f as filterActions, l as getEntityLabel, k as getEntityIcon, t as sleep, g as formatBytes, i as getContainersIcons, n as getValueForRange, j as getDestinationIcon, e as filterSourcesByStream, d as filterSources, b as filterDestinationsByStream, a as filterDestinations, s as mapDestinationFieldsForDisplay, c as compareCondition, p as getYamlFieldsForDestination, m as getMetricForEntity, o as getWorkloadId, q as hasUnhealthyInstances, h as getContainersInstrumentedCount, r as isOverTime } from './index-8b736e84.js';
|
|
15
15
|
import { m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
16
16
|
import { NoteBackToSummary, EditButton } from './snippets.js';
|
|
17
17
|
import { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
|
|
18
|
-
import { a6 as RulesIcon,
|
|
18
|
+
import { a6 as RulesIcon, a3 as SourcesIcon, a5 as ActionsIcon, a4 as DestinationsIcon } from './index-6bb0eb56.js';
|
|
19
19
|
import 'react-dom';
|
|
20
20
|
|
|
21
21
|
const buildCard$3 = (action) => {
|
|
@@ -503,7 +503,7 @@ const CustomFields$1 = ({ actionType, value, setValue, formErrors }) => {
|
|
|
503
503
|
return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
|
|
504
504
|
};
|
|
505
505
|
|
|
506
|
-
const Container$
|
|
506
|
+
const Container$h = styled.div `
|
|
507
507
|
display: flex;
|
|
508
508
|
flex-direction: column;
|
|
509
509
|
gap: 24px;
|
|
@@ -514,7 +514,7 @@ const FieldTitle$2 = styled(Text) `
|
|
|
514
514
|
`;
|
|
515
515
|
const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }) => {
|
|
516
516
|
const theme = Theme.useTheme();
|
|
517
|
-
return (React.createElement(Container$
|
|
517
|
+
return (React.createElement(Container$h, null,
|
|
518
518
|
isUpdate && (React.createElement("div", null,
|
|
519
519
|
React.createElement(FieldTitle$2, null, "Status"),
|
|
520
520
|
React.createElement(Segment, { options: [
|
|
@@ -1028,7 +1028,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
|
|
|
1028
1028
|
React.createElement(NoDataFound, null)))));
|
|
1029
1029
|
};
|
|
1030
1030
|
|
|
1031
|
-
const Container$
|
|
1031
|
+
const Container$g = styled(FlexColumn) `
|
|
1032
1032
|
// width: 100vw;
|
|
1033
1033
|
// height: 100vh;
|
|
1034
1034
|
gap: 64px;
|
|
@@ -1041,7 +1041,7 @@ const TextWrap = styled(FlexColumn) `
|
|
|
1041
1041
|
align-items: center;
|
|
1042
1042
|
justify-content: center;
|
|
1043
1043
|
`;
|
|
1044
|
-
const Title$
|
|
1044
|
+
const Title$1 = styled(Text) `
|
|
1045
1045
|
text-align: center;
|
|
1046
1046
|
font-size: 24px;
|
|
1047
1047
|
`;
|
|
@@ -1062,292 +1062,16 @@ const AwaitPipeline = () => {
|
|
|
1062
1062
|
useEffect(() => {
|
|
1063
1063
|
awaitPipeline();
|
|
1064
1064
|
}, []);
|
|
1065
|
-
return (React.createElement(Container$
|
|
1065
|
+
return (React.createElement(Container$g, null,
|
|
1066
1066
|
React.createElement(OdigosLogoText, { size: 100 }),
|
|
1067
1067
|
React.createElement(TraceLoader, { width: 400 }),
|
|
1068
1068
|
React.createElement(TextWrap, null,
|
|
1069
1069
|
React.createElement(FlexRow, { "$gap": 16 },
|
|
1070
|
-
React.createElement(Title$
|
|
1070
|
+
React.createElement(Title$1, null, "Preparing your workspace..."),
|
|
1071
1071
|
React.createElement(Badge, { label: `${progress}%` })),
|
|
1072
1072
|
React.createElement(Description, null, "It can take up to a few minutes. Grab a cup of coffee, look out a window, and enjoy your free moment!"))));
|
|
1073
1073
|
};
|
|
1074
1074
|
|
|
1075
|
-
const Tab = styled(FlexRow) `
|
|
1076
|
-
width: 260px;
|
|
1077
|
-
padding: 4px;
|
|
1078
|
-
gap: 10px;
|
|
1079
|
-
border: 1px solid ${({ theme }) => theme.colors.border};
|
|
1080
|
-
border-radius: 32px;
|
|
1081
|
-
cursor: ${({ $withSelect }) => ($withSelect ? 'pointer' : 'default')};
|
|
1082
|
-
|
|
1083
|
-
${({ $withSelect }) => $withSelect &&
|
|
1084
|
-
css `
|
|
1085
|
-
&:hover {
|
|
1086
|
-
border: 1px solid ${({ theme }) => theme.colors.secondary};
|
|
1087
|
-
}
|
|
1088
|
-
`}
|
|
1089
|
-
`;
|
|
1090
|
-
const Title$2 = styled(Text) `
|
|
1091
|
-
font-size: 14px;
|
|
1092
|
-
margin-right: 10px;
|
|
1093
|
-
color: ${({ theme }) => theme.text.secondary};
|
|
1094
|
-
`;
|
|
1095
|
-
const LogoWrap = styled.div `
|
|
1096
|
-
display: flex;
|
|
1097
|
-
align-items: center;
|
|
1098
|
-
justify-content: center;
|
|
1099
|
-
padding: 4px;
|
|
1100
|
-
border-radius: 100%;
|
|
1101
|
-
background-color: ${({ theme }) => theme.colors.info};
|
|
1102
|
-
`;
|
|
1103
|
-
const PushToEnd$1 = styled.div `
|
|
1104
|
-
margin-left: auto;
|
|
1105
|
-
margin-right: 6px;
|
|
1106
|
-
`;
|
|
1107
|
-
const RelativeContainer$3 = styled.div `
|
|
1108
|
-
position: relative;
|
|
1109
|
-
`;
|
|
1110
|
-
const AbsoluteContainer = styled.div `
|
|
1111
|
-
position: absolute;
|
|
1112
|
-
top: calc(100% + 8px);
|
|
1113
|
-
left: 0;
|
|
1114
|
-
z-index: 1;
|
|
1115
|
-
background-color: ${({ theme }) => theme.colors.dropdown_bg};
|
|
1116
|
-
border: ${({ theme }) => `1px solid ${theme.colors.border}`};
|
|
1117
|
-
border-radius: 24px;
|
|
1118
|
-
width: 420px;
|
|
1119
|
-
`;
|
|
1120
|
-
const HeadWrap = styled.div `
|
|
1121
|
-
border-bottom: ${({ theme }) => `1px solid ${theme.colors.border}`};
|
|
1122
|
-
padding: 12px;
|
|
1123
|
-
`;
|
|
1124
|
-
const FootWrap = styled.div `
|
|
1125
|
-
border-top: ${({ theme }) => `1px solid ${theme.colors.border}`};
|
|
1126
|
-
padding: 12px;
|
|
1127
|
-
`;
|
|
1128
|
-
const ComputePlatformSelect = ({ connections, selected, onSelect, onViewAll }) => {
|
|
1129
|
-
const theme = Theme.useTheme();
|
|
1130
|
-
const { addNotification } = useNotificationStore();
|
|
1131
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
1132
|
-
const [searchText, setSearchText] = useState('');
|
|
1133
|
-
const onClose = () => {
|
|
1134
|
-
setIsOpen(false);
|
|
1135
|
-
};
|
|
1136
|
-
const containerRef = useRef(null);
|
|
1137
|
-
useOnClickOutside(containerRef, onClose);
|
|
1138
|
-
useKeyDown({ key: 'Escape', active: isOpen }, onClose);
|
|
1139
|
-
const withSelect = !!connections.length;
|
|
1140
|
-
const filtered = connections.filter(({ id }) => id.toLowerCase().includes(searchText));
|
|
1141
|
-
const Icon = !!selected?.type ? getPlatformIcon(selected.type) : null;
|
|
1142
|
-
return (React.createElement(RelativeContainer$3, { ref: containerRef },
|
|
1143
|
-
React.createElement(Tab, { "$withSelect": withSelect, onClick: () => setIsOpen((prev) => !prev) },
|
|
1144
|
-
React.createElement(LogoWrap, null, !!Icon ? React.createElement(Icon, { size: 20, fill: theme.text.info }) : React.createElement(OverviewIcon, { fill: theme.text.info })),
|
|
1145
|
-
React.createElement(Title$2, null, selected?.name || selected?.id || 'no platform'),
|
|
1146
|
-
withSelect && (React.createElement(PushToEnd$1, null,
|
|
1147
|
-
React.createElement(ExtendArrow, { extend: isOpen, align: 'right' })))),
|
|
1148
|
-
isOpen && withSelect && (React.createElement(AbsoluteContainer, null,
|
|
1149
|
-
React.createElement(HeadWrap, null,
|
|
1150
|
-
React.createElement(Input, { placeholder: 'Search...', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
|
|
1151
|
-
React.createElement(VerticalScroll, { 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: () => {
|
|
1152
|
-
if (status === StatusType.Success) {
|
|
1153
|
-
onSelect(filtered[idx]);
|
|
1154
|
-
}
|
|
1155
|
-
else {
|
|
1156
|
-
addNotification({
|
|
1157
|
-
type: StatusType.Warning,
|
|
1158
|
-
title: 'Connection lost',
|
|
1159
|
-
message: 'Cannot connect to this platform',
|
|
1160
|
-
hideFromHistory: true,
|
|
1161
|
-
});
|
|
1162
|
-
}
|
|
1163
|
-
onClose();
|
|
1164
|
-
}, color: 'transparent', style: { width: '100%', justifyContent: 'flex-start' } })))),
|
|
1165
|
-
React.createElement(FootWrap, null,
|
|
1166
|
-
React.createElement(Button, { variant: 'secondary', style: { width: '100%' }, onClick: onViewAll }, "VIEW ALL"))))));
|
|
1167
|
-
};
|
|
1168
|
-
|
|
1169
|
-
const ComputePlatforms = ({ connections, onSelect }) => {
|
|
1170
|
-
const { searchText, platformTypes, statuses } = useFilterStore();
|
|
1171
|
-
const filtered = useMemo(() => connections.filter(({ id, type, status }) => (!searchText || id.toLowerCase().includes(searchText)) &&
|
|
1172
|
-
(!platformTypes?.length || platformTypes.find((opt) => opt.id === type)) &&
|
|
1173
|
-
(!statuses?.length || statuses.find((opt) => opt.id === status))), [connections, searchText, platformTypes, statuses]);
|
|
1174
|
-
const rows = useMemo(() => filtered.map((item) => ({
|
|
1175
|
-
onClick: () => onSelect(item),
|
|
1176
|
-
cells: [
|
|
1177
|
-
{ columnKey: 'id', value: item.id },
|
|
1178
|
-
{ columnKey: 'type', value: item.type },
|
|
1179
|
-
{ columnKey: 'name', value: item.name || getPlatformLabel(item.type) },
|
|
1180
|
-
{ columnKey: 'icon', icon: getPlatformIcon(item.type) },
|
|
1181
|
-
{
|
|
1182
|
-
columnKey: 'status',
|
|
1183
|
-
component: () => (React.createElement("div", { style: { lineHeight: 1 } },
|
|
1184
|
-
React.createElement(Status, { title: status === StatusType.Success ? 'connection alive' : 'connection lost', status: item.status, withIcon: true, withBorder: true }))),
|
|
1185
|
-
},
|
|
1186
|
-
],
|
|
1187
|
-
})), [filtered]);
|
|
1188
|
-
return (React.createElement(React.Fragment, null,
|
|
1189
|
-
React.createElement(InteractiveTable, { columns: [
|
|
1190
|
-
{ key: 'icon', title: '' },
|
|
1191
|
-
{ key: 'name', title: 'Name' },
|
|
1192
|
-
{ key: 'type', title: 'Type' },
|
|
1193
|
-
{ key: 'status', title: 'Status' },
|
|
1194
|
-
{ key: 'id', title: 'Unique ID' },
|
|
1195
|
-
], rows: rows }),
|
|
1196
|
-
!filtered.length && (React.createElement(CenterThis, { style: { marginTop: '2rem' } },
|
|
1197
|
-
React.createElement(NoDataFound, null)))));
|
|
1198
|
-
};
|
|
1199
|
-
|
|
1200
|
-
const ConditionDropdown = ({ sources, title = 'Condition', value, onSelect, onDeselect, ...props }) => {
|
|
1201
|
-
const options = useMemo(() => {
|
|
1202
|
-
const payload = [];
|
|
1203
|
-
sources.forEach(({ conditions }) => {
|
|
1204
|
-
conditions?.forEach(({ type, reason }) => {
|
|
1205
|
-
if (!payload.find((opt) => opt.id === `${type}#${reason}`)) {
|
|
1206
|
-
payload.push({ id: `${type}#${reason}`, value: `${splitCamelString(type)} - ${splitCamelString(reason)}` });
|
|
1207
|
-
}
|
|
1208
|
-
});
|
|
1209
|
-
});
|
|
1210
|
-
return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
|
|
1211
|
-
}, [sources]);
|
|
1212
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1213
|
-
};
|
|
1214
|
-
|
|
1215
|
-
const ConnectionStatusDropdown = ({ connections, title = '', value, onSelect, onDeselect, ...props }) => {
|
|
1216
|
-
const options = useMemo(() => {
|
|
1217
|
-
const payload = [];
|
|
1218
|
-
connections?.forEach(({ status }) => {
|
|
1219
|
-
if (!payload.find((opt) => opt.id === status)) {
|
|
1220
|
-
payload.push({ id: status, value: status });
|
|
1221
|
-
}
|
|
1222
|
-
});
|
|
1223
|
-
return payload;
|
|
1224
|
-
}, [connections]);
|
|
1225
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All Statuses', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1226
|
-
};
|
|
1227
|
-
|
|
1228
|
-
const ConnectionTypeDropdown = ({ connections, title = '', value, onSelect, onDeselect, ...props }) => {
|
|
1229
|
-
const options = useMemo(() => {
|
|
1230
|
-
const payload = [];
|
|
1231
|
-
connections?.forEach(({ type }) => {
|
|
1232
|
-
if (!payload.find((opt) => opt.id === type)) {
|
|
1233
|
-
payload.push({ id: type, value: type });
|
|
1234
|
-
}
|
|
1235
|
-
});
|
|
1236
|
-
return payload;
|
|
1237
|
-
}, [connections]);
|
|
1238
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All Types', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1239
|
-
};
|
|
1240
|
-
|
|
1241
|
-
const ErrorDropdown = ({ sources, title = 'Error Message', value, onSelect, onDeselect, disabled, ...props }) => {
|
|
1242
|
-
const options = useMemo(() => {
|
|
1243
|
-
const payload = [];
|
|
1244
|
-
// !! note:
|
|
1245
|
-
// conditions no longer have "message" being a required string,
|
|
1246
|
-
// instead, it is now optional and we should fallback to "reason" which is also optional.
|
|
1247
|
-
sources.forEach(({ conditions }) => {
|
|
1248
|
-
mapConditions(conditions || []).forEach(({ status, message, reason }) => {
|
|
1249
|
-
if (status === StatusType.Error && !payload.find((opt) => opt.id === message)) {
|
|
1250
|
-
if (!!message) {
|
|
1251
|
-
if (!payload.find((opt) => opt.id === message))
|
|
1252
|
-
payload.push({ id: message, value: message });
|
|
1253
|
-
}
|
|
1254
|
-
else if (!!reason) {
|
|
1255
|
-
if (!payload.find((opt) => opt.id === reason))
|
|
1256
|
-
payload.push({ id: reason, value: reason });
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
});
|
|
1260
|
-
});
|
|
1261
|
-
return payload;
|
|
1262
|
-
}, [sources]);
|
|
1263
|
-
return React.createElement(Dropdown, { disabled: disabled || !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1264
|
-
};
|
|
1265
|
-
|
|
1266
|
-
const LanguageDropdown = ({ sources, title = 'Programming Language', value, onSelect, onDeselect, ...props }) => {
|
|
1267
|
-
const options = useMemo(() => {
|
|
1268
|
-
const payload = [];
|
|
1269
|
-
sources.forEach(({ containers }) => {
|
|
1270
|
-
containers?.forEach(({ language }) => {
|
|
1271
|
-
if (!payload.find((opt) => opt.id === language)) {
|
|
1272
|
-
payload.push({ id: language, value: DISPLAY_LANGUAGES[language] || language });
|
|
1273
|
-
}
|
|
1274
|
-
});
|
|
1275
|
-
});
|
|
1276
|
-
return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
|
|
1277
|
-
}, [sources]);
|
|
1278
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1279
|
-
};
|
|
1280
|
-
|
|
1281
|
-
const MonitorDropdown = ({ title = 'Monitors', value, onSelect, onDeselect, ...props }) => {
|
|
1282
|
-
const options = useMemo(() => {
|
|
1283
|
-
const payload = [];
|
|
1284
|
-
MONITORS_OPTIONS.forEach(({ id, value }) => {
|
|
1285
|
-
if (!payload.find((opt) => opt.id === id))
|
|
1286
|
-
payload.push({ id, value });
|
|
1287
|
-
});
|
|
1288
|
-
return payload;
|
|
1289
|
-
}, []);
|
|
1290
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1291
|
-
};
|
|
1292
|
-
|
|
1293
|
-
const NamespaceDropdown = ({ namespaces, title = 'Namespace', value, onSelect, onDeselect, ...props }) => {
|
|
1294
|
-
const options = useMemo(() => {
|
|
1295
|
-
const payload = [];
|
|
1296
|
-
namespaces?.forEach(({ name }) => {
|
|
1297
|
-
if (!payload.find((opt) => opt.id === name)) {
|
|
1298
|
-
payload.push({ id: name, value: name });
|
|
1299
|
-
}
|
|
1300
|
-
});
|
|
1301
|
-
return payload;
|
|
1302
|
-
}, [namespaces]);
|
|
1303
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'Select namespace', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1304
|
-
};
|
|
1305
|
-
|
|
1306
|
-
const KindDropdown = ({ sources, title = 'Kind', value, onSelect, onDeselect, ...props }) => {
|
|
1307
|
-
const options = useMemo(() => {
|
|
1308
|
-
const payload = [];
|
|
1309
|
-
sources.forEach(({ kind: id }) => {
|
|
1310
|
-
if (!payload.find((opt) => opt.id === id)) {
|
|
1311
|
-
payload.push({ id, value: id });
|
|
1312
|
-
}
|
|
1313
|
-
});
|
|
1314
|
-
return payload;
|
|
1315
|
-
}, [sources]);
|
|
1316
|
-
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1317
|
-
};
|
|
1318
|
-
|
|
1319
|
-
const Container$g = styled.div `
|
|
1320
|
-
display: flex;
|
|
1321
|
-
align-items: center;
|
|
1322
|
-
margin: 20px 0;
|
|
1323
|
-
padding: 0 16px;
|
|
1324
|
-
gap: 8px;
|
|
1325
|
-
`;
|
|
1326
|
-
const Title$1 = styled(Text) `
|
|
1327
|
-
font-size: 24px;
|
|
1328
|
-
white-space: nowrap;
|
|
1329
|
-
`;
|
|
1330
|
-
const SearchAndFilterWrapper = styled.div `
|
|
1331
|
-
width: 200px;
|
|
1332
|
-
`;
|
|
1333
|
-
const ComputePlatformsActionsMenu = ({ connections }) => {
|
|
1334
|
-
const { searchText, setSearchText, statuses, setStatuses, clearAll } = useFilterStore();
|
|
1335
|
-
// cleanup filters on unmount
|
|
1336
|
-
useEffect(() => {
|
|
1337
|
-
return () => clearAll();
|
|
1338
|
-
}, [clearAll]);
|
|
1339
|
-
return (React.createElement(Container$g, null,
|
|
1340
|
-
React.createElement(FlexRow, { "$gap": 16 },
|
|
1341
|
-
React.createElement(FlexRow, { "$gap": 12 },
|
|
1342
|
-
React.createElement(Title$1, null, "Compute platforms"),
|
|
1343
|
-
React.createElement(Badge, { label: connections.length, filled: !!connections.length })),
|
|
1344
|
-
React.createElement(Divider, { orientation: 'vertical', length: '20px', margin: '0' }),
|
|
1345
|
-
React.createElement(SearchAndFilterWrapper, null,
|
|
1346
|
-
React.createElement(Input, { placeholder: 'Search...', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
|
|
1347
|
-
React.createElement(SearchAndFilterWrapper, null,
|
|
1348
|
-
React.createElement(ConnectionStatusDropdown, { connections: connections, value: statuses, onSelect: (val) => setStatuses([...(statuses || []), val]), onDeselect: (val) => setStatuses((statuses || []).filter((opt) => opt.id !== val.id)), showSearch: true, required: true, isMulti: true })))));
|
|
1349
|
-
};
|
|
1350
|
-
|
|
1351
1075
|
const { nodeHeight: nodeHeight$5, framePadding: framePadding$4 } = nodeConfig;
|
|
1352
1076
|
const createEdge = (edgeId, params) => {
|
|
1353
1077
|
const { theme, label, isMultiTarget, isError, animated } = params || {};
|
|
@@ -2036,6 +1760,99 @@ const Search = ({ preventPopup = false }) => {
|
|
|
2036
1760
|
isOpen && !preventPopup ? React.createElement(SearchResults, { onClose: onClose }) : null));
|
|
2037
1761
|
};
|
|
2038
1762
|
|
|
1763
|
+
const ConditionDropdown = ({ sources, title = 'Condition', value, onSelect, onDeselect, ...props }) => {
|
|
1764
|
+
const options = useMemo(() => {
|
|
1765
|
+
const payload = [];
|
|
1766
|
+
sources.forEach(({ conditions }) => {
|
|
1767
|
+
conditions?.forEach(({ type, reason }) => {
|
|
1768
|
+
if (!payload.find((opt) => opt.id === `${type}#${reason}`)) {
|
|
1769
|
+
payload.push({ id: `${type}#${reason}`, value: `${splitCamelString(type)} - ${splitCamelString(reason)}` });
|
|
1770
|
+
}
|
|
1771
|
+
});
|
|
1772
|
+
});
|
|
1773
|
+
return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
|
|
1774
|
+
}, [sources]);
|
|
1775
|
+
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1776
|
+
};
|
|
1777
|
+
|
|
1778
|
+
const ErrorDropdown = ({ sources, title = 'Error Message', value, onSelect, onDeselect, disabled, ...props }) => {
|
|
1779
|
+
const options = useMemo(() => {
|
|
1780
|
+
const payload = [];
|
|
1781
|
+
// !! note:
|
|
1782
|
+
// conditions no longer have "message" being a required string,
|
|
1783
|
+
// instead, it is now optional and we should fallback to "reason" which is also optional.
|
|
1784
|
+
sources.forEach(({ conditions }) => {
|
|
1785
|
+
mapConditions(conditions || []).forEach(({ status, message, reason }) => {
|
|
1786
|
+
if (status === StatusType.Error && !payload.find((opt) => opt.id === message)) {
|
|
1787
|
+
if (!!message) {
|
|
1788
|
+
if (!payload.find((opt) => opt.id === message))
|
|
1789
|
+
payload.push({ id: message, value: message });
|
|
1790
|
+
}
|
|
1791
|
+
else if (!!reason) {
|
|
1792
|
+
if (!payload.find((opt) => opt.id === reason))
|
|
1793
|
+
payload.push({ id: reason, value: reason });
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
});
|
|
1797
|
+
});
|
|
1798
|
+
return payload;
|
|
1799
|
+
}, [sources]);
|
|
1800
|
+
return React.createElement(Dropdown, { disabled: disabled || !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1801
|
+
};
|
|
1802
|
+
|
|
1803
|
+
const LanguageDropdown = ({ sources, title = 'Programming Language', value, onSelect, onDeselect, ...props }) => {
|
|
1804
|
+
const options = useMemo(() => {
|
|
1805
|
+
const payload = [];
|
|
1806
|
+
sources.forEach(({ containers }) => {
|
|
1807
|
+
containers?.forEach(({ language }) => {
|
|
1808
|
+
if (!payload.find((opt) => opt.id === language)) {
|
|
1809
|
+
payload.push({ id: language, value: DISPLAY_LANGUAGES[language] || language });
|
|
1810
|
+
}
|
|
1811
|
+
});
|
|
1812
|
+
});
|
|
1813
|
+
return payload.sort((a, b) => a.id?.localeCompare(b.id || '') || 0);
|
|
1814
|
+
}, [sources]);
|
|
1815
|
+
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1816
|
+
};
|
|
1817
|
+
|
|
1818
|
+
const MonitorDropdown = ({ title = 'Monitors', value, onSelect, onDeselect, ...props }) => {
|
|
1819
|
+
const options = useMemo(() => {
|
|
1820
|
+
const payload = [];
|
|
1821
|
+
MONITORS_OPTIONS.forEach(({ id, value }) => {
|
|
1822
|
+
if (!payload.find((opt) => opt.id === id))
|
|
1823
|
+
payload.push({ id, value });
|
|
1824
|
+
});
|
|
1825
|
+
return payload;
|
|
1826
|
+
}, []);
|
|
1827
|
+
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1828
|
+
};
|
|
1829
|
+
|
|
1830
|
+
const NamespaceDropdown = ({ namespaces, title = 'Namespace', value, onSelect, onDeselect, ...props }) => {
|
|
1831
|
+
const options = useMemo(() => {
|
|
1832
|
+
const payload = [];
|
|
1833
|
+
namespaces?.forEach(({ name }) => {
|
|
1834
|
+
if (!payload.find((opt) => opt.id === name)) {
|
|
1835
|
+
payload.push({ id: name, value: name });
|
|
1836
|
+
}
|
|
1837
|
+
});
|
|
1838
|
+
return payload;
|
|
1839
|
+
}, [namespaces]);
|
|
1840
|
+
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'Select namespace', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1841
|
+
};
|
|
1842
|
+
|
|
1843
|
+
const KindDropdown = ({ sources, title = 'Kind', value, onSelect, onDeselect, ...props }) => {
|
|
1844
|
+
const options = useMemo(() => {
|
|
1845
|
+
const payload = [];
|
|
1846
|
+
sources.forEach(({ kind: id }) => {
|
|
1847
|
+
if (!payload.find((opt) => opt.id === id)) {
|
|
1848
|
+
payload.push({ id, value: id });
|
|
1849
|
+
}
|
|
1850
|
+
});
|
|
1851
|
+
return payload;
|
|
1852
|
+
}, [sources]);
|
|
1853
|
+
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1854
|
+
};
|
|
1855
|
+
|
|
2039
1856
|
const FormWrapper = styled.div `
|
|
2040
1857
|
display: flex;
|
|
2041
1858
|
flex-direction: column;
|
|
@@ -5335,4 +5152,4 @@ const ToggleDarkMode = () => {
|
|
|
5335
5152
|
React.createElement(Background, { "$darkMode": darkMode })));
|
|
5336
5153
|
};
|
|
5337
5154
|
|
|
5338
|
-
export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline,
|
|
5155
|
+
export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ConditionDropdown, DataFlow, DataFlowActionsMenu, DataStreamDrawer, DataStreamForm, DataStreamSelectionForm, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NamespaceDropdown, NavIconIds, NotificationManager, OverviewDrawer, ServiceMap, SetupSummary, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, SystemSettings, TableCellConditions, ToastList, ToggleDarkMode };
|
package/lib/functions.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isStringABoolean, d as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, e as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, h as splitCamelString } from './index-
|
|
2
|
-
export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, d as filterSources, e as filterSourcesByStream, g as formatBytes, i as getContainersIcons, h as getContainersInstrumentedCount, j as getDestinationIcon, k as getEntityIcon, l as getEntityLabel, m as getMetricForEntity, n as
|
|
1
|
+
export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isStringABoolean, d as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, e as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, h as splitCamelString } from './index-f22371cb.js';
|
|
2
|
+
export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, d as filterSources, e as filterSourcesByStream, g as formatBytes, i as getContainersIcons, h as getContainersInstrumentedCount, j as getDestinationIcon, k as getEntityIcon, l as getEntityLabel, m as getMetricForEntity, n as getValueForRange, o as getWorkloadId, p as getYamlFieldsForDestination, q as hasUnhealthyInstances, r as isOverTime, s as mapDestinationFieldsForDisplay, t as sleep } from './index-8b736e84.js';
|
|
3
3
|
export { d as deepClone, i as isEmpty, s as safeJsonParse } from './index-5e5f7bda.js';
|
|
4
|
-
|
|
4
|
+
import { K as K8sLogo } from './index-86030474.js';
|
|
5
|
+
export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-86030474.js';
|
|
5
6
|
export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
6
|
-
import { ProgrammingLanguages, EntityTypes } from './types.js';
|
|
7
|
+
import { ProgrammingLanguages, PlatformType, EntityTypes } from './types.js';
|
|
7
8
|
import 'react';
|
|
8
9
|
import 'styled-components';
|
|
9
|
-
import './index-
|
|
10
|
-
import './index-
|
|
10
|
+
import { O as OdigosLogo } from './index-4dfaeaab.js';
|
|
11
|
+
import { V as VmLogo } from './index-1b05e560.js';
|
|
12
|
+
import './index-6bb0eb56.js';
|
|
11
13
|
|
|
12
14
|
const cleanObjectEmptyStringsValues = (obj) => {
|
|
13
15
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -81,6 +83,26 @@ const getMainContainerLanguage = (source) => {
|
|
|
81
83
|
return mainContainer.language;
|
|
82
84
|
};
|
|
83
85
|
|
|
86
|
+
const getPlatformIcon = (type) => {
|
|
87
|
+
if (!type)
|
|
88
|
+
return OdigosLogo;
|
|
89
|
+
const LOGOS = {
|
|
90
|
+
[PlatformType.K8s]: K8sLogo,
|
|
91
|
+
[PlatformType.Vm]: VmLogo,
|
|
92
|
+
};
|
|
93
|
+
return LOGOS[type];
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const getPlatformLabel = (type) => {
|
|
97
|
+
if (!type)
|
|
98
|
+
return 'Unknown';
|
|
99
|
+
const LABELS = {
|
|
100
|
+
[PlatformType.K8s]: 'Kubernetes Cluster',
|
|
101
|
+
[PlatformType.Vm]: 'Virtual Machine',
|
|
102
|
+
};
|
|
103
|
+
return LABELS[type];
|
|
104
|
+
};
|
|
105
|
+
|
|
84
106
|
const getSseTargetFromId = (id, type) => {
|
|
85
107
|
switch (type) {
|
|
86
108
|
case EntityTypes.Source: {
|
|
@@ -116,4 +138,4 @@ const stringifyNonStringValues = (obj) => {
|
|
|
116
138
|
}, {});
|
|
117
139
|
};
|
|
118
140
|
|
|
119
|
-
export { cleanObjectEmptyStringsValues, getMainContainerLanguage, getSseTargetFromId, isTimeElapsed, stringifyNonStringValues };
|
|
141
|
+
export { cleanObjectEmptyStringsValues, getMainContainerLanguage, getPlatformIcon, getPlatformLabel, getSseTargetFromId, isTimeElapsed, stringifyNonStringValues };
|
package/lib/hooks.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ActionKeyTypes, ActionType, StatusType, EntityTypes, FieldTypes } from './types.js';
|
|
2
|
-
import { V as useNotificationStore, F as FORM_ALERTS, O as useDrawerStore, W as useEntityStore, Y as useDataStreamStore, _ as useSetupStore } from './index-
|
|
2
|
+
import { V as useNotificationStore, F as FORM_ALERTS, O as useDrawerStore, W as useEntityStore, Y as useDataStreamStore, _ as useSetupStore } from './index-86030474.js';
|
|
3
3
|
import { useState, useEffect, useMemo } from 'react';
|
|
4
4
|
import 'styled-components';
|
|
5
5
|
import { i as isEmpty, s as safeJsonParse } from './index-5e5f7bda.js';
|
|
6
|
-
import { i as useGenericForm } from './useTransition-
|
|
7
|
-
export {
|
|
6
|
+
import { i as useGenericForm } from './useTransition-cac1649d.js';
|
|
7
|
+
export { b as useClickNode, a as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, d as useOnClickOutside, c as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-cac1649d.js';
|
|
8
8
|
import { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
9
9
|
|
|
10
10
|
const INITIAL$2 = {
|
package/lib/icons.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { T as Theme } from './index-
|
|
2
|
-
export {
|
|
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-
|
|
4
|
-
export { A as ArrowIcon, C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, G as GearIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RefreshLeftArrowIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-
|
|
1
|
+
import { T as Theme } from './index-86030474.js';
|
|
2
|
+
export { h as AddClusterInfoIcon, n as CPlusPlusLogo, o as CSharpLogo, C as CodeAttributesIcon, l as CustomInstrumentationIcon, i as DeleteAttributeIcon, p as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, k as ImageErrorIcon, J as JavaLogo, K as K8sLogo, f as KafkaLogo, q as MysqlLogo, N as NginxLogo, r as NodejsLogo, m as PayloadCollectionIcon, s as PhpLogo, P as PiiMaskingIcon, t as PostgresLogo, u as PythonLogo, v as RedisLogo, R as RenameAttributeIcon, w as RubyLogo, x as RustLogo, j as SamplerIcon, y as SwiftLogo } from './index-86030474.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-4dfaeaab.js';
|
|
4
|
+
export { A as ArrowIcon, C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, G as GearIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RefreshLeftArrowIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-c1a8e92c.js';
|
|
5
5
|
import React from 'react';
|
|
6
|
-
export { 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-
|
|
7
|
-
export {
|
|
6
|
+
export { 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-72089d6e.js';
|
|
7
|
+
export { V as VmLogo } from './index-1b05e560.js';
|
|
8
|
+
export { a5 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, i as AwsCloudwatchLogo, S as AwsS3Logo, a1 as AwsXrayLogo, c as AxiomLogo, d as BetterStackLogo, B as BlobStorageLogo, e as BonreeLogo, C as CauselyLogo, f as ChecklyLogo, g as ChronosphereLogo, h as ClickhouseLogo, j as CoralogixLogo, D as Dash0Logo, k as DatadogLogo, a4 as DestinationsIcon, l as DynatraceLogo, E as ElasticApmLogo, m as ElasticSearchLogo, F as GigapipeLogo, G as GoogleCloudPlatformLogo, n as GrafanaLogo, o as GreptimeLogo, p as GroundcoverLogo, H as HoneycombLogo, q as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, r as LightstepLogo, s as LogzioLogo, t as LokiLogo, u as LumigoLogo, M as MiddlewareLogo, a2 as NamespacesIcon, N as NewRelicLogo, v as ObserveLogo, w as OneUptimeLogo, x as OpenObserveLogo, O as OpenTelemetryLogo, y as OpsVerseLogo, z as OracleLogo, P as PrometheusLogo, Q as QrynLogo, R as QuickwitLogo, a6 as RulesIcon, T as SeqLogo, U as SignozLogo, a3 as SourcesIcon, V as SplunkLogo, W as SumoLogicLogo, X as TelemetryHubLogo, Y as TempoLogo, Z as TingyunLogo, _ as TraceloopLogo, $ as UptraceLogo, a0 as VictoriaMetricsLogo } from './index-6bb0eb56.js';
|
|
8
9
|
import './types.js';
|
|
9
10
|
import 'styled-components';
|
|
10
11
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { T as Theme } from './index-86030474.js';
|
|
3
|
+
|
|
4
|
+
const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
5
|
+
const theme = Theme.useTheme();
|
|
6
|
+
const fill = f || theme.text.secondary;
|
|
7
|
+
return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 14 14', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
|
|
8
|
+
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 7.00016V12.5418M7 7.00016L1.94814 4.30969M7 7.00016L12.0519 4.30969M7 12.5418C7.12674 12.5418 7.25347 12.5291 7.37812 12.5037C7.65987 12.4463 7.92489 12.2996 8.45492 12.0063L10.7951 10.7111C11.3251 10.4177 11.5901 10.2711 11.7829 10.0659C11.9534 9.8843 12.0822 9.6704 12.161 9.43804C12.25 9.17542 12.25 8.88207 12.25 8.29536V5.70497C12.25 5.11826 12.25 4.82491 12.161 4.56229C12.1315 4.47526 12.095 4.39081 12.0519 4.30969M7 12.5418C6.87326 12.5418 6.74653 12.5291 6.62188 12.5037C6.34013 12.4463 6.07511 12.2996 5.54508 12.0063L3.20492 10.7111C2.67489 10.4177 2.40987 10.2711 2.21713 10.0659C2.04659 9.8843 1.91777 9.6704 1.83901 9.43804C1.75 9.17542 1.75 8.88207 1.75 8.29536V5.70497C1.75 5.11826 1.75 4.82491 1.83901 4.56229C1.86851 4.47526 1.90503 4.39081 1.94814 4.30969M12.0519 4.30969C11.9799 4.17423 11.8895 4.04802 11.7829 3.93447C11.5901 3.72926 11.3251 3.58258 10.7951 3.28923L8.45492 1.99404C7.92489 1.70068 7.65987 1.554 7.37812 1.49659C7.12882 1.4458 6.87117 1.4458 6.62188 1.49659C6.34013 1.554 6.07511 1.70068 5.54508 1.99404L3.20492 3.28923C2.67489 3.58258 2.40987 3.72926 2.21713 3.93447C2.11047 4.04802 2.02013 4.17423 1.94814 4.30969' })));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { VmLogo as V };
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { T as Theme } from './index-
|
|
3
|
-
|
|
4
|
-
const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
5
|
-
const theme = Theme.useTheme();
|
|
6
|
-
const fill = f || theme.text.secondary;
|
|
7
|
-
return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 14 14', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
|
|
8
|
-
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 7.00016V12.5418M7 7.00016L1.94814 4.30969M7 7.00016L12.0519 4.30969M7 12.5418C7.12674 12.5418 7.25347 12.5291 7.37812 12.5037C7.65987 12.4463 7.92489 12.2996 8.45492 12.0063L10.7951 10.7111C11.3251 10.4177 11.5901 10.2711 11.7829 10.0659C11.9534 9.8843 12.0822 9.6704 12.161 9.43804C12.25 9.17542 12.25 8.88207 12.25 8.29536V5.70497C12.25 5.11826 12.25 4.82491 12.161 4.56229C12.1315 4.47526 12.095 4.39081 12.0519 4.30969M7 12.5418C6.87326 12.5418 6.74653 12.5291 6.62188 12.5037C6.34013 12.4463 6.07511 12.2996 5.54508 12.0063L3.20492 10.7111C2.67489 10.4177 2.40987 10.2711 2.21713 10.0659C2.04659 9.8843 1.91777 9.6704 1.83901 9.43804C1.75 9.17542 1.75 8.88207 1.75 8.29536V5.70497C1.75 5.11826 1.75 4.82491 1.83901 4.56229C1.86851 4.47526 1.90503 4.39081 1.94814 4.30969M12.0519 4.30969C11.9799 4.17423 11.8895 4.04802 11.7829 3.93447C11.5901 3.72926 11.3251 3.58258 10.7951 3.28923L8.45492 1.99404C7.92489 1.70068 7.65987 1.554 7.37812 1.49659C7.12882 1.4458 6.87117 1.4458 6.62188 1.49659C6.34013 1.554 6.07511 1.70068 5.54508 1.99404L3.20492 3.28923C2.67489 3.58258 2.40987 3.72926 2.21713 3.93447C2.11047 4.04802 2.02013 4.17423 1.94814 4.30969' })));
|
|
9
|
-
};
|
|
2
|
+
import { T as Theme } from './index-86030474.js';
|
|
10
3
|
|
|
11
4
|
const AlaudaLogo = ({ size = 16, fill, rotate = 0, onClick }) => {
|
|
12
5
|
return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 43 43', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
|
|
@@ -680,4 +673,4 @@ const SourcesIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1
|
|
|
680
673
|
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M13.3332 3.8V8M13.3332 3.8C13.3332 4.79411 10.9454 5.6 7.99984 5.6C5.05432 5.6 2.6665 4.79411 2.6665 3.8M13.3332 3.8C13.3332 2.80589 10.9454 2 7.99984 2C5.05432 2 2.6665 2.80589 2.6665 3.8M13.3332 8V12.0875C13.3332 13.1437 10.9454 14 7.99984 14C5.05432 14 2.6665 13.1437 2.6665 12.0875V8M13.3332 8C13.3332 8.99413 10.9454 9.8 7.99984 9.8C5.05432 9.8 2.6665 8.99413 2.6665 8M2.6665 8V3.8M10.6665 7.33333H10.6732M10.6665 11.3333H10.6732' })));
|
|
681
674
|
};
|
|
682
675
|
|
|
683
|
-
export {
|
|
676
|
+
export { UptraceLogo as $, AlaudaLogo as A, BlobStorageLogo as B, CauselyLogo as C, Dash0Logo as D, ElasticApmLogo as E, GigapipeLogo as F, GoogleCloudPlatformLogo as G, HoneycombLogo as H, InstanaLogo as I, JaegerLogo as J, KloudmateLogo as K, Last9Logo as L, MiddlewareLogo as M, NewRelicLogo as N, OpenTelemetryLogo as O, PrometheusLogo as P, QrynLogo as Q, QuickwitLogo as R, AwsS3Logo as S, SeqLogo as T, SignozLogo as U, SplunkLogo as V, SumoLogicLogo as W, TelemetryHubLogo as X, TempoLogo as Y, TingyunLogo as Z, TraceloopLogo as _, AlibabaCloudLogo as a, VictoriaMetricsLogo as a0, AwsXrayLogo as a1, NamespacesIcon as a2, SourcesIcon as a3, DestinationsIcon as a4, ActionsIcon as a5, RulesIcon as a6, AppDynamicsLogo as b, AxiomLogo as c, BetterStackLogo as d, BonreeLogo as e, ChecklyLogo as f, ChronosphereLogo as g, ClickhouseLogo as h, AwsCloudwatchLogo as i, CoralogixLogo as j, DatadogLogo as k, DynatraceLogo as l, ElasticSearchLogo as m, GrafanaLogo as n, GreptimeLogo as o, GroundcoverLogo as p, HyperDxLogo as q, LightstepLogo as r, LogzioLogo as s, LokiLogo as t, LumigoLogo as u, ObserveLogo as v, OneUptimeLogo as w, OpenObserveLogo as x, OpsVerseLogo as y, OracleLogo as z };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { a6 as WarningModal } from './index-
|
|
2
|
+
import { a6 as WarningModal } from './index-8b8d8883.js';
|
|
3
3
|
import { StatusType, EntityTypes } from './types.js';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-86030474.js';
|
|
5
5
|
import 'styled-components';
|
|
6
6
|
|
|
7
7
|
const CancelWarning = ({ isOpen, noOverlay, name, onApprove, onDeny }) => {
|
|
@@ -1915,4 +1915,4 @@ var animations = /*#__PURE__*/Object.freeze({
|
|
|
1915
1915
|
|
|
1916
1916
|
const Theme = { Provider, useTheme, opacity, animations };
|
|
1917
1917
|
|
|
1918
|
-
export { useSelectedStore as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, ElixirLogo as E, FORM_ALERTS as F, GoLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, JavaLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, NginxLogo as N, useDrawerStore as O, PiiMaskingIcon as P, useActiveNodeStore as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, usePendingStore as U, useNotificationStore as V, useEntityStore as W, useFilterStore as X, useDataStreamStore as Y, useInstrumentStore as Z, useSetupStore as _, DEFAULT_DATA_STREAM_NAME as a, useDarkMode as a0, styleInject as a1, DISPLAY_TITLES as b, getEntityId as c, getInstrumentationRuleIcon as d, getProgrammingLanguageIcon as e,
|
|
1918
|
+
export { useSelectedStore as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, ElixirLogo as E, FORM_ALERTS as F, GoLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, JavaLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, NginxLogo as N, useDrawerStore as O, PiiMaskingIcon as P, useActiveNodeStore as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, usePendingStore as U, useNotificationStore as V, useEntityStore as W, useFilterStore as X, useDataStreamStore as Y, useInstrumentStore as Z, useSetupStore as _, DEFAULT_DATA_STREAM_NAME as a, useDarkMode as a0, styleInject as a1, DISPLAY_TITLES as b, getEntityId as c, getInstrumentationRuleIcon as d, getProgrammingLanguageIcon as e, KafkaLogo as f, getActionIcon as g, AddClusterInfoIcon as h, DeleteAttributeIcon as i, SamplerIcon as j, ImageErrorIcon as k, CustomInstrumentationIcon as l, PayloadCollectionIcon as m, CPlusPlusLogo as n, CSharpLogo as o, DotnetLogo as p, MysqlLogo as q, NodejsLogo as r, PhpLogo as s, PostgresLogo as t, PythonLogo as u, RedisLogo as v, RubyLogo as w, RustLogo as x, SwiftLogo as y, useModalStore as z };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { StatusType, DestinationTypes, EntityTypes
|
|
2
|
-
import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon,
|
|
1
|
+
import { StatusType, DestinationTypes, EntityTypes } from './types.js';
|
|
2
|
+
import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon, f as KafkaLogo } from './index-86030474.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'styled-components';
|
|
5
|
-
import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo,
|
|
6
|
-
import { O as OdigosLogo } from './index-6034549d.js';
|
|
5
|
+
import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AxiomLogo, B as BlobStorageLogo, d as BetterStackLogo, e as BonreeLogo, C as CauselyLogo, f as ChecklyLogo, g as ChronosphereLogo, h as ClickhouseLogo, i as AwsCloudwatchLogo, j as CoralogixLogo, D as Dash0Logo, k as DatadogLogo, O as OpenTelemetryLogo, l as DynatraceLogo, E as ElasticApmLogo, m as ElasticSearchLogo, G as GoogleCloudPlatformLogo, n as GrafanaLogo, o as GreptimeLogo, p as GroundcoverLogo, H as HoneycombLogo, q as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, r as LightstepLogo, s as LogzioLogo, t as LokiLogo, u as LumigoLogo, M as MiddlewareLogo, N as NewRelicLogo, v as ObserveLogo, w as OneUptimeLogo, x as OpenObserveLogo, y as OpsVerseLogo, z as OracleLogo, P as PrometheusLogo, Q as QrynLogo, F as GigapipeLogo, R as QuickwitLogo, S as AwsS3Logo, T as SeqLogo, U as SignozLogo, V as SplunkLogo, W as SumoLogicLogo, X as TelemetryHubLogo, Y as TempoLogo, Z as TingyunLogo, _ as TraceloopLogo, $ as UptraceLogo, a0 as VictoriaMetricsLogo, a1 as AwsXrayLogo, a2 as NamespacesIcon, a3 as SourcesIcon, a4 as DestinationsIcon, a5 as ActionsIcon, a6 as RulesIcon } from './index-6bb0eb56.js';
|
|
7
6
|
import { s as safeJsonParse } from './index-5e5f7bda.js';
|
|
8
7
|
|
|
9
8
|
const compareCondition = (renderCondition, fields) => {
|
|
@@ -235,26 +234,6 @@ const getMetricForEntity = (metrics, entityType, entityId) => {
|
|
|
235
234
|
return metric || { throughput: 0 };
|
|
236
235
|
};
|
|
237
236
|
|
|
238
|
-
const getPlatformIcon = (type) => {
|
|
239
|
-
if (!type)
|
|
240
|
-
return OdigosLogo;
|
|
241
|
-
const LOGOS = {
|
|
242
|
-
[PlatformType.K8s]: K8sLogo,
|
|
243
|
-
[PlatformType.Vm]: VmLogo,
|
|
244
|
-
};
|
|
245
|
-
return LOGOS[type];
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
const getPlatformLabel = (type) => {
|
|
249
|
-
if (!type)
|
|
250
|
-
return 'Unknown';
|
|
251
|
-
const LABELS = {
|
|
252
|
-
[PlatformType.K8s]: 'Kubernetes Cluster',
|
|
253
|
-
[PlatformType.Vm]: 'Virtual Machine',
|
|
254
|
-
};
|
|
255
|
-
return LABELS[type];
|
|
256
|
-
};
|
|
257
|
-
|
|
258
237
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
259
238
|
const getValueForRange = (current, matrix) => {
|
|
260
239
|
// CURRENT: represents the current value (such as window width)
|
|
@@ -322,4 +301,4 @@ const mapDestinationFieldsForDisplay = (destination, yamlFields) => {
|
|
|
322
301
|
|
|
323
302
|
const sleep = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
324
303
|
|
|
325
|
-
export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, filterSources as d, filterSourcesByStream as e, filterActions as f, formatBytes as g, getContainersInstrumentedCount as h, getContainersIcons as i, getDestinationIcon as j, getEntityIcon as k, getEntityLabel as l, getMetricForEntity as m,
|
|
304
|
+
export { filterDestinations as a, filterDestinationsByStream as b, compareCondition as c, filterSources as d, filterSourcesByStream as e, filterActions as f, formatBytes as g, getContainersInstrumentedCount as h, getContainersIcons as i, getDestinationIcon as j, getEntityIcon as k, getEntityLabel as l, getMetricForEntity as m, getValueForRange as n, getWorkloadId as o, getYamlFieldsForDestination as p, hasUnhealthyInstances as q, isOverTime as r, mapDestinationFieldsForDisplay as s, sleep as t };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { Fragment, useMemo, useState, useEffect, useRef, forwardRef, createElement, useCallback, createContext, memo, useContext, useLayoutEffect } from 'react';
|
|
2
|
-
import { T as Theme, B as BUTTON_TEXTS,
|
|
2
|
+
import { T as Theme, B as BUTTON_TEXTS, k as ImageErrorIcon, M as MONITORS_OPTIONS, a1 as styleInject, U as usePendingStore, $ as useSelectedStore, Z as useInstrumentStore, Q as useActiveNodeStore, V as useNotificationStore, b as DISPLAY_TITLES, L as LANGUAGE_OPTIONS, F as FORM_ALERTS, D as DISPLAY_LANGUAGES, e as getProgrammingLanguageIcon } from './index-86030474.js';
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
|
-
import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-
|
|
4
|
+
import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-72089d6e.js';
|
|
5
5
|
import { StatusType, OtherStatus, EntityTypes, NodeTypes, AddNodeTypes, EdgeTypes, ProgrammingLanguages, IntrumentationStatus, SortDirection, InputTypes, FieldTypes } from './types.js';
|
|
6
6
|
import { s as safeJsonParse, i as isEmpty } from './index-5e5f7bda.js';
|
|
7
|
-
import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-
|
|
7
|
+
import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-f22371cb.js';
|
|
8
8
|
import ReactDOM, { createPortal } from 'react-dom';
|
|
9
|
-
import {
|
|
10
|
-
import { I as InfoIcon } from './index-
|
|
9
|
+
import { c as usePopup, h as useCopy, b as useClickNode, i as useGenericForm, a as useContainerSize, f as useTransition, u as useKeyDown, d as useOnClickOutside } from './useTransition-cac1649d.js';
|
|
10
|
+
import { I as InfoIcon } from './index-4dfaeaab.js';
|
|
11
11
|
|
|
12
12
|
const TextWrapper$2 = styled.div `
|
|
13
13
|
color: ${({ $color, theme }) => $color || theme.text.secondary};
|
|
@@ -83,9 +83,11 @@ const Text = ({ children, color, size, weight, align, family, opacity, decoratio
|
|
|
83
83
|
: '';
|
|
84
84
|
return str.split('\n');
|
|
85
85
|
}, [children]);
|
|
86
|
-
return (React.createElement(TextWrapper$2, { "$color": color, "$size": size, "$weight": weight, "$align": align, "$family": family, "$opacity": opacity, "$decoration": decoration, ...props }, textArray.
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
return (React.createElement(TextWrapper$2, { "$color": color, "$size": size, "$weight": weight, "$align": align, "$family": family, "$opacity": opacity, "$decoration": decoration, ...props }, textArray.length
|
|
87
|
+
? textArray.map((str, i) => (React.createElement(Fragment, { key: `text-${i}-${str}` },
|
|
88
|
+
renderText(str, theme),
|
|
89
|
+
i !== textArray.length - 1 ? React.createElement("br", null) : null)))
|
|
90
|
+
: children));
|
|
89
91
|
};
|
|
90
92
|
|
|
91
93
|
const ErrorWrapper = styled.div `
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StatusType, OtherStatus, SignalType } from './types.js';
|
|
2
2
|
import 'react';
|
|
3
|
-
import './index-
|
|
3
|
+
import './index-86030474.js';
|
|
4
4
|
import 'styled-components';
|
|
5
|
-
import { L as LogsIcon, M as MetricsIcon, T as TracesIcon, C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon, I as InfoIcon, O as OdigosLogo } from './index-
|
|
5
|
+
import { L as LogsIcon, M as MetricsIcon, T as TracesIcon, C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon, I as InfoIcon, O as OdigosLogo } from './index-4dfaeaab.js';
|
|
6
6
|
|
|
7
7
|
const capitalizeFirstLetter = (string) => {
|
|
8
8
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
package/lib/snippets.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { B as Button, _ as Text, L as NotificationNote } from './index-
|
|
2
|
-
export { al as AddButton, aq as AddNode, ar as BaseNode, an as CopyText, as as EdgedNode, aj as Flow, at as FrameNode, au as HeaderNode, az as LabeledEdge, av as MapItemNode, aw as NoDataNode, ao as PodContainer, ax as ScrollNode, ay as SkeletonNode, ap as SourceContainer, ag as nodeConfig } from './index-
|
|
1
|
+
import { B as Button, _ as Text, L as NotificationNote } from './index-8b8d8883.js';
|
|
2
|
+
export { al as AddButton, aq as AddNode, ar as BaseNode, an as CopyText, as as EdgedNode, aj as Flow, at as FrameNode, au as HeaderNode, az as LabeledEdge, av as MapItemNode, aw as NoDataNode, ao as PodContainer, ax as ScrollNode, ay as SkeletonNode, ap as SourceContainer, ag as nodeConfig } from './index-8b8d8883.js';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-
|
|
5
|
-
import { E as EditIcon } from './index-
|
|
4
|
+
import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-86030474.js';
|
|
5
|
+
import { E as EditIcon } from './index-72089d6e.js';
|
|
6
6
|
import { StatusType } from './types.js';
|
|
7
7
|
import 'styled-components';
|
|
8
|
-
import { I as InfoIcon } from './index-
|
|
8
|
+
import { I as InfoIcon } from './index-4dfaeaab.js';
|
|
9
9
|
import './index-5e5f7bda.js';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-f22371cb.js';
|
|
11
11
|
import 'react-dom';
|
|
12
|
-
import './useTransition-
|
|
12
|
+
import './useTransition-cac1649d.js';
|
|
13
13
|
|
|
14
14
|
const EditButton = ({ label, onClick, variant = 'tertiary', ...props }) => {
|
|
15
15
|
const theme = Theme.useTheme();
|
package/lib/store.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Q as useActiveNodeStore, a0 as useDarkMode, Y as useDataStreamStore, O as useDrawerStore, W as useEntityStore, X as useFilterStore, Z as useInstrumentStore, z as useModalStore, V as useNotificationStore, U as usePendingStore, $ as useSelectedStore, _ as useSetupStore } from './index-
|
|
1
|
+
export { Q as useActiveNodeStore, a0 as useDarkMode, Y as useDataStreamStore, O as useDrawerStore, W as useEntityStore, X as useFilterStore, Z as useInstrumentStore, z as useModalStore, V as useNotificationStore, U as usePendingStore, $ as useSelectedStore, _ as useSetupStore } from './index-86030474.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import './types.js';
|
|
4
4
|
import 'styled-components';
|
package/lib/theme.js
CHANGED
package/lib/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z as useModalStore, O as useDrawerStore, Q as useActiveNodeStore } from './index-
|
|
1
|
+
import { z as useModalStore, O as useDrawerStore, Q as useActiveNodeStore } from './index-86030474.js';
|
|
2
2
|
import { AddNodeTypes, EntityTypes, PayloadCollectionKeyTypes, CodeAttributesKeyTypes, CustomInstrumentationsKeyTypes } from './types.js';
|
|
3
3
|
import React, { useState, useMemo, useEffect, useRef, useCallback } from 'react';
|
|
4
4
|
import styled from 'styled-components';
|
|
@@ -3595,4 +3595,4 @@ const useTransition = ({ container, animateIn, animateOut, duration = 300 }) =>
|
|
|
3595
3595
|
return Transition;
|
|
3596
3596
|
};
|
|
3597
3597
|
|
|
3598
|
-
export {
|
|
3598
|
+
export { useContainerSize as a, useClickNode as b, usePopup as c, useOnClickOutside as d, useInstrumentationRuleFormData as e, useTransition as f, useTimeAgo as g, useCopy as h, useGenericForm as i, useKeyDown as u };
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type Connection } from '@/types';
|
|
3
|
-
interface ComputePlatformSelectProps {
|
|
4
|
-
connections: Connection[];
|
|
5
|
-
selected?: Connection;
|
|
6
|
-
onSelect: (payload: Connection) => void;
|
|
7
|
-
onViewAll: () => void;
|
|
8
|
-
}
|
|
9
|
-
declare const ComputePlatformSelect: React.FC<ComputePlatformSelectProps>;
|
|
10
|
-
export { ComputePlatformSelect, type ComputePlatformSelectProps };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type FC } from 'react';
|
|
2
|
-
import { type Connection } from '@/types';
|
|
3
|
-
interface ComputePlatformsProps {
|
|
4
|
-
connections: Connection[];
|
|
5
|
-
onSelect: (payload: Connection) => void;
|
|
6
|
-
}
|
|
7
|
-
declare const ComputePlatforms: FC<ComputePlatformsProps>;
|
|
8
|
-
export { ComputePlatforms, type ComputePlatformsProps };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type FC } from 'react';
|
|
2
|
-
import type { Connection } from '@/types';
|
|
3
|
-
interface ComputePlatformsActionsMenuProps {
|
|
4
|
-
connections: Connection[];
|
|
5
|
-
}
|
|
6
|
-
declare const ComputePlatformsActionsMenu: FC<ComputePlatformsActionsMenuProps>;
|
|
7
|
-
export { ComputePlatformsActionsMenu, type ComputePlatformsActionsMenuProps };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type FC } from 'react';
|
|
2
|
-
import type { Connection } from '@/types';
|
|
3
|
-
import { type DropdownProps } from '@/components';
|
|
4
|
-
interface ConnectionStatusDropdownProps {
|
|
5
|
-
connections: Connection[];
|
|
6
|
-
title?: string;
|
|
7
|
-
value?: DropdownProps['options'];
|
|
8
|
-
onSelect: (val: DropdownProps['options'][0]) => void;
|
|
9
|
-
onDeselect: (val: DropdownProps['options'][0]) => void;
|
|
10
|
-
isMulti?: boolean;
|
|
11
|
-
required?: boolean;
|
|
12
|
-
showSearch?: boolean;
|
|
13
|
-
}
|
|
14
|
-
declare const ConnectionStatusDropdown: FC<ConnectionStatusDropdownProps>;
|
|
15
|
-
export { ConnectionStatusDropdown, type ConnectionStatusDropdownProps };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type FC } from 'react';
|
|
2
|
-
import type { Connection } from '@/types';
|
|
3
|
-
import { type DropdownProps } from '@/components';
|
|
4
|
-
interface ConnectionTypeDropdownProps {
|
|
5
|
-
connections: Connection[];
|
|
6
|
-
title?: string;
|
|
7
|
-
value?: DropdownProps['options'];
|
|
8
|
-
onSelect: (val: DropdownProps['options'][0]) => void;
|
|
9
|
-
onDeselect: (val: DropdownProps['options'][0]) => void;
|
|
10
|
-
isMulti?: boolean;
|
|
11
|
-
required?: boolean;
|
|
12
|
-
showSearch?: boolean;
|
|
13
|
-
}
|
|
14
|
-
declare const ConnectionTypeDropdown: FC<ConnectionTypeDropdownProps>;
|
|
15
|
-
export { ConnectionTypeDropdown, type ConnectionTypeDropdownProps };
|