@odigos/ui-kit 0.0.40 → 0.0.41

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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.41](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.40...ui-kit-v0.0.41) (2025-06-15)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * add parseBooleanFromString function and integrate into Source Describe ([#176](https://github.com/odigos-io/ui-kit/issues/176)) ([7652a17](https://github.com/odigos-io/ui-kit/commit/7652a17ce8e9947511323bf58f8b5969eb69b9dc))
9
+
3
10
  ## [0.0.40](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.39...ui-kit-v0.0.40) (2025-06-15)
4
11
 
5
12
 
package/lib/components.js CHANGED
@@ -1,11 +1,11 @@
1
- import { B as Button } from './index-BuoxtJOI.js';
2
- export { a as AutocompleteInput, b as Badge, a1 as CenterThis, C as Checkbox, c as Code, d as ConditionDetails, D as DataCard, f as DataCardFieldTypes, e as DataCardFields, g as DataTab, h as Divider, i as DocsButton, j as Drawer, l as DrawerFooter, k as DrawerHeader, m as Dropdown, E as ExtendArrow, F as FadeLoader, n as FieldError, o as FieldLabel, a0 as FlexColumn, $ as FlexRow, H as Header, I as IconButton, p as IconGroup, q as IconTitleBadge, r as IconWrapped, s as IconsNav, t as ImageControlled, u as Input, v as InputList, w as InputTable, x as InteractiveTable, K as KeyValueInputsList, M as Modal, a4 as ModalBody, y as MonitorsCheckboxes, z as MonitorsIcons, N as NavigationButtons, G as NoDataFound, J as NotificationNote, a3 as Overlay, S as ScrollX, L as SectionTitle, O as Segment, P as SelectionButton, Q as SkeletonLoader, R as Status, U as Stepper, a5 as TableContainer, a6 as TableTitleWrap, a7 as TableWrap, V as Text, W as TextArea, X as Toggle, T as ToggleCodeComponent, Y as Tooltip, Z as TraceLoader, a2 as VerticalScroll, _ as WarningModal } from './index-BuoxtJOI.js';
3
- export { C as CancelWarning, D as DeleteWarning } from './index-BOzJKKRm.js';
1
+ import { B as Button } from './index-C-84NaCL.js';
2
+ export { a as AutocompleteInput, b as Badge, a1 as CenterThis, C as Checkbox, c as Code, d as ConditionDetails, D as DataCard, f as DataCardFieldTypes, e as DataCardFields, g as DataTab, h as Divider, i as DocsButton, j as Drawer, l as DrawerFooter, k as DrawerHeader, m as Dropdown, E as ExtendArrow, F as FadeLoader, n as FieldError, o as FieldLabel, a0 as FlexColumn, $ as FlexRow, H as Header, I as IconButton, p as IconGroup, q as IconTitleBadge, r as IconWrapped, s as IconsNav, t as ImageControlled, u as Input, v as InputList, w as InputTable, x as InteractiveTable, K as KeyValueInputsList, M as Modal, a4 as ModalBody, y as MonitorsCheckboxes, z as MonitorsIcons, N as NavigationButtons, G as NoDataFound, J as NotificationNote, a3 as Overlay, S as ScrollX, L as SectionTitle, O as Segment, P as SelectionButton, Q as SkeletonLoader, R as Status, U as Stepper, a5 as TableContainer, a6 as TableTitleWrap, a7 as TableWrap, V as Text, W as TextArea, X as Toggle, T as ToggleCodeComponent, Y as Tooltip, Z as TraceLoader, a2 as VerticalScroll, _ as WarningModal } from './index-C-84NaCL.js';
3
+ export { C as CancelWarning, D as DeleteWarning } from './index-DLH1IvyS.js';
4
4
  import React, { Component, createElement, createContext } from 'react';
5
5
  import { T as Theme } from './index-BdZq2vdJ.js';
6
6
  import './types.js';
7
7
  import './index-Cau7bWmr.js';
8
- import './index-DnKXoQhy.js';
8
+ import './index-B1h5g0Hl.js';
9
9
  import 'styled-components';
10
10
  import './index-BeVb1H9n.js';
11
11
  import './index-BV85P9UP.js';
package/lib/containers.js CHANGED
@@ -2,7 +2,7 @@ import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, us
2
2
  import styled, { css } from 'styled-components';
3
3
  import { k as DISPLAY_TITLES, T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, B as BUTTON_TEXTS, c as useEntityStore, A as ACTION_OPTIONS, l as getActionIcon, f as useModalStore, F as FORM_ALERTS, d as useFilterStore, M as MONITORS_OPTIONS, t as styleInject, i as useSelectedStore, e as useInstrumentStore, n as getInstrumentationRuleIcon, a as useDataStreamStore, m as getEntityId, S as STORAGE_KEYS, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-BdZq2vdJ.js';
4
4
  import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, SignalType, HeadersCollectionKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
5
- import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-BuoxtJOI.js';
5
+ import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-C-84NaCL.js';
6
6
  import { i as isEmpty, s as safeJsonParse } from './index-BV85P9UP.js';
7
7
  import { i as CheckCircledIcon, O as OdigosLogo } from './index-BeVb1H9n.js';
8
8
  import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-zXCdgpRU.js';
@@ -10,12 +10,12 @@ import { u as useActionFormData, a as useClickNode, e as useSessionStorage, c as
10
10
  import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-BumZECD3.js';
11
11
  import { E as EditIcon } from './index-CDHYBh8C.js';
12
12
  import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, f as CheckIcon, A as ArrowIcon, a as CopyIcon, g as CrossIcon } from './index-Cau7bWmr.js';
13
- import { D as DeleteWarning, C as CancelWarning } from './index-BOzJKKRm.js';
14
- import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-DnKXoQhy.js';
15
- import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, w as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, t as getYamlFieldsForDestination, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, u as isOverTime } from './index-Quqq11nF.js';
13
+ import { D as DeleteWarning, C as CancelWarning } from './index-DLH1IvyS.js';
14
+ import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-B1h5g0Hl.js';
15
+ import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, w as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, t as getYamlFieldsForDestination, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, u as isOverTime } from './index-BrriZrlp.js';
16
16
  import { createPortal } from 'react-dom';
17
17
  import { m as mapExportedSignals } from './index-BlZKWuxe.js';
18
- import { N as NoteBackToSummary, E as EditButton } from './index-CDljW3_P.js';
18
+ import { N as NoteBackToSummary, E as EditButton } from './index-Cph4pNkb.js';
19
19
  import { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
20
20
  import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-CBgnxpkW.js';
21
21
 
@@ -37,6 +37,7 @@ export * from './map-conditions';
37
37
  export * from './map-destination-fields-for-display';
38
38
  export * from './map-exported-signals';
39
39
  export * from './numbers-only';
40
+ export * from './parse-boolean-from-string';
40
41
  export * from './parse-json-string-to-pretty-string';
41
42
  export * from './remove-empty-values-from-object';
42
43
  export * from './safe-json-parse';
@@ -0,0 +1 @@
1
+ export declare const parseBooleanFromString: (value: boolean | string | number) => boolean;
package/lib/functions.js CHANGED
@@ -1,5 +1,5 @@
1
- export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, n as numbersOnly, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-DnKXoQhy.js';
2
- export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as getYamlFieldsForDestination, u as isOverTime, v as mapDestinationFieldsForDisplay, w as sleep } from './index-Quqq11nF.js';
1
+ export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, d as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, e as splitCamelString } from './index-B1h5g0Hl.js';
2
+ export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as getYamlFieldsForDestination, u as isOverTime, v as mapDestinationFieldsForDisplay, w as sleep } from './index-BrriZrlp.js';
3
3
  export { l as getActionIcon, m as getEntityId, n as getInstrumentationRuleIcon } from './index-BdZq2vdJ.js';
4
4
  export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-BlZKWuxe.js';
5
5
  import { EntityTypes } from './types.js';
@@ -142,6 +142,19 @@ const numbersOnly = (value) => {
142
142
  return cleaned;
143
143
  };
144
144
 
145
+ const parseBooleanFromString = (value) => {
146
+ const normalizedValue = String(value).trim().toLowerCase();
147
+ if (normalizedValue === 'true' || normalizedValue === '1') {
148
+ return true;
149
+ }
150
+ else if (normalizedValue === 'false' || normalizedValue === '0') {
151
+ return false;
152
+ }
153
+ else {
154
+ throw new Error(`Cannot parse boolean from string: "${value}"`);
155
+ }
156
+ };
157
+
145
158
  const parseJsonStringToPrettyString = (value) => {
146
159
  let str = '';
147
160
  try {
@@ -204,4 +217,4 @@ const safeJsonStringify = (obj, indent = 2) => {
204
217
  return JSON.stringify(obj || {}, null, indent);
205
218
  };
206
219
 
207
- export { getProgrammingLanguageIcon as a, getStatusIcon as b, capitalizeFirstLetter as c, splitCamelString as d, flattenObjectKeys as f, getMonitorIcon as g, mapConditions as m, numbersOnly as n, parseJsonStringToPrettyString as p, removeEmptyValuesFromObject as r, safeJsonStringify as s };
220
+ export { getProgrammingLanguageIcon as a, getStatusIcon as b, capitalizeFirstLetter as c, parseJsonStringToPrettyString as d, splitCamelString as e, flattenObjectKeys as f, getMonitorIcon as g, mapConditions as m, numbersOnly as n, parseBooleanFromString as p, removeEmptyValuesFromObject as r, safeJsonStringify as s };
@@ -1,6 +1,6 @@
1
1
  import { StatusType, OtherStatus, DestinationTypes, EntityTypes, PlatformType } from './types.js';
2
2
  import { D as DEFAULT_DATA_STREAM_NAME, K as K8sLogo } from './index-BdZq2vdJ.js';
3
- import { a as getProgrammingLanguageIcon } from './index-DnKXoQhy.js';
3
+ import { a as getProgrammingLanguageIcon } from './index-B1h5g0Hl.js';
4
4
  import 'react';
5
5
  import 'styled-components';
6
6
  import { e as AwsXrayLogo, a2 as VictoriaMetricsLogo, a1 as UptraceLogo, a0 as TraceloopLogo, $ as TingyunLogo, _ as TempoLogo, Z as TelemetryHubLogo, Y as SumoLogicLogo, X as SplunkLogo, W as SignozLogo, U as SeqLogo, d as AwsS3Logo, T as QuickwitLogo, G as GigapipeLogo, S as QrynLogo, R as PrometheusLogo, F as OpenTelemetryLogo, Q as OracleLogo, P as OpsVerseLogo, z as OpenObserveLogo, y as OneUptimeLogo, O as ObserveLogo, N as NewRelicLogo, M as MiddlewareLogo, x as LumigoLogo, w as LokiLogo, v as LogzioLogo, u as LightstepLogo, L as Last9Logo, K as KloudmateLogo, J as JaegerLogo, I as InstanaLogo, t as HyperDxLogo, H as HoneycombLogo, s as GroundcoverLogo, r as GreptimeLogo, q as GrafanaLogo, p as GoogleCloudPlatformLogo, o as ElasticSearchLogo, E as ElasticApmLogo, n as DynatraceLogo, m as DatadogLogo, D as Dash0Logo, l as CoralogixLogo, c as AwsCloudwatchLogo, k as ClickhouseLogo, j as ChronosphereLogo, i as ChecklyLogo, C as CauselyLogo, h as BonreeLogo, B as BetterStackLogo, g as BlobStorageLogo, f as AxiomLogo, b as AppDynamicsLogo, a as AlibabaCloudLogo, A as AlaudaLogo, a6 as RulesIcon, a3 as ActionsIcon, a4 as DestinationsIcon, a7 as SourcesIcon, a5 as NamespacesIcon, V as VmLogo } from './index-CBgnxpkW.js';
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef, forwardRef, createElement, useCallb
2
2
  import { T as Theme, o as ImageErrorIcon, M as MONITORS_OPTIONS, B as BUTTON_TEXTS } from './index-BdZq2vdJ.js';
3
3
  import { StatusType, OtherStatus, SortDirection, ProgrammingLanguages, IntrumentationStatus, InputTypes, FieldTypes } from './types.js';
4
4
  import { M as MinusIcon, f as CheckIcon, L as ListIcon, C as CodeIcon, E as ExtendArrowIcon, c as SortArrowsIcon, a as CopyIcon, b as NotebookIcon, X as XIcon, d as EyeClosedIcon, e as EyeOpenIcon, N as NoDataIcon, g as CrossIcon, S as SearchIcon, P as PlusIcon, T as TrashIcon, A as ArrowIcon } from './index-Cau7bWmr.js';
5
- import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, c as capitalizeFirstLetter, g as getMonitorIcon, p as parseJsonStringToPrettyString, a as getProgrammingLanguageIcon, d as splitCamelString, n as numbersOnly } from './index-DnKXoQhy.js';
5
+ import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, c as capitalizeFirstLetter, g as getMonitorIcon, d as parseJsonStringToPrettyString, a as getProgrammingLanguageIcon, e as splitCamelString, p as parseBooleanFromString, n as numbersOnly } from './index-B1h5g0Hl.js';
6
6
  import styled, { css } from 'styled-components';
7
7
  import { s as safeJsonParse, i as isEmpty } from './index-BV85P9UP.js';
8
8
  import { u as useContainerSize, a as useCopy, g as useTransition, d as useKeyDown, e as useOnClickOutside } from './useTransition-BumZECD3.js';
@@ -4650,10 +4650,12 @@ const RenderValue = ({ type, value }) => {
4650
4650
  processes: [{ health: StatusType.Info, message: '', identifyingAttributes: [] }],
4651
4651
  });
4652
4652
  const componentsUnderTitles = [];
4653
- if (started?.title)
4654
- componentsUnderTitles.push(React.createElement(Status, { status: StatusType.Success, title: started.title, withIcon: true, withBorder: true, size: 8 }));
4655
- if (ready?.title)
4656
- componentsUnderTitles.push(React.createElement(Status, { status: StatusType.Error, title: ready.title, withIcon: true, withBorder: true, size: 8 }));
4653
+ if (started?.title) {
4654
+ componentsUnderTitles.push(React.createElement(Status, { status: parseBooleanFromString(started.subTitle) ? StatusType.Success : StatusType.Error, title: started.title, withIcon: true, withBorder: true, size: 8 }));
4655
+ }
4656
+ if (ready?.title) {
4657
+ componentsUnderTitles.push(React.createElement(Status, { status: parseBooleanFromString(ready.subTitle) ? StatusType.Success : StatusType.Error, title: ready.title, withIcon: true, withBorder: true, size: 8 }));
4658
+ }
4657
4659
  return (React.createElement(DataTab, { title: containerName, subTitle: processes.length ? `${processes.length} Instrumented Processes` : undefined, visualProps: {
4658
4660
  componentsUnderTitles: componentsUnderTitles.length ? componentsUnderTitles : undefined,
4659
4661
  }, renderActions: () => {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { T as Theme, B as BUTTON_TEXTS, k as DISPLAY_TITLES } from './index-BdZq2vdJ.js';
3
3
  import { E as EditIcon } from './index-CDHYBh8C.js';
4
- import { B as Button, V as Text, J as NotificationNote } from './index-BuoxtJOI.js';
4
+ import { B as Button, V as Text, J as NotificationNote } from './index-C-84NaCL.js';
5
5
  import { StatusType } from './types.js';
6
6
  import 'styled-components';
7
7
  import { I as InfoIcon } from './index-BeVb1H9n.js';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { _ as WarningModal } from './index-BuoxtJOI.js';
2
+ import { _ as WarningModal } from './index-C-84NaCL.js';
3
3
  import { StatusType, EntityTypes } from './types.js';
4
4
  import './index-BdZq2vdJ.js';
5
5
  import 'styled-components';
package/lib/snippets.js CHANGED
@@ -1,11 +1,11 @@
1
- export { A as AddButton } from './index-BuoxtJOI.js';
2
- export { E as EditButton, N as NoteBackToSummary } from './index-CDljW3_P.js';
1
+ export { A as AddButton } from './index-C-84NaCL.js';
2
+ export { E as EditButton, N as NoteBackToSummary } from './index-Cph4pNkb.js';
3
3
  import 'react';
4
4
  import './index-BdZq2vdJ.js';
5
5
  import './types.js';
6
6
  import 'styled-components';
7
7
  import './index-Cau7bWmr.js';
8
- import './index-DnKXoQhy.js';
8
+ import './index-B1h5g0Hl.js';
9
9
  import './index-BeVb1H9n.js';
10
10
  import './index-BV85P9UP.js';
11
11
  import './useTransition-BumZECD3.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.40",
3
+ "version": "0.0.41",
4
4
  "author": "Odigos",
5
5
  "repository": {
6
6
  "type": "git",