@odigos/ui-kit 0.0.57 → 0.0.59
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 +21 -0
- package/lib/components/drawer/drawer-footer/index.d.ts +3 -0
- package/lib/components/styled.d.ts +14 -3
- package/lib/components/tag/index.d.ts +3 -2
- package/lib/components.js +8 -8
- package/lib/constants/strings/index.d.ts +2 -1
- package/lib/constants.js +1 -1
- package/lib/containers/instrumentation-rule-form/index.d.ts +1 -1
- package/lib/containers.js +25 -26
- package/lib/functions.js +5 -5
- package/lib/hooks/useGenericForm.d.ts +1 -0
- package/lib/hooks/useSourceSelectionFormData.d.ts +2 -0
- package/lib/hooks.js +14 -16
- package/lib/icons.js +6 -6
- package/lib/{index-3f1cbe2e.js → index-0001f711.js} +1 -1
- package/lib/{index-7d331ab3.js → index-27fc9053.js} +1 -1
- package/lib/{index-ebd8218b.js → index-355d023b.js} +2 -2
- package/lib/{index-1f42dc81.js → index-3de83c73.js} +1 -1
- package/lib/{index-15342ca8.js → index-630dec93.js} +1 -1
- package/lib/{index-2ca06346.js → index-bb79aa09.js} +2 -2
- package/lib/{index-9d7ee546.js → index-e6385bb5.js} +24 -11
- package/lib/{index-a4a96604.js → index-e9b26c29.js} +6 -1
- package/lib/{index-746078ec.js → index-f2c2de35.js} +3 -3
- package/lib/mock-data/sources/index.d.ts +1 -1
- package/lib/snippets.js +7 -7
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/instrumentation-rules/index.d.ts +5 -4
- package/lib/{useTransition-7826f3d7.js → useTransition-242df96b.js} +16 -20
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.59](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.58...ui-kit-v0.0.59) (2025-07-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add support for center buttons in DrawerFooter component ([#245](https://github.com/odigos-io/ui-kit/issues/245)) ([3b95eb4](https://github.com/odigos-io/ui-kit/commit/3b95eb420a028d43e666f75f60bc546a6d75c85d))
|
|
9
|
+
|
|
10
|
+
## [0.0.58](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.57...ui-kit-v0.0.58) (2025-07-16)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* add supported languages for instrumentation rules ([#243](https://github.com/odigos-io/ui-kit/issues/243)) ([534e196](https://github.com/odigos-io/ui-kit/commit/534e196f9118bcdff5a72f05e5e42e0d5c841a6b))
|
|
16
|
+
* enhance useGenericForm hook with isFormDirty state ([#240](https://github.com/odigos-io/ui-kit/issues/240)) ([3cc2f2b](https://github.com/odigos-io/ui-kit/commit/3cc2f2ba0092ac8ea7652c977c564221a7c714ab))
|
|
17
|
+
* filter by running instances for source selection form ([#244](https://github.com/odigos-io/ui-kit/issues/244)) ([1122570](https://github.com/odigos-io/ui-kit/commit/1122570267ecb3158a944c3215d2adceea229e08))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* dropdown values for destination during onboarding ([#242](https://github.com/odigos-io/ui-kit/issues/242)) ([bd528dd](https://github.com/odigos-io/ui-kit/commit/bd528ddb06cda7824d9960abb1e7341b352cbc64))
|
|
23
|
+
|
|
3
24
|
## [0.0.57](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.56...ui-kit-v0.0.57) (2025-07-15)
|
|
4
25
|
|
|
5
26
|
|
|
@@ -3,12 +3,19 @@ export declare const FlexRow: import("styled-components/dist/types").IStyledComp
|
|
|
3
3
|
$gap?: number;
|
|
4
4
|
$alignItems?: CSSProperties["alignItems"];
|
|
5
5
|
$justifyContent?: CSSProperties["justifyContent"];
|
|
6
|
+
$wrap?: CSSProperties["flexWrap"];
|
|
6
7
|
}>> & string;
|
|
7
8
|
export declare const FlexColumn: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
8
9
|
$gap?: number;
|
|
10
|
+
$alignItems?: CSSProperties["alignItems"];
|
|
11
|
+
$justifyContent?: CSSProperties["justifyContent"];
|
|
12
|
+
$wrap?: CSSProperties["flexWrap"];
|
|
9
13
|
}>> & string;
|
|
10
|
-
export declare const CenterThis: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$gap"> & {
|
|
14
|
+
export declare const CenterThis: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$gap" | "$alignItems" | "$justifyContent" | "$wrap"> & {
|
|
11
15
|
$gap?: number;
|
|
16
|
+
$alignItems?: CSSProperties["alignItems"];
|
|
17
|
+
$justifyContent?: CSSProperties["justifyContent"];
|
|
18
|
+
$wrap?: CSSProperties["flexWrap"];
|
|
12
19
|
}, never>> & string;
|
|
13
20
|
export declare const VerticalScroll: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
14
21
|
export declare const Overlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -16,15 +23,19 @@ export declare const ModalBody: import("styled-components/dist/types").IStyledCo
|
|
|
16
23
|
$isNotModal?: boolean;
|
|
17
24
|
$minHeight?: CSSProperties["minHeight"];
|
|
18
25
|
}>> & string;
|
|
19
|
-
export declare const TableContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$gap"> & {
|
|
26
|
+
export declare const TableContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$gap" | "$alignItems" | "$justifyContent" | "$wrap"> & {
|
|
20
27
|
$gap?: number;
|
|
28
|
+
$alignItems?: CSSProperties["alignItems"];
|
|
29
|
+
$justifyContent?: CSSProperties["justifyContent"];
|
|
30
|
+
$wrap?: CSSProperties["flexWrap"];
|
|
21
31
|
}, {
|
|
22
32
|
$maxWidth: CSSProperties["maxWidth"];
|
|
23
33
|
}>> & string;
|
|
24
|
-
export declare const TableTitleWrap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$gap" | "$alignItems" | "$justifyContent"> & {
|
|
34
|
+
export declare const TableTitleWrap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$gap" | "$alignItems" | "$justifyContent" | "$wrap"> & {
|
|
25
35
|
$gap?: number;
|
|
26
36
|
$alignItems?: CSSProperties["alignItems"];
|
|
27
37
|
$justifyContent?: CSSProperties["justifyContent"];
|
|
38
|
+
$wrap?: CSSProperties["flexWrap"];
|
|
28
39
|
}, never>> & string;
|
|
29
40
|
export declare const TableWrap: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
30
41
|
$maxHeight: CSSProperties["maxHeight"];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type FC } from 'react';
|
|
2
|
-
import { StatusType } from '@/types';
|
|
3
2
|
import { TextProps } from '../text';
|
|
3
|
+
import { type SVG, StatusType } from '@/types';
|
|
4
4
|
interface TagProps extends TextProps {
|
|
5
|
-
type
|
|
5
|
+
type?: StatusType;
|
|
6
|
+
icon?: SVG;
|
|
6
7
|
}
|
|
7
8
|
declare const Tag: FC<TagProps>;
|
|
8
9
|
export { Tag, type TagProps };
|
package/lib/components.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { B as Button } from './index-
|
|
2
|
-
export { A as AutocompleteInput, a as Badge, a5 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, a4 as FlexColumn, a3 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, a8 as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, a7 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, a9 as TableContainer, aa as TableTitleWrap, ab as TableWrap, Y as Tag, Z as Text, _ as TextArea, $ as Toggle, T as ToggleCodeComponent, a0 as Tooltip, a1 as TraceLoader, a6 as VerticalScroll, a2 as WarningModal } from './index-
|
|
3
|
-
export { C as CancelWarning, D as DeleteWarning } from './index-
|
|
1
|
+
import { B as Button } from './index-e6385bb5.js';
|
|
2
|
+
export { A as AutocompleteInput, a as Badge, a5 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, a4 as FlexColumn, a3 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, a8 as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, a7 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, a9 as TableContainer, aa as TableTitleWrap, ab as TableWrap, Y as Tag, Z as Text, _ as TextArea, $ as Toggle, T as ToggleCodeComponent, a0 as Tooltip, a1 as TraceLoader, a6 as VerticalScroll, a2 as WarningModal } from './index-e6385bb5.js';
|
|
3
|
+
export { C as CancelWarning, D as DeleteWarning } from './index-bb79aa09.js';
|
|
4
4
|
import React, { createContext, Component, createElement } from 'react';
|
|
5
|
-
import { T as Theme } from './index-
|
|
5
|
+
import { T as Theme } from './index-e9b26c29.js';
|
|
6
6
|
import './types.js';
|
|
7
|
-
import './index-
|
|
8
|
-
import './index-
|
|
7
|
+
import './index-0001f711.js';
|
|
8
|
+
import './index-355d023b.js';
|
|
9
9
|
import 'styled-components';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-630dec93.js';
|
|
11
11
|
import './index-ec555530.js';
|
|
12
12
|
import 'react-dom';
|
|
13
|
-
import './useTransition-
|
|
13
|
+
import './useTransition-242df96b.js';
|
|
14
14
|
|
|
15
15
|
const ErrorBoundaryContext = createContext(null);
|
|
16
16
|
|
|
@@ -88,7 +88,8 @@ export declare const DISPLAY_TITLES: {
|
|
|
88
88
|
FILTERED_COUNT_TOOLTIP: string;
|
|
89
89
|
SEARCH_NAMESPACES: string;
|
|
90
90
|
SEARCH_SOURCES: string;
|
|
91
|
-
|
|
91
|
+
ONLY_SELECTED: string;
|
|
92
|
+
ONLY_RUNNING_INSTANCES: string;
|
|
92
93
|
TO_COLLECT_OTEL_DATA: string;
|
|
93
94
|
TO_MONITOR_OTEL_DATA: string;
|
|
94
95
|
TO_MODIFY_OTEL_DATA: string;
|
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-e9b26c29.js';
|
|
2
2
|
export { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import './types.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type FC } from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type InstrumentationRuleFormData, type InstrumentationRuleOption } from '@/types';
|
|
3
3
|
interface InstrumentationRuleFormProps {
|
|
4
4
|
isUpdate?: boolean;
|
|
5
5
|
rule: InstrumentationRuleOption;
|
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, D as DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore, j as ImageErrorIcon, a0 as useDarkMode } from './index-
|
|
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 DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, e as getProgrammingLanguageIcon, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore, j as ImageErrorIcon, a0 as useDarkMode } from './index-e9b26c29.js';
|
|
4
4
|
import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, EdgeTypes, AddNodeTypes, SignalType, HeadersCollectionKeyTypes, CustomInstrumentationsKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind } 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, Z as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, _ as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a4 as FlexColumn, M as Modal, N as NavigationButtons, a8 as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a3 as FlexRow, a0 as Tooltip, s as IconWrapped, G as MonitorsIcons, a9 as TableContainer, aa as TableTitleWrap, r as IconTitleBadge, ab as TableWrap, y as InteractiveTable, a5 as CenterThis, J as NoDataFound, a1 as TraceLoader, a as Badge, E as ExtendArrow, a6 as VerticalScroll, U as SelectionButton, B as Button, n as Dropdown, ac as nodeConfig, ad as useNodesState, ae as useEdgesState, af as Flow, ag as applyNodeChanges, P as Popup, $ as Toggle, I as IconButton, ah as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, ai as MarkerType, t as IconsNav, aj as CopyText, h as DescribeRow, ak as PodContainer, al as SourceContainer, q as IconGroup, O as PopupForm } from './index-
|
|
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, Z as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, _ as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a4 as FlexColumn, M as Modal, N as NavigationButtons, a8 as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a3 as FlexRow, a0 as Tooltip, s as IconWrapped, G as MonitorsIcons, a9 as TableContainer, aa as TableTitleWrap, r as IconTitleBadge, ab as TableWrap, y as InteractiveTable, a5 as CenterThis, J as NoDataFound, a1 as TraceLoader, a as Badge, E as ExtendArrow, a6 as VerticalScroll, U as SelectionButton, B as Button, n as Dropdown, ac as nodeConfig, ad as useNodesState, ae as useEdgesState, af as Flow, ag as applyNodeChanges, P as Popup, $ as Toggle, I as IconButton, ah as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, Y as Tag, ai as MarkerType, t as IconsNav, aj as CopyText, h as DescribeRow, ak as PodContainer, al as SourceContainer, q as IconGroup, O as PopupForm } from './index-e6385bb5.js';
|
|
6
6
|
import { i as isEmpty, s as safeJsonParse } from './index-ec555530.js';
|
|
7
|
-
import { C as CheckCircledIcon, O as OdigosLogo } from './index-
|
|
8
|
-
import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, U as UserIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-
|
|
7
|
+
import { C as CheckCircledIcon, O as OdigosLogo } from './index-630dec93.js';
|
|
8
|
+
import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, U as UserIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-3de83c73.js';
|
|
9
9
|
import { useActionFormData, useSessionStorage, useDataStreamFormData, useDestinationFormData, useClickNotification, useSourceFormData, useSourceSelectionFormData } from './hooks.js';
|
|
10
|
-
import { u as useKeyDown, a as useOnClickOutside, b as useContainerSize, c as useClickNode, d as usePopup, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-
|
|
11
|
-
import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, A as ArrowIcon, 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, m as getEntityLabel, l as getEntityIcon, w as sleep, o as getPlatformIcon, p as getPlatformLabel, h as formatBytes, j as getContainersIcons, q as getValueForRange, k as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, s as getYamlFieldsForDestination, d as deepClone, n as getMetricForEntity, r as getWorkloadId, t as hasUnhealthyInstances, i as getContainersInstrumentedCount, u as isOverTime } from './index-
|
|
10
|
+
import { u as useKeyDown, a as useOnClickOutside, b as useContainerSize, c as useClickNode, d as usePopup, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-242df96b.js';
|
|
11
|
+
import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, A as ArrowIcon, P as PlusIcon, a as CopyIcon } from './index-0001f711.js';
|
|
12
|
+
import { D as DeleteWarning, C as CancelWarning } from './index-bb79aa09.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-355d023b.js';
|
|
14
|
+
import { f as filterActions, m as getEntityLabel, l as getEntityIcon, w as sleep, o as getPlatformIcon, p as getPlatformLabel, h as formatBytes, j as getContainersIcons, q as getValueForRange, k as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, s as getYamlFieldsForDestination, d as deepClone, n as getMetricForEntity, r as getWorkloadId, t as hasUnhealthyInstances, i as getContainersInstrumentedCount, u as isOverTime } from './index-f2c2de35.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, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-
|
|
18
|
+
import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-27fc9053.js';
|
|
19
19
|
import 'react-dom';
|
|
20
20
|
|
|
21
21
|
const buildCard$3 = (action) => {
|
|
@@ -2322,7 +2322,7 @@ const DynamicFields = ({ fields, onChange, formErrors }) => {
|
|
|
2322
2322
|
case FieldTypes.Input:
|
|
2323
2323
|
return React.createElement(Input, { key: field.name, ...rest, onChange: (e) => onChange(field.name, e.target.value), errorMessage: formErrors[field.name] });
|
|
2324
2324
|
case FieldTypes.Dropdown:
|
|
2325
|
-
return (React.createElement(Dropdown, { key: field.name, ...rest, showSearch: true, value: { id: rest.value || '', value: rest.value || '' }, options: rest.options || [], onSelect: (option) => onChange(field.name, option.
|
|
2325
|
+
return (React.createElement(Dropdown, { key: field.name, ...rest, showSearch: true, value: { id: rest.value || '', value: rest.value || '' }, options: rest.options || [], onSelect: (option) => onChange(field.name, option.id), errorMessage: formErrors[field.name] }));
|
|
2326
2326
|
case FieldTypes.MultiInput:
|
|
2327
2327
|
return (React.createElement(InputList, { key: field.name, ...rest, value: typeof rest.value === 'string' ? safeJsonParse(rest.value, []) : rest.value, onChange: (value) => onChange(field.name, JSON.stringify(value)), errorMessage: formErrors[field.name] }));
|
|
2328
2328
|
case FieldTypes.KeyValuePair:
|
|
@@ -2740,9 +2740,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
|
|
|
2740
2740
|
const getDestPayload = (alreadyConfigDest) => {
|
|
2741
2741
|
const fields = {};
|
|
2742
2742
|
if (!alreadyConfigDest) {
|
|
2743
|
-
dynamicFields.forEach((f) =>
|
|
2744
|
-
fields[f.name] = (f.componentType === FieldTypes.Dropdown ? f.value?.value || '' : f.value);
|
|
2745
|
-
});
|
|
2743
|
+
dynamicFields.forEach((f) => (fields[f.name] = f.value));
|
|
2746
2744
|
}
|
|
2747
2745
|
return {
|
|
2748
2746
|
id: alreadyConfigDest?.id || '',
|
|
@@ -3296,14 +3294,15 @@ const FieldTitle = styled(Text) `
|
|
|
3296
3294
|
const InstrumentationRuleForm = ({ isUpdate, rule, formData, formErrors, handleFormChange }) => {
|
|
3297
3295
|
const theme = Theme.useTheme();
|
|
3298
3296
|
return (React.createElement(Container$7, null,
|
|
3299
|
-
|
|
3297
|
+
React.createElement(FlexRow, null, rule.supportedLanguages.map((lang) => (React.createElement(Tag, { key: lang, icon: getProgrammingLanguageIcon(lang), type: StatusType.Info }, lang)))),
|
|
3298
|
+
isUpdate ? (React.createElement("div", null,
|
|
3300
3299
|
React.createElement(FieldTitle, null, "Status"),
|
|
3301
3300
|
React.createElement(Segment, { options: [
|
|
3302
3301
|
{ icon: CheckCircledIcon, label: 'active', value: false, selectedBgColor: theme.text.success + Theme.opacity.hex['050'] },
|
|
3303
3302
|
{ icon: CrossCircledIcon, label: 'inactive', value: true, selectedBgColor: theme.text.error + Theme.opacity.hex['050'] },
|
|
3304
|
-
], selected: formData.disabled, setSelected: (bool) => handleFormChange('disabled', bool) }))),
|
|
3305
|
-
|
|
3306
|
-
|
|
3303
|
+
], selected: formData.disabled, setSelected: (bool) => handleFormChange('disabled', bool) }))) : (React.createElement(React.Fragment, null,
|
|
3304
|
+
React.createElement(SectionTitle, { title: '', description: rule.docsDescription, actionButton: React.createElement(DocsButton, { endpoint: rule.docsEndpoint }) }),
|
|
3305
|
+
React.createElement(Input, { title: 'Rule name', placeholder: 'Use a name that describes the rule', value: formData['ruleName'], onChange: ({ target: { value } }) => handleFormChange('ruleName', value), errorMessage: formErrors['ruleName'] }))),
|
|
3307
3306
|
React.createElement(CustomFields, { ruleType: rule.type, value: formData, setValue: (key, val) => handleFormChange(key, val), formErrors: formErrors }),
|
|
3308
3307
|
React.createElement(TextArea, { title: 'Notes', value: formData['notes'], onChange: ({ target: { value } }) => handleFormChange('notes', value), errorMessage: formErrors['notes'] })));
|
|
3309
3308
|
};
|
|
@@ -4380,16 +4379,14 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource, resta
|
|
|
4380
4379
|
React.createElement(DataCard, { title: DISPLAY_TITLES.DETECTED_CONTAINERS, titleBadge: containersData.isLoading ? OtherStatus.Loading : containersData.containers.length, description: containersData.description || DISPLAY_TITLES.DETECTED_CONTAINERS_DESCRIPTION }, containersData.containers.map((container) => (React.createElement(SourceContainer, { key: `source-container-${container.containerName}`, ...container, callbackRuntimeOverride: async (payload) => await updateSource(drawerEntityId, payload) }))))))) : (React.createElement(Describe$1, { source: thisItem, fetchDescribeSource: fetchDescribeSource }))));
|
|
4381
4380
|
};
|
|
4382
4381
|
|
|
4383
|
-
const ActionsRow = styled(FlexRow) `
|
|
4384
|
-
justify-content: space-between;
|
|
4385
|
-
`;
|
|
4386
4382
|
const SearchWrapper = styled.div `
|
|
4387
|
-
max-width:
|
|
4383
|
+
max-width: 420px;
|
|
4384
|
+
width: 100%;
|
|
4388
4385
|
`;
|
|
4389
4386
|
const SourceSelectionForm = forwardRef(({ isModal, fetchSingleNamespace, onClickSummary }, ref) => {
|
|
4390
4387
|
const theme = Theme.useTheme();
|
|
4391
4388
|
const formState = useSourceSelectionFormData({ fetchSingleNamespace });
|
|
4392
|
-
const { availableSources, selectedSources, getApiSourcesPayload, getApiFutureAppsPayload, searchText, setSearchText, searchBy, setSearchBy, showSelectedOnly, setShowSelectedOnly } = formState;
|
|
4389
|
+
const { availableSources, selectedSources, getApiSourcesPayload, getApiFutureAppsPayload, searchText, setSearchText, searchBy, setSearchBy, showSelectedOnly, setShowSelectedOnly, showRunningOnly, setShowRunningOnly, } = formState;
|
|
4393
4390
|
useImperativeHandle(ref, () => ({
|
|
4394
4391
|
getFormValues: () => ({
|
|
4395
4392
|
initial: availableSources,
|
|
@@ -4403,14 +4400,16 @@ const SourceSelectionForm = forwardRef(({ isModal, fetchSingleNamespace, onClick
|
|
|
4403
4400
|
React.createElement(FlexColumn, { "$gap": 24 },
|
|
4404
4401
|
onClickSummary && React.createElement(NoteBackToSummary, { onClick: onClickSummary }),
|
|
4405
4402
|
React.createElement(SectionTitle, { title: DISPLAY_TITLES.SELECT_SOURCES, badgeLabel: selectedCount, description: DISPLAY_TITLES.SELECT_SOURCES_DESCRIPTION }),
|
|
4406
|
-
React.createElement(
|
|
4403
|
+
React.createElement(FlexRow, { "$justifyContent": 'space-between' },
|
|
4407
4404
|
React.createElement(SearchWrapper, null,
|
|
4408
4405
|
React.createElement(Input, { placeholder: searchBy === EntityTypes.Source ? DISPLAY_TITLES.SEARCH_SOURCES : DISPLAY_TITLES.SEARCH_NAMESPACES, icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
|
|
4409
4406
|
React.createElement(Segment, { options: [
|
|
4410
4407
|
{ label: DISPLAY_TITLES.SOURCE, value: EntityTypes.Source, selectedBgColor: theme.text.secondary, selectedTextColor: theme.text.primary },
|
|
4411
4408
|
{ label: DISPLAY_TITLES.NAMESPACE, value: EntityTypes.Namespace, selectedBgColor: theme.text.secondary, selectedTextColor: theme.text.primary },
|
|
4412
|
-
], selected: searchBy, setSelected: setSearchBy }),
|
|
4413
|
-
|
|
4409
|
+
], selected: searchBy, setSelected: setSearchBy })),
|
|
4410
|
+
React.createElement(FlexRow, { "$gap": 36 },
|
|
4411
|
+
React.createElement(Toggle, { title: DISPLAY_TITLES.ONLY_SELECTED, initialValue: showSelectedOnly, onChange: setShowSelectedOnly }),
|
|
4412
|
+
React.createElement(Toggle, { title: DISPLAY_TITLES.ONLY_RUNNING_INSTANCES, initialValue: showRunningOnly, onChange: setShowRunningOnly }))),
|
|
4414
4413
|
React.createElement(Divider, null),
|
|
4415
4414
|
React.createElement(SourceList, { isModal: isModal, ...formState }))));
|
|
4416
4415
|
});
|
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 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, 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-
|
|
3
|
-
export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-
|
|
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-355d023b.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-f2c2de35.js';
|
|
3
|
+
export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-e9b26c29.js';
|
|
4
4
|
export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
5
5
|
import { ProgrammingLanguages, EntityTypes } from './types.js';
|
|
6
6
|
export { i as isEmpty, s as safeJsonParse } from './index-ec555530.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'styled-components';
|
|
9
|
-
import './index-
|
|
10
|
-
import './index-
|
|
9
|
+
import './index-630dec93.js';
|
|
10
|
+
import './index-27fc9053.js';
|
|
11
11
|
|
|
12
12
|
const cleanObjectEmptyStringsValues = (obj) => {
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -2,6 +2,7 @@ import type { AnyObj } from '@/types';
|
|
|
2
2
|
export declare const useGenericForm: <Form extends AnyObj>(initialFormData: Form) => {
|
|
3
3
|
formData: Form;
|
|
4
4
|
formErrors: Partial<Record<keyof Form, string>>;
|
|
5
|
+
isFormDirty: boolean;
|
|
5
6
|
handleFormChange: (key?: keyof Form | string, val?: any, obj?: Form) => void;
|
|
6
7
|
handleErrorChange: (key?: keyof Form | string, val?: string, obj?: Partial<Record<keyof Form, string>>) => void;
|
|
7
8
|
resetFormData: () => void;
|
|
@@ -22,6 +22,8 @@ export interface UseSourceSelectionFormData {
|
|
|
22
22
|
setSearchBy: Dispatch<SetStateAction<EntityTypes>>;
|
|
23
23
|
showSelectedOnly: boolean;
|
|
24
24
|
setShowSelectedOnly: Dispatch<SetStateAction<boolean>>;
|
|
25
|
+
showRunningOnly: boolean;
|
|
26
|
+
setShowRunningOnly: Dispatch<SetStateAction<boolean>>;
|
|
25
27
|
}
|
|
26
28
|
export declare const useSourceSelectionFormData: (params?: UseSourceFormDataParams) => UseSourceSelectionFormData;
|
|
27
29
|
export {};
|
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-e9b26c29.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-ec555530.js';
|
|
6
|
-
import { i as useGenericForm } from './useTransition-
|
|
7
|
-
export { c as useClickNode, b as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, a as useOnClickOutside, d as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-
|
|
6
|
+
import { i as useGenericForm } from './useTransition-242df96b.js';
|
|
7
|
+
export { c as useClickNode, b as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, a as useOnClickOutside, d as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-242df96b.js';
|
|
8
8
|
import { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
9
9
|
|
|
10
10
|
const INITIAL$2 = {
|
|
@@ -253,14 +253,8 @@ const buildFormDynamicFields = (fields) => {
|
|
|
253
253
|
case FieldTypes.Dropdown: {
|
|
254
254
|
const componentPropertiesJson = safeJsonParse(componentProperties, {});
|
|
255
255
|
const options = Array.isArray(componentPropertiesJson.values)
|
|
256
|
-
? componentPropertiesJson.values.map((value) => ({
|
|
257
|
-
|
|
258
|
-
value,
|
|
259
|
-
}))
|
|
260
|
-
: Object.entries(componentPropertiesJson.values).map(([key, value]) => ({
|
|
261
|
-
id: key,
|
|
262
|
-
value,
|
|
263
|
-
}));
|
|
256
|
+
? componentPropertiesJson.values.map((value) => ({ id: value, value }))
|
|
257
|
+
: Object.entries(componentPropertiesJson.values).map(([key, value]) => ({ id: key, value }));
|
|
264
258
|
return {
|
|
265
259
|
name,
|
|
266
260
|
componentType: componentType,
|
|
@@ -523,6 +517,7 @@ const useSourceSelectionFormData = (params) => {
|
|
|
523
517
|
const [searchText, setSearchText] = useState('');
|
|
524
518
|
const [searchBy, setSearchBy] = useState(EntityTypes.Source);
|
|
525
519
|
const [showSelectedOnly, setShowSelectedOnly] = useState(false);
|
|
520
|
+
const [showRunningOnly, setShowRunningOnly] = useState(false);
|
|
526
521
|
const onSelectNamespace = (nsName, selectAll) => {
|
|
527
522
|
const ns = namespaces.find((namespace) => namespace.name === nsName);
|
|
528
523
|
if (ns) {
|
|
@@ -557,15 +552,16 @@ const useSourceSelectionFormData = (params) => {
|
|
|
557
552
|
const filteredNamespacesAndSources = useMemo(() => {
|
|
558
553
|
const isSearchOk = (targetText, entityType) => !searchText || searchBy !== entityType || (searchBy === entityType && targetText.toLowerCase().includes(searchText));
|
|
559
554
|
const isOnlySelectedOk = (source) => !showSelectedOnly || source.selected;
|
|
555
|
+
const isRunningOnlyOk = (source) => !showRunningOnly || (source.numberOfInstances || 0) > 0;
|
|
560
556
|
const payload = {};
|
|
561
|
-
const filteredNamespacesMatrix = Object.entries(selectedSources).filter(([ns]) =>
|
|
562
|
-
return isSearchOk(ns, EntityTypes.Namespace);
|
|
563
|
-
});
|
|
557
|
+
const filteredNamespacesMatrix = Object.entries(selectedSources).filter(([ns]) => isSearchOk(ns, EntityTypes.Namespace));
|
|
564
558
|
filteredNamespacesMatrix.forEach(([ns, srcs]) => {
|
|
565
|
-
|
|
559
|
+
const filteredSources = srcs.filter((src) => isSearchOk(src.name, EntityTypes.Source) && isOnlySelectedOk(src) && isRunningOnlyOk(src));
|
|
560
|
+
if (filteredSources.length)
|
|
561
|
+
payload[ns] = filteredSources;
|
|
566
562
|
});
|
|
567
563
|
return payload;
|
|
568
|
-
}, [selectedSources, searchText, searchBy, showSelectedOnly]);
|
|
564
|
+
}, [selectedSources, searchText, searchBy, showSelectedOnly, showRunningOnly]);
|
|
569
565
|
// This is to filter the user-specific-selections, therebey minimizing the amount of data sent to the API on "persist sources".
|
|
570
566
|
const getApiSourcesPayload = () => {
|
|
571
567
|
const payload = {};
|
|
@@ -609,6 +605,8 @@ const useSourceSelectionFormData = (params) => {
|
|
|
609
605
|
setSearchBy,
|
|
610
606
|
showSelectedOnly,
|
|
611
607
|
setShowSelectedOnly,
|
|
608
|
+
showRunningOnly,
|
|
609
|
+
setShowRunningOnly,
|
|
612
610
|
};
|
|
613
611
|
};
|
|
614
612
|
|
package/lib/icons.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { T as Theme } from './index-
|
|
2
|
-
export { f as AddClusterInfoIcon, n as CPlusPlusLogo, o as CSharpLogo, C as CodeAttributesIcon, l as CustomInstrumentationIcon, h as DeleteAttributeIcon, p as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, j as ImageErrorIcon, J as JavaLogo, K as K8sLogo, k 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, i as SamplerIcon, y as SwiftLogo } from './index-
|
|
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 { 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-
|
|
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-
|
|
1
|
+
import { T as Theme } from './index-e9b26c29.js';
|
|
2
|
+
export { f as AddClusterInfoIcon, n as CPlusPlusLogo, o as CSharpLogo, C as CodeAttributesIcon, l as CustomInstrumentationIcon, h as DeleteAttributeIcon, p as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, j as ImageErrorIcon, J as JavaLogo, K as K8sLogo, k 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, i as SamplerIcon, y as SwiftLogo } from './index-e9b26c29.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-630dec93.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-3de83c73.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-0001f711.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-
|
|
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-27fc9053.js';
|
|
8
8
|
import './types.js';
|
|
9
9
|
import 'styled-components';
|
|
10
10
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StatusType, OtherStatus, SignalType } from './types.js';
|
|
2
2
|
import 'react';
|
|
3
|
-
import './index-
|
|
3
|
+
import './index-e9b26c29.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-630dec93.js';
|
|
6
6
|
|
|
7
7
|
const capitalizeFirstLetter = (string) => {
|
|
8
8
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { a2 as WarningModal } from './index-
|
|
2
|
+
import { a2 as WarningModal } from './index-e6385bb5.js';
|
|
3
3
|
import { StatusType, EntityTypes } from './types.js';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-e9b26c29.js';
|
|
5
5
|
import 'styled-components';
|
|
6
6
|
|
|
7
7
|
const CancelWarning = ({ isOpen, noOverlay, name, onApprove, onDeny }) => {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef, forwardRef, useMemo, createElement, useCallback, Fragment, createContext, memo, useContext, useLayoutEffect } from 'react';
|
|
2
|
-
import { T as Theme, B as BUTTON_TEXTS, j 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-
|
|
2
|
+
import { T as Theme, B as BUTTON_TEXTS, j 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-e9b26c29.js';
|
|
3
3
|
import { StatusType, OtherStatus, EntityTypes, NodeTypes, AddNodeTypes, EdgeTypes, ProgrammingLanguages, IntrumentationStatus, SortDirection, InputTypes, FieldTypes } from './types.js';
|
|
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, A as ArrowIcon } from './index-
|
|
5
|
-
import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } 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, A as ArrowIcon } from './index-0001f711.js';
|
|
5
|
+
import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-355d023b.js';
|
|
6
6
|
import styled, { css } from 'styled-components';
|
|
7
7
|
import { s as safeJsonParse, i as isEmpty } from './index-ec555530.js';
|
|
8
8
|
import ReactDOM, { createPortal } from 'react-dom';
|
|
9
|
-
import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-
|
|
10
|
-
import { I as InfoIcon } from './index-
|
|
9
|
+
import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-242df96b.js';
|
|
10
|
+
import { I as InfoIcon } from './index-630dec93.js';
|
|
11
11
|
|
|
12
12
|
const TextWrapper$2 = styled.div `
|
|
13
13
|
color: ${({ $color, theme }) => $color || theme.text.secondary};
|
|
@@ -394,6 +394,7 @@ Popup.displayName = Popup.name;
|
|
|
394
394
|
const FlexRow = styled.div `
|
|
395
395
|
display: flex;
|
|
396
396
|
flex-direction: row;
|
|
397
|
+
flex-wrap: ${({ $wrap = 'unset' }) => $wrap};
|
|
397
398
|
align-items: ${({ $alignItems = 'center' }) => $alignItems};
|
|
398
399
|
justify-content: ${({ $justifyContent = 'unset' }) => $justifyContent};
|
|
399
400
|
gap: ${({ $gap = 2 }) => $gap}px;
|
|
@@ -401,6 +402,9 @@ const FlexRow = styled.div `
|
|
|
401
402
|
const FlexColumn = styled.div `
|
|
402
403
|
display: flex;
|
|
403
404
|
flex-direction: column;
|
|
405
|
+
flex-wrap: ${({ $wrap = 'unset' }) => $wrap};
|
|
406
|
+
align-items: ${({ $alignItems = 'unset' }) => $alignItems};
|
|
407
|
+
justify-content: ${({ $justifyContent = 'unset' }) => $justifyContent};
|
|
404
408
|
gap: ${({ $gap = 2 }) => $gap}px;
|
|
405
409
|
`;
|
|
406
410
|
const CenterThis = styled(FlexColumn) `
|
|
@@ -16963,7 +16967,7 @@ const OverrideRuntime = ({ defaultLanguage = ProgrammingLanguages.Unknown, defau
|
|
|
16963
16967
|
React.createElement(Input, { title: DISPLAY_TITLES.RUNTIME_VERSION, placeholder: DISPLAY_TITLES.VERSION_PLACEHOLDER, value: formData.version, onChange: (e) => handleFormChange('version', e.target.value), required: false }))));
|
|
16964
16968
|
};
|
|
16965
16969
|
|
|
16966
|
-
const AlignCenter = styled(FlexRow) `
|
|
16970
|
+
const AlignCenter$1 = styled(FlexRow) `
|
|
16967
16971
|
width: 100%;
|
|
16968
16972
|
justify-content: center;
|
|
16969
16973
|
`;
|
|
@@ -16973,7 +16977,7 @@ const SourceContainer = ({ containerName, language, runtimeVersion, overriden, i
|
|
|
16973
16977
|
const instruStatusTitle = instrumented ? IntrumentationStatus.INSTRUMENTED : !instrumentationMessage ? IntrumentationStatus.INSTRUMENTING : IntrumentationStatus.NOT_INSTRUMENTED;
|
|
16974
16978
|
return (React.createElement(DataTab, { title: containerName, subTitle: `${language ? DISPLAY_LANGUAGES[language] : 'no runtime info'}` + (runtimeVersion ? ` • Runtime Version: ${runtimeVersion}` : ''), iconProps: { icon: getProgrammingLanguageIcon(language) }, extendableProps: {
|
|
16975
16979
|
isExtended: !!instrumentationMessage,
|
|
16976
|
-
renderExtended: () => (React.createElement(AlignCenter, null,
|
|
16980
|
+
renderExtended: () => (React.createElement(AlignCenter$1, null,
|
|
16977
16981
|
React.createElement(Text, { size: 12, family: 'secondary', color: theme.text.info }, splitCamelString(instrumentationMessage)))),
|
|
16978
16982
|
}, renderActions: () => (React.createElement(React.Fragment, null,
|
|
16979
16983
|
React.createElement(Status, { status: instruStatusType, title: instruStatusTitle, subtitle: otelDistroName || undefined, withIcon: true, withBorder: true }),
|
|
@@ -17408,6 +17412,9 @@ const Container$i = styled.div `
|
|
|
17408
17412
|
const AlignLeft$1 = styled(FlexRow) `
|
|
17409
17413
|
margin-right: auto;
|
|
17410
17414
|
`;
|
|
17415
|
+
const AlignCenter = styled(FlexRow) `
|
|
17416
|
+
margin: 0 auto;
|
|
17417
|
+
`;
|
|
17411
17418
|
const AlignRight$1 = styled(FlexRow) `
|
|
17412
17419
|
margin-left: auto;
|
|
17413
17420
|
`;
|
|
@@ -17415,7 +17422,7 @@ const FooterButton$1 = styled(Button$4) `
|
|
|
17415
17422
|
min-width: 140px;
|
|
17416
17423
|
font-size: 14px;
|
|
17417
17424
|
`;
|
|
17418
|
-
const DrawerFooter = ({ isOpen, leftButtons = [], rightButtons = [] }) => {
|
|
17425
|
+
const DrawerFooter = ({ isOpen, leftButtons = [], centerButtons = [], rightButtons = [] }) => {
|
|
17419
17426
|
const Transition = useTransition({
|
|
17420
17427
|
container: Container$i,
|
|
17421
17428
|
animateIn: Theme.animations.slide.in['bottom'],
|
|
@@ -17423,6 +17430,7 @@ const DrawerFooter = ({ isOpen, leftButtons = [], rightButtons = [] }) => {
|
|
|
17423
17430
|
});
|
|
17424
17431
|
return (React.createElement(Transition, { enter: isOpen },
|
|
17425
17432
|
React.createElement(AlignLeft$1, null, leftButtons.map((btn, i) => (React.createElement(FooterButton$1, { key: `footer-left-button-${i}`, ...btn })))),
|
|
17433
|
+
React.createElement(AlignCenter, null, centerButtons.map((btn, i) => (React.createElement(FooterButton$1, { key: `footer-center-button-${i}`, ...btn })))),
|
|
17426
17434
|
React.createElement(AlignRight$1, null, rightButtons.map((btn, i) => (React.createElement(FooterButton$1, { key: `footer-right-button-${i}`, ...btn }))))));
|
|
17427
17435
|
};
|
|
17428
17436
|
|
|
@@ -18672,15 +18680,20 @@ const Stepper = ({ data, currentStep = 0 }) => {
|
|
|
18672
18680
|
step.subtitle && (React.createElement(Subtitle, { size: 10, weight: 300 }, step.subtitle))))))));
|
|
18673
18681
|
};
|
|
18674
18682
|
|
|
18675
|
-
const Container$4 = styled(
|
|
18683
|
+
const Container$4 = styled(FlexRow) `
|
|
18676
18684
|
width: fit-content;
|
|
18685
|
+
gap: 6px;
|
|
18677
18686
|
padding: 6px 12px;
|
|
18678
18687
|
border-radius: 360px;
|
|
18679
18688
|
background-color: ${({ $type, theme }) => theme.colors[$type]};
|
|
18689
|
+
`;
|
|
18690
|
+
const Typography = styled(Text) `
|
|
18680
18691
|
color: ${({ $type, theme }) => theme.text[$type]};
|
|
18681
18692
|
`;
|
|
18682
|
-
const Tag = ({ type,
|
|
18683
|
-
return (React.createElement(Container$4, { "$type": type
|
|
18693
|
+
const Tag = ({ type = StatusType.Info, icon: Icon, title, size, family, children, ...props }) => {
|
|
18694
|
+
return (React.createElement(Container$4, { "$type": type },
|
|
18695
|
+
Icon && React.createElement(Icon, null),
|
|
18696
|
+
React.createElement(Typography, { "$type": type, size: size || 12, family: family || 'secondary', ...props }, children || title)));
|
|
18684
18697
|
};
|
|
18685
18698
|
|
|
18686
18699
|
const Container$3 = styled.div `
|
|
@@ -726,6 +726,7 @@ const INSTRUMENTATION_RULE_OPTIONS = [
|
|
|
726
726
|
description: 'Collect code attributes containing payload data to traces.',
|
|
727
727
|
docsEndpoint: '/pipeline/rules/codeattributes',
|
|
728
728
|
docsDescription: 'The "Code Attributes" Rule can be used to add code attributes containing payload data to traces.',
|
|
729
|
+
supportedLanguages: [ProgrammingLanguages.Go, ProgrammingLanguages.Python],
|
|
729
730
|
},
|
|
730
731
|
{
|
|
731
732
|
type: InstrumentationRuleType.CustomInstrumentation,
|
|
@@ -734,6 +735,7 @@ const INSTRUMENTATION_RULE_OPTIONS = [
|
|
|
734
735
|
description: 'Define custom instrumentation for specific class and method combinations.',
|
|
735
736
|
docsEndpoint: '/pipeline/rules/custominstrumentation',
|
|
736
737
|
docsDescription: 'The "Custom Instrumentation" Rule can be used to instrument specific class and method combinations for detailed tracing.',
|
|
738
|
+
supportedLanguages: [ProgrammingLanguages.Java],
|
|
737
739
|
},
|
|
738
740
|
{
|
|
739
741
|
type: InstrumentationRuleType.HeadersCollection,
|
|
@@ -742,6 +744,7 @@ const INSTRUMENTATION_RULE_OPTIONS = [
|
|
|
742
744
|
description: 'Collect span attributes containing HTTP Headers data to traces.',
|
|
743
745
|
docsEndpoint: '/pipeline/rules/headerscollection',
|
|
744
746
|
docsDescription: 'The "Headers Collection" Rule can be used to add span attributes containing HTTP Headers data to traces.',
|
|
747
|
+
supportedLanguages: [ProgrammingLanguages.Go, ProgrammingLanguages.Java],
|
|
745
748
|
},
|
|
746
749
|
{
|
|
747
750
|
type: InstrumentationRuleType.PayloadCollection,
|
|
@@ -750,6 +753,7 @@ const INSTRUMENTATION_RULE_OPTIONS = [
|
|
|
750
753
|
description: 'Collect span attributes containing payload data to traces.',
|
|
751
754
|
docsEndpoint: '/pipeline/rules/payloadcollection',
|
|
752
755
|
docsDescription: 'The "Payload Collection" Rule can be used to add span attributes containing payload data to traces.',
|
|
756
|
+
supportedLanguages: [ProgrammingLanguages.Go],
|
|
753
757
|
},
|
|
754
758
|
];
|
|
755
759
|
|
|
@@ -998,7 +1002,8 @@ const DISPLAY_TITLES = {
|
|
|
998
1002
|
FILTERED_COUNT_TOOLTIP: 'Represents filtered amount, out of total amount',
|
|
999
1003
|
SEARCH_NAMESPACES: 'Search Namespaces',
|
|
1000
1004
|
SEARCH_SOURCES: 'Search Sources',
|
|
1001
|
-
|
|
1005
|
+
ONLY_SELECTED: 'Only selected',
|
|
1006
|
+
ONLY_RUNNING_INSTANCES: 'Only running instances',
|
|
1002
1007
|
TO_COLLECT_OTEL_DATA: 'To collect OpenTelemetry data',
|
|
1003
1008
|
TO_MONITOR_OTEL_DATA: 'To monitor OpenTelemetry data',
|
|
1004
1009
|
TO_MODIFY_OTEL_DATA: 'To modify OpenTelemetry data',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { StatusType, DestinationTypes, EntityTypes, PlatformType } from './types.js';
|
|
2
|
-
import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon, k as KafkaLogo, K as K8sLogo } from './index-
|
|
2
|
+
import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon, k as KafkaLogo, K as K8sLogo } from './index-e9b26c29.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'styled-components';
|
|
5
|
-
import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, f as AxiomLogo, g as BlobStorageLogo, B as BetterStackLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, c as AwsCloudwatchLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, F as OpenTelemetryLogo, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, 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, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, G as GigapipeLogo, T as QuickwitLogo, d as AwsS3Logo, U as SeqLogo, W as SignozLogo, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, e as AwsXrayLogo, a5 as NamespacesIcon, a7 as SourcesIcon, a4 as DestinationsIcon, a3 as ActionsIcon, a6 as RulesIcon, V as VmLogo } from './index-
|
|
6
|
-
import { O as OdigosLogo } from './index-
|
|
5
|
+
import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, f as AxiomLogo, g as BlobStorageLogo, B as BetterStackLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, c as AwsCloudwatchLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, F as OpenTelemetryLogo, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, 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, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, G as GigapipeLogo, T as QuickwitLogo, d as AwsS3Logo, U as SeqLogo, W as SignozLogo, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, e as AwsXrayLogo, a5 as NamespacesIcon, a7 as SourcesIcon, a4 as DestinationsIcon, a3 as ActionsIcon, a6 as RulesIcon, V as VmLogo } from './index-27fc9053.js';
|
|
6
|
+
import { O as OdigosLogo } from './index-630dec93.js';
|
|
7
7
|
import { s as safeJsonParse } from './index-ec555530.js';
|
|
8
8
|
|
|
9
9
|
const compareCondition = (renderCondition, fields) => {
|
|
@@ -2,7 +2,6 @@ import { K8sResourceKind, ProgrammingLanguages, type Source } from '@/types';
|
|
|
2
2
|
export declare const MOCK_SOURCES_OTHER: Source[];
|
|
3
3
|
export declare const MOCK_SOURCES_SIMPLE_DEMO: Source[];
|
|
4
4
|
export declare const MOCK_SOURCES_GOOGLE: Source[];
|
|
5
|
-
export declare const MOCK_SOURCES: Source[];
|
|
6
5
|
export declare const MOCK_SOURCE_JAEGER: {
|
|
7
6
|
namespace: string;
|
|
8
7
|
name: string;
|
|
@@ -21,3 +20,4 @@ export declare const MOCK_SOURCE_JAEGER: {
|
|
|
21
20
|
}[];
|
|
22
21
|
conditions: never[];
|
|
23
22
|
};
|
|
23
|
+
export declare const MOCK_SOURCES: Source[];
|
package/lib/snippets.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { B as Button, Z as Text, L as NotificationNote } from './index-
|
|
2
|
-
export { ah as AddButton, am as AddNode, an as BaseNode, aj as CopyText, ao as EdgedNode, af as Flow, ap as FrameNode, aq as HeaderNode, av as LabeledEdge, ar as MapItemNode, as as NoDataNode, ak as PodContainer, at as ScrollNode, au as SkeletonNode, al as SourceContainer, ac as nodeConfig } from './index-
|
|
1
|
+
import { B as Button, Z as Text, L as NotificationNote } from './index-e6385bb5.js';
|
|
2
|
+
export { ah as AddButton, am as AddNode, an as BaseNode, aj as CopyText, ao as EdgedNode, af as Flow, ap as FrameNode, aq as HeaderNode, av as LabeledEdge, ar as MapItemNode, as as NoDataNode, ak as PodContainer, at as ScrollNode, au as SkeletonNode, al as SourceContainer, ac as nodeConfig } from './index-e6385bb5.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-e9b26c29.js';
|
|
5
|
+
import { E as EditIcon } from './index-0001f711.js';
|
|
6
6
|
import { StatusType } from './types.js';
|
|
7
7
|
import 'styled-components';
|
|
8
|
-
import { I as InfoIcon } from './index-
|
|
9
|
-
import './index-
|
|
8
|
+
import { I as InfoIcon } from './index-630dec93.js';
|
|
9
|
+
import './index-355d023b.js';
|
|
10
10
|
import './index-ec555530.js';
|
|
11
11
|
import 'react-dom';
|
|
12
|
-
import './useTransition-
|
|
12
|
+
import './useTransition-242df96b.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-e9b26c29.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import './types.js';
|
|
4
4
|
import 'styled-components';
|
package/lib/theme.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { SVG } from '../common';
|
|
2
1
|
import type { WorkloadId } from '../sources';
|
|
2
|
+
import type { ProgrammingLanguages, SVG } from '../common';
|
|
3
3
|
export declare enum InstrumentationRuleType {
|
|
4
4
|
CodeAttributes = "CodeAttributes",
|
|
5
5
|
HeadersCollection = "HeadersCollection",
|
|
@@ -86,9 +86,10 @@ export interface InstrumentationRuleOption {
|
|
|
86
86
|
type: InstrumentationRuleType;
|
|
87
87
|
icon: SVG;
|
|
88
88
|
label: string;
|
|
89
|
-
description
|
|
90
|
-
docsEndpoint
|
|
91
|
-
docsDescription
|
|
89
|
+
description: string;
|
|
90
|
+
docsEndpoint: string;
|
|
91
|
+
docsDescription: string;
|
|
92
|
+
supportedLanguages: ProgrammingLanguages[];
|
|
92
93
|
}
|
|
93
94
|
export type InstrumentationRuleFormData = Omit<InstrumentationRule, 'ruleId' | 'type' | 'mutable' | 'profileName'>;
|
|
94
95
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
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-e9b26c29.js';
|
|
2
2
|
import { AddNodeTypes, EntityTypes, PayloadCollectionKeyTypes, CodeAttributesKeyTypes, CustomInstrumentationsKeyTypes } from './types.js';
|
|
3
|
-
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
|
+
import React, { useState, useMemo, useRef, useEffect, useCallback } from 'react';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
|
|
6
6
|
const useGenericForm = (initialFormData) => {
|
|
@@ -16,25 +16,17 @@ const useGenericForm = (initialFormData) => {
|
|
|
16
16
|
const handleFormChange = (key, val, obj) => {
|
|
17
17
|
if (key) {
|
|
18
18
|
// this is for cases where the form contains objects such as "exportedSignals",
|
|
19
|
-
// the object's child is targeted with a ".
|
|
19
|
+
// the object's child is targeted with a "." for example: "exportedSignals.logs"
|
|
20
20
|
const [parentKey, childKey] = key.toString().split('.');
|
|
21
|
-
setFormData((prev) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
[parentKey]
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return {
|
|
33
|
-
...prev,
|
|
34
|
-
[parentKey]: val,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
});
|
|
21
|
+
setFormData((prev) => ({
|
|
22
|
+
...prev,
|
|
23
|
+
[parentKey]: childKey
|
|
24
|
+
? {
|
|
25
|
+
...prev[parentKey],
|
|
26
|
+
[childKey]: val,
|
|
27
|
+
}
|
|
28
|
+
: val,
|
|
29
|
+
}));
|
|
38
30
|
}
|
|
39
31
|
else if (obj) {
|
|
40
32
|
setFormData({ ...obj });
|
|
@@ -52,9 +44,13 @@ const useGenericForm = (initialFormData) => {
|
|
|
52
44
|
setFormData(copyInitial());
|
|
53
45
|
setFormErrors({});
|
|
54
46
|
};
|
|
47
|
+
const isFormDirty = useMemo(() => {
|
|
48
|
+
return JSON.stringify(formData) !== JSON.stringify(initialFormData);
|
|
49
|
+
}, [formData, initialFormData]);
|
|
55
50
|
return {
|
|
56
51
|
formData,
|
|
57
52
|
formErrors,
|
|
53
|
+
isFormDirty,
|
|
58
54
|
handleFormChange,
|
|
59
55
|
handleErrorChange,
|
|
60
56
|
resetFormData,
|