@odigos/ui-kit 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/lib/components/data-tab/index.d.ts +0 -1
  3. package/lib/components/drawer/drawer-header/index.d.ts +2 -2
  4. package/lib/components.js +10 -10
  5. package/lib/constants.js +4 -4
  6. package/lib/containers/overview-drawer/index.d.ts +2 -2
  7. package/lib/containers/source-modal/index.d.ts +0 -2
  8. package/lib/containers/source-selection-form/index.d.ts +0 -1
  9. package/lib/containers.js +90 -204
  10. package/lib/functions.js +6 -6
  11. package/lib/hooks.js +6 -6
  12. package/lib/icons.js +13 -6
  13. package/lib/{index-D_Qn2U89.js → index-BJxaoI0G.js} +1 -8
  14. package/lib/{index-D6cZdmUs.js → index-Bb7VdYPG.js} +44 -58
  15. package/lib/{index-IvGLauAo.js → index-Bdimyacn.js} +4 -0
  16. package/lib/{index-CLOUNx6Z.js → index-BlJU2fGe.js} +5 -5
  17. package/lib/{index-DM8CZWtL.js → index-BsH_egEe.js} +10 -1
  18. package/lib/{index-DiEc-llU.js → index-CT0qszYw.js} +9 -4
  19. package/lib/{index-CKtl8KxE.js → index-CVs2NNg9.js} +9 -9
  20. package/lib/{index-BGlk5VhF.js → index-DGel4E-Z.js} +4 -6
  21. package/lib/{index-DH2zLaey.js → index-KOMAv-TS.js} +1 -8
  22. package/lib/{index-lL1o2K_5.js → index-jPxFCX-5.js} +2 -2
  23. package/lib/store.js +1 -1
  24. package/lib/theme.js +1 -1
  25. package/lib/{useSourceSelectionFormData-R_uK7F7W.js → useSourceSelectionFormData-LmLZzJyk.js} +3 -3
  26. package/lib/{useTransition-hWYVBuSi.js → useTransition-WRhgkuG2.js} +2 -2
  27. package/package.json +1 -1
  28. package/lib/components/auto-complete-input/auto-complete-input.stories.d.ts +0 -9
  29. package/lib/components/badge/badge.stories.d.ts +0 -13
  30. package/lib/components/button/button.stories.d.ts +0 -9
  31. package/lib/components/cancel-warning/cancel-warning.stories.d.ts +0 -9
  32. package/lib/components/checkbox/checkbox.stories.d.ts +0 -9
  33. package/lib/components/code/code.stories.d.ts +0 -9
  34. package/lib/components/condition-details/condition-details.stories.d.ts +0 -14
  35. package/lib/components/data-card/data-card.stories.d.ts +0 -10
  36. package/lib/components/data-tab/data-tab.stories.d.ts +0 -15
  37. package/lib/components/delete-warning/delete-warning.stories.d.ts +0 -9
  38. package/lib/components/describe-row/describe-row.stories.d.ts +0 -9
  39. package/lib/components/divider/divider.stories.d.ts +0 -9
  40. package/lib/components/docs-button/docs-button.stories.d.ts +0 -9
  41. package/lib/components/drawer/drawer.stories.d.ts +0 -10
  42. package/lib/components/dropdown/dropdown.stories.d.ts +0 -10
  43. package/lib/components/error-boundary/error-boundary.stories.d.ts +0 -9
  44. package/lib/components/extend-arrow/extend-arrow.stories.d.ts +0 -9
  45. package/lib/components/fade-loader/fade-loader.stories.d.ts +0 -9
  46. package/lib/components/field-error/field-error.stories.d.ts +0 -9
  47. package/lib/components/field-label/field-label.stories.d.ts +0 -9
  48. package/lib/components/header/header.stories.d.ts +0 -9
  49. package/lib/components/icon-button/icon-button.stories.d.ts +0 -9
  50. package/lib/components/icon-group/icon-group.stories.d.ts +0 -14
  51. package/lib/components/icon-title-badge/icon-title-badge.stories.d.ts +0 -9
  52. package/lib/components/icon-wrapped/icon-wrapped.stories.d.ts +0 -10
  53. package/lib/components/icons-nav/icons-nav.stories.d.ts +0 -9
  54. package/lib/components/image-controlled/image-controlled.stories.d.ts +0 -9
  55. package/lib/components/input/input.stories.d.ts +0 -9
  56. package/lib/components/input-list/input-list.stories.d.ts +0 -9
  57. package/lib/components/input-table/input-table.stories.d.ts +0 -9
  58. package/lib/components/interactive-table/interactive-table.stories.d.ts +0 -12
  59. package/lib/components/key-value-input-list/key-value-input-list.stories.d.ts +0 -9
  60. package/lib/components/modal/modal.stories.d.ts +0 -9
  61. package/lib/components/monitors-checkboxes/monitors-checkboxes.stories.d.ts +0 -9
  62. package/lib/components/monitors-icons/monitors-icons.stories.d.ts +0 -9
  63. package/lib/components/navigation-buttons/navigation-buttons.stories.d.ts +0 -9
  64. package/lib/components/no-data-found/no-data-found.stories.d.ts +0 -9
  65. package/lib/components/notification-note/notification-note.stories.d.ts +0 -10
  66. package/lib/components/section-title/section-title.stories.d.ts +0 -9
  67. package/lib/components/segment/segment.stories.d.ts +0 -9
  68. package/lib/components/skeleton-loader/skeleton-loader.stories.d.ts +0 -9
  69. package/lib/components/status/status.stories.d.ts +0 -9
  70. package/lib/components/stepper/stepper.stories.d.ts +0 -9
  71. package/lib/components/text/text.stories.d.ts +0 -9
  72. package/lib/components/textarea/textarea.stories.d.ts +0 -9
  73. package/lib/components/toggle/toggle.stories.d.ts +0 -9
  74. package/lib/components/tooltip/tooltip.stories.d.ts +0 -9
  75. package/lib/components/trace-loader/trace-loader.stories.d.ts +0 -9
  76. package/lib/components/warning-modal/warning-modal.stories.d.ts +0 -9
  77. package/lib/containers/action-drawer/action-drawer.stories.d.ts +0 -9
  78. package/lib/containers/action-form/action-form.stories.d.ts +0 -9
  79. package/lib/containers/action-modal/action-modal.stories.d.ts +0 -9
  80. package/lib/containers/action-table/action-table.stories.d.ts +0 -9
  81. package/lib/containers/await-pipeline/await-pipeline.stories.d.ts +0 -9
  82. package/lib/containers/compute-platform-select/compute-platform-select.stories.d.ts +0 -9
  83. package/lib/containers/compute-platforms/compute-platforms.stories.d.ts +0 -9
  84. package/lib/containers/compute-platforms-actions-menu/compute-platforms-actions-menu.stories.d.ts +0 -9
  85. package/lib/containers/data-flow/data-flow.stories.d.ts +0 -9
  86. package/lib/containers/data-flow-actions-menu/data-flow-actions-menu.stories.d.ts +0 -11
  87. package/lib/containers/destination-drawer/destination-drawer.stories.d.ts +0 -9
  88. package/lib/containers/destination-form/destination-form.stories.d.ts +0 -9
  89. package/lib/containers/destination-modal/destination-modal.stories.d.ts +0 -9
  90. package/lib/containers/destination-selection-form/destination-selection-form.stories.d.ts +0 -9
  91. package/lib/containers/destination-table/destination-table.stories.d.ts +0 -9
  92. package/lib/containers/dropdowns/connection-status-dropdown/connection-status-dropdown.stories.d.ts +0 -9
  93. package/lib/containers/dropdowns/connection-type-dropdown/connection-type-dropdown.stories.d.ts +0 -9
  94. package/lib/containers/dropdowns/error-dropdown/error-dropdown.stories.d.ts +0 -9
  95. package/lib/containers/dropdowns/kind-dropdown/error-dropdown.stories.d.ts +0 -9
  96. package/lib/containers/dropdowns/language-dropdown/language-dropdown.stories.d.ts +0 -9
  97. package/lib/containers/dropdowns/monitor-dropdown/monitor-dropdown.stories.d.ts +0 -9
  98. package/lib/containers/dropdowns/namespace-dropdown/namespace-dropdown.stories.d.ts +0 -9
  99. package/lib/containers/instrumentation-rule-drawer/instrumentation-rule-drawer.stories.d.ts +0 -9
  100. package/lib/containers/instrumentation-rule-form/instrumentation-rule-form.stories.d.ts +0 -9
  101. package/lib/containers/instrumentation-rule-modal/instrumentation-rule-modal.stories.d.ts +0 -9
  102. package/lib/containers/instrumentation-rule-table/instrumentation-rule-table.stories.d.ts +0 -9
  103. package/lib/containers/multi-source-control/multi-source-control.stories.d.ts +0 -9
  104. package/lib/containers/notification-manager/notification-manager.stories.d.ts +0 -9
  105. package/lib/containers/overview-drawer/overview-drawer.stories.d.ts +0 -9
  106. package/lib/containers/side-nav/side-nav.stories.d.ts +0 -9
  107. package/lib/containers/slack-invite/slack-invite.stories.d.ts +0 -9
  108. package/lib/containers/source-drawer/source-drawer.stories.d.ts +0 -9
  109. package/lib/containers/source-form/source-form.stories.d.ts +0 -9
  110. package/lib/containers/source-modal/source-modal.stories.d.ts +0 -9
  111. package/lib/containers/source-selection-form/fast/index.d.ts +0 -7
  112. package/lib/containers/source-selection-form/simple/controls/index.d.ts +0 -9
  113. package/lib/containers/source-selection-form/simple/index.d.ts +0 -7
  114. package/lib/containers/source-selection-form/simple/list/index.d.ts +0 -8
  115. package/lib/containers/source-selection-form/source-selection-form.stories.d.ts +0 -9
  116. package/lib/containers/source-table/source-table.stories.d.ts +0 -9
  117. package/lib/containers/system-overview/system-overview.stories.d.ts +0 -9
  118. package/lib/containers/table-cell-conditions/table-cell-conditions.stories.d.ts +0 -9
  119. package/lib/containers/toast-list/toast-list.stories.d.ts +0 -9
  120. package/lib/containers/toggle-dark-mode/toggle-dark-mode.stories.d.ts +0 -9
  121. package/lib/icons/actions/add-cluster-info-icon/add-cluster-info-icon.stories.d.ts +0 -8
  122. package/lib/icons/actions/delete-attribute-icon/delete-attribute-icon.stories.d.ts +0 -8
  123. package/lib/icons/actions/pii-masking-icon/pii-masking-icon.stories.d.ts +0 -8
  124. package/lib/icons/actions/rename-attribute-icon/rename-attribute-icon.stories.d.ts +0 -8
  125. package/lib/icons/actions/sampler-icon/sampler-icon.stories.d.ts +0 -8
  126. package/lib/icons/brand/odigos-logo/odigos-logo.stories.d.ts +0 -8
  127. package/lib/icons/brand/odigos-logo-text/odigos-logo-text.stories.d.ts +0 -8
  128. package/lib/icons/common/arrow-icon/arrow-icon.stories.d.ts +0 -8
  129. package/lib/icons/common/code-brackets-icon/code-brackets-icon.stories.d.ts +0 -8
  130. package/lib/icons/common/code-icon/code-icon.stories.d.ts +0 -8
  131. package/lib/icons/common/command-icon/command-icon.stories.d.ts +0 -8
  132. package/lib/icons/common/copy-icon/copy-icon.stories.d.ts +0 -8
  133. package/lib/icons/common/edit-icon/edit-icon.stories.d.ts +0 -8
  134. package/lib/icons/common/extend-arrow-icon/extend-arrow-icon.stories.d.ts +0 -8
  135. package/lib/icons/common/filter-icon/filter-icon.stories.d.ts +0 -8
  136. package/lib/icons/common/folder-icon/folder-icon.stories.d.ts +0 -8
  137. package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +0 -8
  138. package/lib/icons/common/key-icon/key-icon.stories.d.ts +0 -8
  139. package/lib/icons/common/list-icon/list-icon.stories.d.ts +0 -8
  140. package/lib/icons/common/no-data-icon/no-data-icon.stories.d.ts +0 -8
  141. package/lib/icons/common/notebook-icon/notebook-icon.stories.d.ts +0 -8
  142. package/lib/icons/common/notification-icon/notification-icon.stories.d.ts +0 -8
  143. package/lib/icons/common/search-icon/search-icon.stories.d.ts +0 -8
  144. package/lib/icons/common/sort-arrows-icon/sort-arrows-icon.stories.d.ts +0 -8
  145. package/lib/icons/common/terminal-icon/terminal-icon.stories.d.ts +0 -8
  146. package/lib/icons/common/trash-icon/trash-icon.stories.d.ts +0 -8
  147. package/lib/icons/common/x-icon/x-icon.stories.d.ts +0 -8
  148. package/lib/icons/compute-platform/k8s-logo/k8s-logo.stories.d.ts +0 -8
  149. package/lib/icons/compute-platform/vm-logo/vm-logo.stories.d.ts +0 -8
  150. package/lib/icons/destinations/app-dynamics-logo/app-dynamics-logo.stories.d.ts +0 -8
  151. package/lib/icons/destinations/aws-cloudwatch-logo/aws-cloudwatch-logo.stories.d.ts +0 -8
  152. package/lib/icons/destinations/aws-s3-logo/aws-s3-logo.stories.d.ts +0 -8
  153. package/lib/icons/destinations/aws-xray-logo/aws-xray-logo.stories.d.ts +0 -8
  154. package/lib/icons/destinations/axiom-logo/axiom-logo.stories.d.ts +0 -8
  155. package/lib/icons/destinations/better-stack-logo/better-stack-logo.stories.d.ts +0 -8
  156. package/lib/icons/destinations/blob-storage-logo/blob-storage-logo.stories.d.ts +0 -8
  157. package/lib/icons/destinations/causely-logo/causely-logo.stories.d.ts +0 -8
  158. package/lib/icons/destinations/chronosphere-logo/chronosphere-logo.stories.d.ts +0 -8
  159. package/lib/icons/destinations/clickhouse-logo/clickhouse-logo.stories.d.ts +0 -8
  160. package/lib/icons/destinations/coralogix-logo/coralogix-logo.stories.d.ts +0 -8
  161. package/lib/icons/destinations/dash0-logo/dash0-logo.stories.d.ts +0 -8
  162. package/lib/icons/destinations/datadog-logo/datadog-logo.stories.d.ts +0 -8
  163. package/lib/icons/destinations/dynatrace-logo/dynatrace-logo.stories.d.ts +0 -8
  164. package/lib/icons/destinations/elastic-apm-logo/elastic-apm-logo.stories.d.ts +0 -8
  165. package/lib/icons/destinations/elastic-search-logo/elastic-search-logo.stories.d.ts +0 -8
  166. package/lib/icons/destinations/gigapipe-logo/gigapipe-logo.stories.d.ts +0 -8
  167. package/lib/icons/destinations/google-cloud-platform-logo/google-cloud-platform-logo.stories.d.ts +0 -8
  168. package/lib/icons/destinations/google-cloud-storage-logo/google-cloud-storage-logo.stories.d.ts +0 -8
  169. package/lib/icons/destinations/grafana-logo/grafana-logo.stories.d.ts +0 -8
  170. package/lib/icons/destinations/groundcover-logo/groundcover-logo.stories.d.ts +0 -8
  171. package/lib/icons/destinations/honeycomb-logo/honeycomb-logo.stories.d.ts +0 -8
  172. package/lib/icons/destinations/hyperdx-logo/hyperdx-logo.stories.d.ts +0 -8
  173. package/lib/icons/destinations/instana-logo/instana-logo.stories.d.ts +0 -8
  174. package/lib/icons/destinations/jaeger-logo/jaeger-logo.stories.d.ts +0 -8
  175. package/lib/icons/destinations/kafka-logo/kafka-logo.stories.d.ts +0 -8
  176. package/lib/icons/destinations/kloudmate-logo/kloudmate-logo.stories.d.ts +0 -8
  177. package/lib/icons/destinations/last9-logo/last9-logo.stories.d.ts +0 -8
  178. package/lib/icons/destinations/lightstep-logo/lightstep-logo.stories.d.ts +0 -8
  179. package/lib/icons/destinations/logzio-logo/logzio-logo.stories.d.ts +0 -8
  180. package/lib/icons/destinations/loki-logo/loki-logo.stories.d.ts +0 -8
  181. package/lib/icons/destinations/lumigo-logo/lumigo-logo.stories.d.ts +0 -8
  182. package/lib/icons/destinations/middleware-logo/middleware-logo.stories.d.ts +0 -8
  183. package/lib/icons/destinations/new-relic-logo/new-relic-logo.stories.d.ts +0 -8
  184. package/lib/icons/destinations/open-telemetry-logo/open-telemetry-logo.stories.d.ts +0 -8
  185. package/lib/icons/destinations/ops-verse-logo/ops-verse-logo.stories.d.ts +0 -8
  186. package/lib/icons/destinations/prometheus-logo/prometheus-logo.stories.d.ts +0 -8
  187. package/lib/icons/destinations/qryn-logo/qryn-logo.stories.d.ts +0 -8
  188. package/lib/icons/destinations/quickwit-logo/quickwit-logo.stories.d.ts +0 -8
  189. package/lib/icons/destinations/sentry-logo/sentry-logo.stories.d.ts +0 -8
  190. package/lib/icons/destinations/signoz-logo/signoz-logo.stories.d.ts +0 -8
  191. package/lib/icons/destinations/splunk-logo/splunk-logo.stories.d.ts +0 -8
  192. package/lib/icons/destinations/sumo-logic-logo/sumo-logic-logo.stories.d.ts +0 -8
  193. package/lib/icons/destinations/tempo-logo/tempo-logo.stories.d.ts +0 -8
  194. package/lib/icons/destinations/traceloop-logo/traceloop-logo.stories.d.ts +0 -8
  195. package/lib/icons/destinations/uptrace-logo/uptrace-logo.stories.d.ts +0 -8
  196. package/lib/icons/instrumentation-rules/code-attributes-icon/code-attributes-icon.stories.d.ts +0 -8
  197. package/lib/icons/instrumentation-rules/payload-collection-icon/payload-collection-icon.stories.d.ts +0 -8
  198. package/lib/icons/math/minus-icon/minus-icon.stories.d.ts +0 -8
  199. package/lib/icons/math/plus-icon/plus-icon.stories.d.ts +0 -8
  200. package/lib/icons/monitors/logs-icon/logs-icon.stories.d.ts +0 -8
  201. package/lib/icons/monitors/metrics-icon/metrics-icon.stories.d.ts +0 -8
  202. package/lib/icons/monitors/traces-icon/traces-icon.stories.d.ts +0 -8
  203. package/lib/icons/on-off/eye-closed-icon/eye-closed-icon.stories.d.ts +0 -8
  204. package/lib/icons/on-off/eye-open-icon/eye-open-icon.stories.d.ts +0 -8
  205. package/lib/icons/on-off/light-off-icon/light-off-icon.stories.d.ts +0 -8
  206. package/lib/icons/on-off/light-on-icon/light-on-icon.stories.d.ts +0 -8
  207. package/lib/icons/on-off/moon-icon/moon-icon.stories.d.ts +0 -8
  208. package/lib/icons/on-off/sun-icon/sun-icon.stories.d.ts +0 -8
  209. package/lib/icons/overview/actions-icon/actions-icon.stories.d.ts +0 -8
  210. package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +0 -8
  211. package/lib/icons/overview/destinations-icon/destinations-icon.stories.d.ts +0 -8
  212. package/lib/icons/overview/namespaces-icon/namespaces-icon.stories.d.ts +0 -8
  213. package/lib/icons/overview/overview-icon/overview-icon.stories.d.ts +0 -8
  214. package/lib/icons/overview/rules-icon/rules-icon.stories.d.ts +0 -8
  215. package/lib/icons/overview/service-map-icon/service-map-icon.stories.d.ts +0 -8
  216. package/lib/icons/overview/sources-icon/sources-icon.stories.d.ts +0 -8
  217. package/lib/icons/overview/trace-view-icon/trace-view-icon.stories.d.ts +0 -8
  218. package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +0 -8
  219. package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +0 -8
  220. package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +0 -8
  221. package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +0 -8
  222. package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +0 -8
  223. package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +0 -8
  224. package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +0 -8
  225. package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +0 -8
  226. package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +0 -8
  227. package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +0 -8
  228. package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +0 -8
  229. package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +0 -8
  230. package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +0 -8
  231. package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +0 -8
  232. package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +0 -8
  233. package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +0 -8
  234. package/lib/icons/social/slack-logo/slack-logo.stories.d.ts +0 -8
  235. package/lib/icons/status/check-circled-icon/check-circled-icon.stories.d.ts +0 -8
  236. package/lib/icons/status/check-icon/check-icon.stories.d.ts +0 -8
  237. package/lib/icons/status/cross-circled-icon/cross-circled-icon.stories.d.ts +0 -8
  238. package/lib/icons/status/cross-icon/cross-icon.stories.d.ts +0 -8
  239. package/lib/icons/status/error-round-icon/error-round-icon.stories.d.ts +0 -8
  240. package/lib/icons/status/error-triangle-icon/error-triangle-icon.stories.d.ts +0 -8
  241. package/lib/icons/status/info-icon/info-icon.stories.d.ts +0 -8
  242. package/lib/icons/status/warning-triangle-icon/warning-triangle-icon.stories.d.ts +0 -8
  243. /package/lib/containers/source-selection-form/{fast/controls → controls}/index.d.ts +0 -0
  244. /package/lib/containers/source-selection-form/{fast/list → list}/index.d.ts +0 -0
package/lib/containers.js CHANGED
@@ -1,24 +1,24 @@
1
1
  import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, memo, useContext, createContext, useCallback, useLayoutEffect, Fragment } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
- import { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-lL1o2K_5.js';
3
+ import { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-jPxFCX-5.js';
4
4
  import { D as DISPLAY_TITLES, F as FORM_ALERTS } from './index-C_0J5P9M.js';
5
5
  import { ActionType, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, FieldTypes, SignalType, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
6
- import { f as DataCardFieldTypes, p as FieldLabel, b as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, V as TextArea, k as Drawer, h as DeleteWarning, C as CancelWarning, d as ConditionDetails, D as DataCard, M as Modal, N as NavigationButtons, a2 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, _ as FlexRow, X as Tooltip, s as IconWrapped, G as MonitorsIcons, a3 as TableContainer, a4 as TableTitleWrap, r as IconTitleBadge, a5 as TableWrap, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, $ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a6 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, t as IconsNav, q as IconGroup } from './index-D6cZdmUs.js';
7
- import { g as usePendingStore, f as useNotificationStore, a as useDrawerStore, b as useEntityStore, e as useModalStore, c as useFilterStore, s as styleInject, h as useSelectedStore, d as useInstrumentStore, j as getEntityId, i as useSetupStore, u as useDarkMode } from './index-IvGLauAo.js';
6
+ import { f as DataCardFieldTypes, p as FieldLabel, b as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, V as TextArea, k as Drawer, h as DeleteWarning, C as CancelWarning, d as ConditionDetails, D as DataCard, M as Modal, N as NavigationButtons, a2 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, _ as FlexRow, X as Tooltip, s as IconWrapped, G as MonitorsIcons, a3 as TableContainer, a4 as TableTitleWrap, r as IconTitleBadge, a5 as TableWrap, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, $ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a6 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, t as IconsNav, q as IconGroup } from './index-Bb7VdYPG.js';
7
+ import { g as usePendingStore, f as useNotificationStore, a as useDrawerStore, b as useEntityStore, e as useModalStore, c as useFilterStore, s as styleInject, h as useSelectedStore, d as useInstrumentStore, j as getEntityId, i as useSetupStore, u as useDarkMode } from './index-Bdimyacn.js';
8
8
  import Theme from './theme.js';
9
9
  import { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
10
- import { i as CheckCircledIcon, h as ErrorTriangleIcon, W as WarningTriangleIcon } from './index-DM8CZWtL.js';
11
- import { C as CrossCircledIcon, E as EditIcon, O as OdigosLogoText, b as OverviewIcon, F as FilterIcon, N as NotificationIcon, S as SlackLogo, a as FolderIcon, K as KeyIcon, T as TerminalIcon } from './index-DH2zLaey.js';
12
- import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-CLOUNx6Z.js';
13
- import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-R_uK7F7W.js';
14
- import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-hWYVBuSi.js';
15
- import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, A as ArrowIcon, a as CopyIcon, f as CheckIcon, g as CrossIcon } from './index-D_Qn2U89.js';
16
- import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-CKtl8KxE.js';
17
- import { f as filterActions, g as getConditionsBooleans, k as getEntityLabel, j as getEntityIcon, s as sleep$1, m as getPlatformIcon, n as getPlatformLabel, d as formatBytes, h as getContainersIcons, o as getValueForRange, i as getDestinationIcon, b as filterSources, a as filterDestinations, c as compareCondition, l as getMetricForEntity, p as getWorkloadId, e as getContainersInstrumentedCount, q as isOverTime } from './index-DiEc-llU.js';
10
+ import { i as CheckCircledIcon, O as OdigosLogo } from './index-BsH_egEe.js';
11
+ import { C as CrossCircledIcon, E as EditIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-KOMAv-TS.js';
12
+ import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-BlJU2fGe.js';
13
+ import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-LmLZzJyk.js';
14
+ import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-WRhgkuG2.js';
15
+ import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, A as ArrowIcon, a as CopyIcon, f as CheckIcon, g as CrossIcon } from './index-BJxaoI0G.js';
16
+ import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-CVs2NNg9.js';
17
+ import { f as filterActions, g as getConditionsBooleans, k as getEntityLabel, j as getEntityIcon, s as sleep$1, m as getPlatformIcon, n as getPlatformLabel, d as formatBytes, h as getContainersIcons, o as getValueForRange, i as getDestinationIcon, b as filterSources, a as filterDestinations, c as compareCondition, l as getMetricForEntity, p as getWorkloadId, e as getContainersInstrumentedCount, q as isOverTime } from './index-CT0qszYw.js';
18
18
  import require$$1 from 'use-sync-external-store/shim';
19
19
  import { createPortal } from 'react-dom';
20
- import { O as OdigosLogo } from './index-BGlk5VhF.js';
21
20
  import { R as RulesIcon, W as SourcesIcon, y as ActionsIcon, z as DestinationsIcon } from './index-DB8Djrsy.js';
21
+ import './index-DGel4E-Z.js';
22
22
  import 'babel-runtime/helpers/extends';
23
23
  import 'babel-runtime/core-js/object/get-prototype-of';
24
24
  import 'babel-runtime/helpers/classCallCheck';
@@ -307,7 +307,7 @@ const CustomFields$1 = ({ actionType, value, setValue, formErrors }) => {
307
307
  return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
308
308
  };
309
309
 
310
- const Container$m = styled.div `
310
+ const Container$l = styled.div `
311
311
  display: flex;
312
312
  flex-direction: column;
313
313
  gap: 24px;
@@ -318,7 +318,7 @@ const FieldTitle$1 = styled(Text) `
318
318
  `;
319
319
  const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }) => {
320
320
  const theme = Theme.useTheme();
321
- return (React.createElement(Container$m, null,
321
+ return (React.createElement(Container$l, null,
322
322
  isUpdate && (React.createElement("div", null,
323
323
  React.createElement(FieldTitle$1, null, "Status"),
324
324
  React.createElement(Segment, { options: [
@@ -332,7 +332,7 @@ const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }
332
332
  React.createElement(TextArea, { title: 'Notes', value: formData['notes'], onChange: ({ target: { value } }) => handleFormChange('notes', value), errorMessage: formErrors['notes'] })));
333
333
  };
334
334
 
335
- const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip, icon, iconSrc, isEdit = false, isFormDirty = false, isLastItem = false, onEdit, onSave, onDelete, onCancel, tabs }, drawerRef) => {
335
+ const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip, icons, iconSrcs, isEdit = false, isFormDirty = false, isLastItem = false, onEdit, onSave, onDelete, onCancel, tabs }, drawerRef) => {
336
336
  const theme = Theme.useTheme();
337
337
  const { isThisPending } = usePendingStore();
338
338
  const { addNotification } = useNotificationStore();
@@ -420,8 +420,8 @@ const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip,
420
420
  });
421
421
  return (React.createElement(React.Fragment, null,
422
422
  React.createElement(Drawer, { isOpen: true, onClose: isEdit ? clickCancel : closeDrawer, closeOnEscape: !isDeleteModalOpen && !isCancelModalOpen, width: `${width + 64}px`, header: {
423
- icon,
424
- iconSrc,
423
+ icons,
424
+ iconSrcs,
425
425
  title,
426
426
  titleTooltip,
427
427
  replaceTitleWith: !isSource && isEdit ? React.createElement(EditTitle, { ref: titleRef, title: title }) : undefined,
@@ -528,7 +528,7 @@ const ActionDrawer = ({ updateAction, deleteAction }) => {
528
528
  setIsFormDirty(false);
529
529
  }
530
530
  };
531
- return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.spec.actionName || thisItem.type, icon: getActionIcon(thisItem.type), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel }, isEditing && thisOptionType ? (React.createElement(FormContainer$3, null,
531
+ return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.spec.actionName || thisItem.type, icons: [getActionIcon(thisItem.type)], isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel }, isEditing && thisOptionType ? (React.createElement(FormContainer$3, null,
532
532
  React.createElement(ActionForm, { isUpdate: true, action: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
533
533
  setIsFormDirty(true);
534
534
  handleFormChange(...params);
@@ -746,7 +746,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
746
746
  React.createElement(NoDataFound, null)))));
747
747
  };
748
748
 
749
- const Container$l = styled(FlexColumn) `
749
+ const Container$k = styled(FlexColumn) `
750
750
  // width: 100vw;
751
751
  // height: 100vh;
752
752
  gap: 64px;
@@ -780,7 +780,7 @@ const AwaitPipeline = () => {
780
780
  useEffect(() => {
781
781
  awaitPipeline();
782
782
  }, []);
783
- return (React.createElement(Container$l, null,
783
+ return (React.createElement(Container$k, null,
784
784
  React.createElement(OdigosLogoText, { size: 100 }),
785
785
  React.createElement(TraceLoader, { width: 400 }),
786
786
  React.createElement(TextWrap, null,
@@ -1060,7 +1060,7 @@ const KindDropdown = ({ title = 'Kind', value, onSelect, onDeselect, ...props })
1060
1060
  return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1061
1061
  };
1062
1062
 
1063
- const Container$k = styled.div `
1063
+ const Container$j = styled.div `
1064
1064
  display: flex;
1065
1065
  align-items: center;
1066
1066
  margin: 20px 0;
@@ -1080,7 +1080,7 @@ const ComputePlatformsActionsMenu = ({ connections }) => {
1080
1080
  useEffect(() => {
1081
1081
  return () => clearAll();
1082
1082
  }, [clearAll]);
1083
- return (React.createElement(Container$k, null,
1083
+ return (React.createElement(Container$j, null,
1084
1084
  React.createElement(FlexRow, { "$gap": 16 },
1085
1085
  React.createElement(FlexRow, { "$gap": 12 },
1086
1086
  React.createElement(Title$1, null, "Compute platforms"),
@@ -12332,7 +12332,7 @@ ControlsComponent.displayName = 'Controls';
12332
12332
  * @remarks To extend or customise the controls, you can use the [`<ControlButton />`](/api-reference/components/control-button) component
12333
12333
  *
12334
12334
  */
12335
- const Controls$2 = memo(ControlsComponent);
12335
+ const Controls$1 = memo(ControlsComponent);
12336
12336
 
12337
12337
  function MiniMapNodeComponent({ id, x, y, width, height, style, color, strokeColor, strokeWidth, className, borderRadius, shapeRendering, selected, onClick, }) {
12338
12338
  const { background, backgroundColor } = style || {};
@@ -12643,7 +12643,7 @@ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle
12643
12643
  */
12644
12644
  memo(ResizeControl);
12645
12645
 
12646
- const Container$j = styled(FlexColumn) `
12646
+ const Container$i = styled(FlexColumn) `
12647
12647
  align-items: center !important;
12648
12648
  justify-content: center;
12649
12649
  align-self: stretch;
@@ -12680,7 +12680,7 @@ const AddNode = memo(({ id: nodeId, data }) => {
12680
12680
  const { isThisPending } = usePendingStore();
12681
12681
  const entity = nodeId.split('-')[0];
12682
12682
  const isPending = isThisPending({ entityType: entity });
12683
- return (React.createElement(Container$j, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12683
+ return (React.createElement(Container$i, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12684
12684
  isPending ? (React.createElement(Fragment, null,
12685
12685
  React.createElement(TitleWrapper, null,
12686
12686
  React.createElement(FadeLoader, null),
@@ -12697,17 +12697,23 @@ const AddNode = memo(({ id: nodeId, data }) => {
12697
12697
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } })));
12698
12698
  });
12699
12699
 
12700
- const Container$i = styled.div `
12700
+ const Container$h = styled.div `
12701
12701
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12702
12702
  `;
12703
12703
  const BaseNode = memo(({ id: nodeId, data }) => {
12704
+ const theme = Theme.useTheme();
12704
12705
  const { nodeWidth, id: entityId, type: entityType, status, faded, title, subTitle, icon, icons, iconSrc, iconSrcs, monitors, isActive, raw } = data;
12705
12706
  const isSource = entityType === EntityTypes.Source;
12707
+ const hasActiveBoolean = typeof isActive === 'boolean';
12706
12708
  const { isThisPending } = usePendingStore();
12707
12709
  const isPending = isThisPending({ entityType, entityId });
12708
12710
  const renderActions = () => {
12711
+ const StatusIcon = hasActiveBoolean ? getStatusIcon(isActive ? StatusType.Success : StatusType.Info, theme) : status && getStatusIcon(status, theme);
12712
+ const statusTooltipText = hasActiveBoolean ? `${entityType} is ${isActive ? 'active' : 'inactive'}` : undefined;
12709
12713
  const sourceIsInstrumenting = isSource && (!raw.conditions?.length || raw.conditions?.some(({ status }) => status === 'loading'));
12710
- return (React.createElement(React.Fragment, null, isPending ? (React.createElement(FadeLoader, null)) : status === StatusType.Error ? (React.createElement(ErrorTriangleIcon, { size: 20 })) : status === StatusType.Warning ? (React.createElement(WarningTriangleIcon, { size: 20 })) : sourceIsInstrumenting ? (React.createElement(FadeLoader, null)) : null));
12714
+ // TODO: handle action/icon to apply instrumentation-rules for individual sources (@Notion GEN-1650)
12715
+ return isPending ? (React.createElement(FadeLoader, null)) : StatusIcon ? (React.createElement(Tooltip, { text: statusTooltipText },
12716
+ React.createElement(StatusIcon, { size: 20 }))) : sourceIsInstrumenting ? (React.createElement(FadeLoader, null)) : null;
12711
12717
  };
12712
12718
  const { selectedSources, setSelectedSources } = useSelectedStore();
12713
12719
  const namespaces = { ...selectedSources };
@@ -12724,7 +12730,7 @@ const BaseNode = memo(({ id: nodeId, data }) => {
12724
12730
  }
12725
12731
  setSelectedSources(namespaces);
12726
12732
  };
12727
- return (React.createElement(Container$i, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12733
+ return (React.createElement(Container$h, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12728
12734
  React.createElement(DataTab, { title: title, subTitle: subTitle, onClick: () => { }, renderActions: renderActions, iconProps: {
12729
12735
  icon: icon,
12730
12736
  icons: icons,
@@ -12732,9 +12738,8 @@ const BaseNode = memo(({ id: nodeId, data }) => {
12732
12738
  iconSrcs: iconSrcs,
12733
12739
  }, visualProps: {
12734
12740
  status: status,
12735
- faded: faded,
12741
+ faded: faded || (hasActiveBoolean && !isActive),
12736
12742
  monitors: monitors,
12737
- isActive: isActive,
12738
12743
  }, checkboxProps: {
12739
12744
  withCheckbox: isSource,
12740
12745
  isChecked: sourceIndex !== -1,
@@ -12745,19 +12750,19 @@ const BaseNode = memo(({ id: nodeId, data }) => {
12745
12750
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } })));
12746
12751
  });
12747
12752
 
12748
- const Container$h = styled.div `
12753
+ const Container$g = styled.div `
12749
12754
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12750
12755
  height: ${({ $nodeHeight }) => `${$nodeHeight}px`};
12751
12756
  opacity: 0;
12752
12757
  `;
12753
12758
  const EdgedNode = memo(({ data }) => {
12754
12759
  const { nodeWidth, nodeHeight } = data;
12755
- return (React.createElement(Container$h, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12760
+ return (React.createElement(Container$g, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12756
12761
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
12757
12762
  React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
12758
12763
  });
12759
12764
 
12760
- const Container$g = styled.div `
12765
+ const Container$f = styled.div `
12761
12766
  width: ${({ $nodeWidth }) => $nodeWidth}px;
12762
12767
  height: ${({ $nodeHeight }) => $nodeHeight}px;
12763
12768
  background: transparent;
@@ -12766,12 +12771,12 @@ const Container$g = styled.div `
12766
12771
  `;
12767
12772
  const FrameNode = memo(({ data }) => {
12768
12773
  const { nodeWidth, nodeHeight } = data;
12769
- return (React.createElement(Container$g, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12774
+ return (React.createElement(Container$f, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12770
12775
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
12771
12776
  React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
12772
12777
  });
12773
12778
 
12774
- const Container$f = styled.div `
12779
+ const Container$e = styled.div `
12775
12780
  position: relative;
12776
12781
  z-index: 1;
12777
12782
  width: ${({ $nodeWidth }) => $nodeWidth}px;
@@ -12832,7 +12837,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
12832
12837
  current?.addEventListener('scroll', handleScroll);
12833
12838
  return () => current?.removeEventListener('scroll', handleScroll);
12834
12839
  }, [onScroll]);
12835
- return (React.createElement(Container$f, { ref: containerRef, "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12840
+ return (React.createElement(Container$e, { ref: containerRef, "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12836
12841
  items.map((item) => (React.createElement(BaseNodeWrapper, { key: item.id, "$framePadding": item.data.framePadding, onClick: (e) => {
12837
12842
  e.stopPropagation();
12838
12843
  // @ts-ignore
@@ -12842,7 +12847,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
12842
12847
  React.createElement(LoadMoreWrapper, { "$hide": isBottomOfList })));
12843
12848
  });
12844
12849
 
12845
- const Container$e = styled.div `
12850
+ const Container$d = styled.div `
12846
12851
  position: relative;
12847
12852
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12848
12853
  padding: 12px 0px 16px 0px;
@@ -12911,7 +12916,7 @@ const HeaderNode = memo(({ id: nodeId, data }) => {
12911
12916
  setSelectedSources({});
12912
12917
  }
12913
12918
  };
12914
- return (React.createElement(Container$e, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12919
+ return (React.createElement(Container$d, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12915
12920
  entityType === EntityTypes.Source && (React.createElement(SelectorWrapper, null,
12916
12921
  React.createElement(Checkbox, { partiallyChecked: hasSelected && sources?.length !== totalSelectedSources, value: hasSelected && sources?.length === totalSelectedSources, onChange: onSelect, disabled: !sources?.length }))),
12917
12922
  React.createElement(IconTitleBadge, { icon: Icon, title: title, badge: isSourceAwaitingInstrumentation ? `${instrumentingPercent}%` : badge, badgeTooltip: badgeTooltip, loading: isFetching && !isSourceAwaitingInstrumentation }),
@@ -12973,12 +12978,12 @@ const LabeledEdge = memo(({ id, sourceX, sourceY, targetX, targetY, sourcePositi
12973
12978
  React.createElement(Tooltip, { text: 'Heads up! The data-flow metrics you see are calculated over 10-second intervals.' }, data?.label)))));
12974
12979
  });
12975
12980
 
12976
- const Container$d = styled.div `
12981
+ const Container$c = styled.div `
12977
12982
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12978
12983
  `;
12979
12984
  const SkeletonNode = memo(({ id: nodeId, data }) => {
12980
12985
  const { nodeWidth } = data;
12981
- return (React.createElement(Container$d, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12986
+ return (React.createElement(Container$c, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12982
12987
  React.createElement(SkeletonLoader, { size: 3 })));
12983
12988
  });
12984
12989
 
@@ -13020,7 +13025,7 @@ const Flow = ({ nodes, edges, onNodesChange, onEdgesChange }) => {
13020
13025
  return (React.createElement(FlowWrapper, null,
13021
13026
  React.createElement(index, { fitView: false, zoomOnScroll: false, nodes: nodes, nodeTypes: nodeTypes, edges: edges, edgeTypes: edgeTypes, onNodeClick: onClickNode, onNodesChange: (changes) => setTimeout(() => onNodesChange(changes), 0), onEdgesChange: (changes) => setTimeout(() => onEdgesChange(changes), 0) },
13022
13027
  React.createElement(ControllerWrapper, null,
13023
- React.createElement(Controls$2, { position: 'bottom-right', orientation: 'horizontal', showInteractive: false, showZoom: true, showFitView: true, fitViewOptions: {
13028
+ React.createElement(Controls$1, { position: 'bottom-right', orientation: 'horizontal', showInteractive: false, showZoom: true, showFitView: true, fitViewOptions: {
13024
13029
  duration: 300,
13025
13030
  padding: 0.02,
13026
13031
  includeHiddenNodes: true,
@@ -13483,7 +13488,7 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
13483
13488
  return nodes;
13484
13489
  };
13485
13490
 
13486
- const Container$c = styled.div `
13491
+ const Container$b = styled.div `
13487
13492
  width: 100%;
13488
13493
  height: ${({ $heightToRemove }) => `calc(100vh - ${$heightToRemove})`};
13489
13494
  position: relative;
@@ -13556,7 +13561,7 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13556
13561
  });
13557
13562
  handleNodesChanged(ruleNodes, EntityTypes.InstrumentationRule);
13558
13563
  }, [instrumentationRules, instrumentationRulesLoading, positions[EntityTypes.InstrumentationRule]]);
13559
- return (React.createElement(Container$c, { ref: containerRef, "$heightToRemove": heightToRemove },
13564
+ return (React.createElement(Container$b, { ref: containerRef, "$heightToRemove": heightToRemove },
13560
13565
  React.createElement(Flow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange })));
13561
13566
  };
13562
13567
 
@@ -13695,7 +13700,7 @@ const FormWrapper = styled.div `
13695
13700
  gap: 12px;
13696
13701
  padding: 12px;
13697
13702
  `;
13698
- const ToggleWrapper$1 = styled.div `
13703
+ const ToggleWrapper = styled.div `
13699
13704
  padding: 12px 6px 6px 6px;
13700
13705
  `;
13701
13706
  const Actions = styled.div `
@@ -13768,7 +13773,7 @@ const Filters$1 = () => {
13768
13773
  React.createElement(KindDropdown, { value: filters['kinds'], onSelect: (val) => setFilters((prev) => ({ ...prev, kinds: [...(prev.kinds || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, kinds: (prev.kinds || []).filter((opt) => opt.id !== val.id) })), showSearch: true, required: true, isMulti: true }),
13769
13774
  React.createElement(LanguageDropdown, { value: filters['languages'], onSelect: (val) => setFilters((prev) => ({ ...prev, languages: [...(prev.languages || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, languages: (prev.languages || []).filter((opt) => opt.id !== val.id) })), showSearch: true, required: true, isMulti: true }),
13770
13775
  React.createElement(MonitorDropdown, { value: filters['monitors'], onSelect: (val) => setFilters((prev) => ({ ...prev, monitors: [...(prev.monitors || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, monitors: (prev.monitors || []).filter((opt) => opt.id !== val.id) })), showSearch: true, required: true, isMulti: true }),
13771
- React.createElement(ToggleWrapper$1, null,
13776
+ React.createElement(ToggleWrapper, null,
13772
13777
  React.createElement(Toggle, { title: 'Show only sources with errors', initialValue: filters['onlyErrors'], onChange: (bool) => setFilters((prev) => ({ ...prev, errors: [], onlyErrors: bool })) })),
13773
13778
  React.createElement(ErrorDropdown, { value: filters['errors'], onSelect: (val) => setFilters((prev) => ({ ...prev, errors: [...(prev.errors || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, errors: (prev.errors || []).filter((opt) => opt.id !== val.id) })), disabled: !filters['onlyErrors'], showSearch: true, required: true, isMulti: true })),
13774
13779
  React.createElement(Actions, null,
@@ -13778,7 +13783,7 @@ const Filters$1 = () => {
13778
13783
  React.createElement(ActionButton$1, { variant: 'tertiary', onClick: onReset, "$color": theme.text.error }, "Reset"))))));
13779
13784
  };
13780
13785
 
13781
- const Container$b = styled.div `
13786
+ const Container$a = styled.div `
13782
13787
  display: flex;
13783
13788
  align-items: center;
13784
13789
  margin: 20px 0;
@@ -13800,7 +13805,7 @@ const AddButton = styled(Button) `
13800
13805
  const DataFlowActionsMenu = ({ addEntity }) => {
13801
13806
  const theme = Theme.useTheme();
13802
13807
  const { setCurrentModal } = useModalStore();
13803
- return (React.createElement(Container$b, null,
13808
+ return (React.createElement(Container$a, null,
13804
13809
  React.createElement(Search, null),
13805
13810
  React.createElement(Filters$1, null),
13806
13811
  addEntity && (React.createElement(PushToEnd, null,
@@ -13864,7 +13869,7 @@ const DynamicFields = ({ fields, onChange, formErrors }) => {
13864
13869
  case FieldTypes.Input:
13865
13870
  return React.createElement(Input, { key: field.name, ...rest, onChange: (e) => onChange(field.name, e.target.value), errorMessage: formErrors[field.name] });
13866
13871
  case FieldTypes.Dropdown:
13867
- return (React.createElement(Dropdown, { key: field.name, ...rest, value: { id: rest.value || '', value: rest.value || '' }, options: rest.options || [], onSelect: (option) => onChange(field.name, option.value), errorMessage: formErrors[field.name] }));
13872
+ 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.value), errorMessage: formErrors[field.name] }));
13868
13873
  case FieldTypes.MultiInput:
13869
13874
  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] }));
13870
13875
  case FieldTypes.KeyValuePair:
@@ -13918,7 +13923,7 @@ const TestConnection = ({ destination, disabled, status, onError, onSuccess, val
13918
13923
  React.createElement(Text, { family: 'secondary', decoration: 'underline', size: 14, color: !!status ? theme.text[status] : undefined }, testLoading ? 'Checking' : status === 'success' ? 'Connection OK' : status === 'error' ? 'Connection Failed' : 'Test Connection')));
13919
13924
  };
13920
13925
 
13921
- const Container$a = styled.div `
13926
+ const Container$9 = styled.div `
13922
13927
  display: flex;
13923
13928
  flex-direction: column;
13924
13929
  gap: 24px;
@@ -13988,7 +13993,7 @@ const DestinationForm = ({ isUpdate, categoryItem, formData, formErrors, validat
13988
13993
  traces: signals.includes(SignalType.Traces),
13989
13994
  });
13990
13995
  };
13991
- return (React.createElement(Container$a, null,
13996
+ return (React.createElement(Container$9, null,
13992
13997
  !isUpdate && (React.createElement(React.Fragment, null,
13993
13998
  React.createElement(SectionTitle, { title: 'Create connection', description: `Connect ${displayName} with Odigos.`, actionButton: testConnectionSupported && (React.createElement(TestConnection, { destination: formData, disabled: !isFormDirty, validateForm: validateForm, status: connectionStatus, testConnection: testConnection, testLoading: testLoading, testResult: testResult, onError: () => {
13994
13999
  setIsFormDirty(false);
@@ -14096,7 +14101,7 @@ const DestinationDrawer = ({ categories, updateDestination, deleteDestination, t
14096
14101
  setIsFormDirty(false);
14097
14102
  }
14098
14103
  };
14099
- return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.name || thisItem.destinationType.displayName, icon: icon, iconSrc: iconSrc, isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel, isLastItem: destinations.length === 1 }, isEditing ? (React.createElement(FormContainer$2, null,
14104
+ return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.name || thisItem.destinationType.displayName, icons: icon ? [icon] : undefined, iconSrcs: iconSrc ? [iconSrc] : undefined, isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel, isLastItem: destinations.length === 1 }, isEditing ? (React.createElement(FormContainer$2, null,
14100
14105
  React.createElement(DestinationForm, { isUpdate: true, categoryItem: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
14101
14106
  setIsFormDirty(true);
14102
14107
  handleFormChange(...params);
@@ -14152,7 +14157,7 @@ const PotentialDestinationsList = ({ items, setSelectedItem }) => {
14152
14157
  })));
14153
14158
  };
14154
14159
 
14155
- const Container$9 = styled.div `
14160
+ const Container$8 = styled.div `
14156
14161
  display: flex;
14157
14162
  flex-direction: column;
14158
14163
  gap: 24px;
@@ -14178,7 +14183,7 @@ const ListsContainer = styled.div `
14178
14183
  max-height: calc(100vh - 400px);
14179
14184
  }
14180
14185
  `;
14181
- const NoDataFoundWrapper$2 = styled(Container$9) `
14186
+ const NoDataFoundWrapper$1 = styled(Container$8) `
14182
14187
  margin-top: 80px;
14183
14188
  `;
14184
14189
  const DROPDOWN_OPTIONS = [
@@ -14207,7 +14212,7 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
14207
14212
  }, [categories, search, selectedCategory, selectedMonitors]);
14208
14213
  if (hidden)
14209
14214
  return null;
14210
- return (React.createElement(Container$9, null,
14215
+ return (React.createElement(Container$8, null,
14211
14216
  React.createElement(SectionTitle, { title: 'Choose destination', description: 'Add backend destination you want to connect with Odigos.' }),
14212
14217
  React.createElement(Filters, null,
14213
14218
  React.createElement(WidthConstraint, null,
@@ -14216,13 +14221,13 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
14216
14221
  React.createElement(Dropdown, { options: DROPDOWN_OPTIONS, value: selectedCategory, onSelect: (opt) => setSelectedCategory(opt), onDeselect: () => { } })),
14217
14222
  React.createElement(MonitorsCheckboxes, { title: '', selectedSignals: selectedMonitors, setSelectedSignals: setSelectedMonitors })),
14218
14223
  React.createElement(Divider, null),
14219
- !filteredDestinations.length && !potentialDestinations.length ? (React.createElement(NoDataFoundWrapper$2, null,
14224
+ !filteredDestinations.length && !potentialDestinations.length ? (React.createElement(NoDataFoundWrapper$1, null,
14220
14225
  React.createElement(NoDataFound, { title: 'No destinations found' }))) : (React.createElement(ListsContainer, null,
14221
14226
  React.createElement(PotentialDestinationsList, { items: potentialDestinations, setSelectedItem: onSelect }),
14222
14227
  React.createElement(DestinationsList, { items: filteredDestinations, setSelectedItem: onSelect })))));
14223
14228
  };
14224
14229
 
14225
- const Container$8 = styled.div `
14230
+ const Container$7 = styled.div `
14226
14231
  display: flex;
14227
14232
  `;
14228
14233
  const SideMenuWrapper = styled.div `
@@ -14305,7 +14310,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
14305
14310
  };
14306
14311
  useKeyDown({ key: 'Enter', active: isOpen }, () => handleSubmit());
14307
14312
  return (React.createElement(Modal, { isOpen: isOpen, onClose: handleClose, header: { title: 'Add Destination' }, actionComponent: React.createElement(NavigationButtons, { buttons: renderHeaderButtons() }) },
14308
- React.createElement(Container$8, null,
14313
+ React.createElement(Container$7, null,
14309
14314
  React.createElement(SideMenuWrapper, null,
14310
14315
  React.createElement(Stepper, { currentStep: !!selectedItem ? 2 : 1, data: [
14311
14316
  { stepNumber: 1, title: 'Destinations' },
@@ -14316,7 +14321,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
14316
14321
  !!selectedItem && (React.createElement(DestinationForm, { categoryItem: selectedItem, formData: formData, formErrors: formErrors, handleFormChange: handleFormChange, dynamicFields: dynamicFields, setDynamicFields: setDynamicFields, validateForm: validateForm, testConnection: testConnection, testLoading: testLoading, testResult: testResult }))))));
14317
14322
  };
14318
14323
 
14319
- const Container$7 = styled.div `
14324
+ const Container$6 = styled.div `
14320
14325
  display: flex;
14321
14326
  flex-direction: column;
14322
14327
  align-items: flex-start;
@@ -14329,9 +14334,9 @@ const Container$7 = styled.div `
14329
14334
  `;
14330
14335
  const ConfiguredList = () => {
14331
14336
  const { configuredDestinations } = useSetupStore();
14332
- return (React.createElement(Container$7, null, configuredDestinations.map(({ stored }, idx) => (React.createElement(ListItem$1, { key: `selected-destination-${stored.type}-${idx}`, "data-id": `selected-destination-${stored.type}`, item: stored, isLastItem: configuredDestinations.length === 1 })))));
14337
+ return (React.createElement(Container$6, null, configuredDestinations.map(({ stored }, idx) => (React.createElement(ListItem, { key: `selected-destination-${stored.type}-${idx}`, "data-id": `selected-destination-${stored.type}`, item: stored, isLastItem: configuredDestinations.length === 1 })))));
14333
14338
  };
14334
- const ListItem$1 = ({ item, isLastItem }) => {
14339
+ const ListItem = ({ item, isLastItem }) => {
14335
14340
  const { removeConfiguredDestination } = useSetupStore();
14336
14341
  const [deleteWarning, setDeleteWarning] = useState(false);
14337
14342
  const { icon, iconSrc } = getDestinationIcon(item.type);
@@ -14650,7 +14655,7 @@ const CustomFields = ({ ruleType, value, setValue, formErrors }) => {
14650
14655
  return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
14651
14656
  };
14652
14657
 
14653
- const Container$6 = styled.div `
14658
+ const Container$5 = styled.div `
14654
14659
  display: flex;
14655
14660
  flex-direction: column;
14656
14661
  gap: 24px;
@@ -14661,7 +14666,7 @@ const FieldTitle = styled(Text) `
14661
14666
  `;
14662
14667
  const InstrumentationRuleForm = ({ isUpdate, rule, formData, formErrors, handleFormChange }) => {
14663
14668
  const theme = Theme.useTheme();
14664
- return (React.createElement(Container$6, null,
14669
+ return (React.createElement(Container$5, null,
14665
14670
  isUpdate && (React.createElement("div", null,
14666
14671
  React.createElement(FieldTitle, null, "Status"),
14667
14672
  React.createElement(Segment, { options: [
@@ -14750,7 +14755,7 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14750
14755
  setIsFormDirty(false);
14751
14756
  }
14752
14757
  };
14753
- return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.ruleName || thisItem.type, icon: getInstrumentationRuleIcon(thisItem.type), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel }, isEditing && thisOptionType ? (React.createElement(FormContainer$1, null,
14758
+ return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.ruleName || thisItem.type, icons: [getInstrumentationRuleIcon(thisItem.type)], isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel }, isEditing && thisOptionType ? (React.createElement(FormContainer$1, null,
14754
14759
  React.createElement(InstrumentationRuleForm, { isUpdate: true, rule: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
14755
14760
  setIsFormDirty(true);
14756
14761
  handleFormChange(...params);
@@ -14890,7 +14895,7 @@ const InstrumentationRuleTable = ({ maxHeight, maxWidth }) => {
14890
14895
  React.createElement(NoDataFound, null)))));
14891
14896
  };
14892
14897
 
14893
- const Container$5 = styled.div `
14898
+ const Container$4 = styled.div `
14894
14899
  position: fixed;
14895
14900
  bottom: 0;
14896
14901
  left: 50%;
@@ -14907,7 +14912,7 @@ const Container$5 = styled.div `
14907
14912
  const MultiSourceControl = ({ totalSourceCount, uninstrumentSources }) => {
14908
14913
  const theme = Theme.useTheme();
14909
14914
  const Transition = useTransition({
14910
- container: Container$5,
14915
+ container: Container$4,
14911
14916
  animateIn: Theme.animations.slide.in['center'],
14912
14917
  animateOut: Theme.animations.slide.out['center'],
14913
14918
  });
@@ -15256,14 +15261,14 @@ const buildCard = (source) => {
15256
15261
  return arr;
15257
15262
  };
15258
15263
 
15259
- const Container$4 = styled.div `
15264
+ const Container$3 = styled.div `
15260
15265
  display: flex;
15261
15266
  flex-direction: column;
15262
15267
  gap: 24px;
15263
15268
  padding: 4px;
15264
15269
  `;
15265
15270
  const SourceForm = ({ formData, handleFormChange }) => {
15266
- return (React.createElement(Container$4, null,
15271
+ return (React.createElement(Container$3, null,
15267
15272
  React.createElement(Input, { name: 'sourceName', title: 'Source name', tooltip: 'This overrides the default service name that runs in your cluster.', placeholder: 'Use a name that overrides the source name', value: formData.otelServiceName, onChange: ({ target: { value } }) => handleFormChange('otelServiceName', value) })));
15268
15273
  };
15269
15274
 
@@ -15331,7 +15336,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
15331
15336
  setIsFormDirty(false);
15332
15337
  setIsEditing(false);
15333
15338
  };
15334
- return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.otelServiceName || thisItem.name, titleTooltip: 'This attribute is used to identify the name of the service (service.name) that is generating telemetry data.', icon: getEntityIcon(EntityTypes.Source), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: selectedTab === Tabs.Overview ? handleEdit : undefined, onSave: handleSave, onDelete: selectedTab === Tabs.Overview ? handleDelete : undefined, onCancel: handleCancel, isLastItem: sources.length === 1, tabs: [
15339
+ return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.otelServiceName || thisItem.name, titleTooltip: 'This attribute is used to identify the name of the service (service.name) that is generating telemetry data.', icons: getContainersIcons(thisItem.containers), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: selectedTab === Tabs.Overview ? handleEdit : undefined, onSave: handleSave, onDelete: selectedTab === Tabs.Overview ? handleDelete : undefined, onCancel: handleCancel, isLastItem: sources.length === 1, tabs: [
15335
15340
  {
15336
15341
  label: Tabs.Overview,
15337
15342
  onClick: () => setSelectedTab(Tabs.Overview),
@@ -15352,7 +15357,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
15352
15357
  React.createElement(DataCard, { title: DISPLAY_TITLES.DETECTED_CONTAINERS, titleBadge: containersData.length, description: DISPLAY_TITLES.DETECTED_CONTAINERS_DESCRIPTION, data: containersData })))) : (React.createElement(Describe$1, { source: thisItem, fetchDescribeSource: fetchDescribeSource }))));
15353
15358
  };
15354
15359
 
15355
- const Container$3 = styled.div `
15360
+ const Container$2 = styled.div `
15356
15361
  display: flex;
15357
15362
  flex-direction: column;
15358
15363
  align-items: center;
@@ -15396,7 +15401,7 @@ const AbsoluteWrapper = styled.div `
15396
15401
  const SelectionCount = styled(Text) `
15397
15402
  width: 18px;
15398
15403
  `;
15399
- const NoDataFoundWrapper$1 = styled.div `
15404
+ const NoDataFoundWrapper = styled.div `
15400
15405
  padding: 50px 0;
15401
15406
  display: flex;
15402
15407
  flex-direction: column;
@@ -15406,14 +15411,14 @@ const NoDataFoundWrapper$1 = styled.div `
15406
15411
  max-height: calc(100vh - 360px);
15407
15412
  overflow-y: auto;
15408
15413
  `;
15409
- const List$1 = ({ isModal = false, filterNamespaces, filterSources, selectedNamespace, onSelectNamespace, selectedSources, onSelectSource, selectedFutureApps, onSelectFutureApps, onSelectAll, }) => {
15414
+ const List = ({ isModal = false, filterNamespaces, filterSources, selectedNamespace, onSelectNamespace, selectedSources, onSelectSource, selectedFutureApps, onSelectFutureApps, onSelectAll, }) => {
15410
15415
  const theme = Theme.useTheme();
15411
15416
  const namespaces = filterNamespaces();
15412
15417
  const { namespacesLoading } = useEntityStore();
15413
15418
  if (!namespaces.length) {
15414
- return React.createElement(NoDataFoundWrapper$1, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No namespaces found' }));
15419
+ return React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No namespaces found' }));
15415
15420
  }
15416
- return (React.createElement(Container$3, { "$isModal": isModal }, namespaces.map(([namespace, sources]) => {
15421
+ return (React.createElement(Container$2, { "$isModal": isModal }, namespaces.map(([namespace, sources]) => {
15417
15422
  const sourcesForNamespace = selectedSources[namespace] || [];
15418
15423
  const futureAppsForNamespace = selectedFutureApps[namespace] || false;
15419
15424
  const isNamespaceLoaded = !!sourcesForNamespace.length;
@@ -15449,11 +15454,11 @@ const List$1 = ({ isModal = false, filterNamespaces, filterSources, selectedName
15449
15454
  source.numberOfInstances !== 1 && 's',
15450
15455
  " \u00B7 ",
15451
15456
  source.kind))));
15452
- }))) : (React.createElement(NoDataFoundWrapper$1, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 1.5 }) : React.createElement(NoDataFound, { title: 'No sources available in this namespace', subTitle: 'Try searching again or select another namespace.' }))))));
15457
+ }))) : (React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 1.5 }) : React.createElement(NoDataFound, { title: 'No sources available in this namespace', subTitle: 'Try searching again or select another namespace.' }))))));
15453
15458
  })));
15454
15459
  };
15455
15460
 
15456
- const FlexContainer$1 = styled.div `
15461
+ const FlexContainer = styled.div `
15457
15462
  display: flex;
15458
15463
  align-items: center;
15459
15464
  justify-content: space-between;
@@ -15462,133 +15467,19 @@ const FlexContainer$1 = styled.div `
15462
15467
  const SearchWrapper = styled.div `
15463
15468
  width: 444px;
15464
15469
  `;
15465
- const Controls$1 = ({ selectedSources, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly }) => {
15470
+ const Controls = ({ selectedSources, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly }) => {
15466
15471
  const selectedAppsCount = Object.values(selectedSources).reduce((prev, curr) => prev + curr.filter((s) => s.selected).length, 0);
15467
15472
  return (React.createElement(React.Fragment, null,
15468
15473
  React.createElement(SectionTitle, { title: 'Select Sources for Instrumentation', badgeLabel: selectedAppsCount, description: 'Select apps to monitor in each namespace. Odigos will instrument them and send telemetry data to your destinations.' }),
15469
- React.createElement(FlexContainer$1, { style: { marginTop: 24 } },
15474
+ React.createElement(FlexContainer, { style: { marginTop: 24 } },
15470
15475
  React.createElement(SearchWrapper, null,
15471
15476
  React.createElement(Input, { placeholder: 'Search Kubernetes Namespaces', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
15472
15477
  React.createElement(Toggle, { title: 'Show selected only', initialValue: showSelectedOnly, onChange: setShowSelectedOnly })),
15473
15478
  React.createElement(Divider, { margin: '16px 0' })));
15474
15479
  };
15475
15480
 
15476
- const Fast = ({ isModal, ...props }) => {
15477
- return (React.createElement(ModalBody, { "$isNotModal": !isModal },
15478
- React.createElement(Controls$1, { ...props }),
15479
- React.createElement(List$1, { ...props })));
15480
- };
15481
-
15482
- const Container$2 = styled.div `
15483
- display: flex;
15484
- align-items: center;
15485
- flex-direction: column;
15486
- gap: 12px;
15487
- height: fit-content;
15488
- padding-bottom: ${({ $isModal }) => ($isModal ? '48px' : '0')};
15489
- overflow-y: scroll;
15490
- `;
15491
- const ListItem = styled.div `
15492
- display: flex;
15493
- align-items: center;
15494
- justify-content: space-between;
15495
- width: 100%;
15496
- padding: 16px 0px;
15497
- transition: background 0.3s;
15498
- border-radius: 16px;
15499
- cursor: pointer;
15500
- background: ${({ $selected, theme }) => ($selected ? theme.colors.majestic_blue + Theme.opacity.hex['024'] : theme.colors.dropdown_bg_2 + Theme.opacity.hex['040'])};
15501
- &:hover {
15502
- background: ${({ $selected, theme }) => ($selected ? theme.colors.majestic_blue + Theme.opacity.hex['040'] : theme.colors.dropdown_bg_2 + Theme.opacity.hex['080'])};
15503
- }
15504
- `;
15505
- const ListItemContent = styled.div `
15506
- margin-left: 16px;
15507
- display: flex;
15508
- gap: 12px;
15509
- `;
15510
- const TextWrapper = styled.div `
15511
- display: flex;
15512
- flex-direction: column;
15513
- height: 36px;
15514
- justify-content: space-between;
15515
- `;
15516
- const SelectedTextWrapper = styled.div `
15517
- margin-right: 24px;
15518
- `;
15519
- const NoDataFoundWrapper = styled.div `
15520
- margin-top: 80px;
15521
- display: flex;
15522
- flex-direction: column;
15523
- align-items: center;
15524
- gap: 12px;
15525
- height: 100%;
15526
- max-height: calc(100vh - 360px);
15527
- overflow-y: auto;
15528
- `;
15529
- const List = ({ isModal = false, selectedNamespace, selectedSources, onSelectSource, filterSources, }) => {
15530
- const { namespacesLoading } = useEntityStore();
15531
- const sources = selectedSources[selectedNamespace] || [];
15532
- if (!sources.length) {
15533
- return React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No sources found' }));
15534
- }
15535
- return (React.createElement(Container$2, { "$isModal": isModal }, filterSources().map((source) => {
15536
- const isSelected = selectedSources[selectedNamespace].find(({ name }) => name === source.name)?.selected || false;
15537
- return (React.createElement(ListItem, { key: `source-${source.name}`, "$selected": isSelected, onClick: () => onSelectSource(source) },
15538
- React.createElement(ListItemContent, null,
15539
- React.createElement(IconWrapped, { icon: FolderIcon }),
15540
- React.createElement(TextWrapper, null,
15541
- React.createElement(Text, null, source.name),
15542
- React.createElement(Text, { opacity: 0.8, size: 10 },
15543
- source.numberOfInstances,
15544
- " running instance",
15545
- source.numberOfInstances !== 1 && 's',
15546
- " \u00B7 ",
15547
- source.kind))),
15548
- isSelected && (React.createElement(SelectedTextWrapper, null,
15549
- React.createElement(Checkbox, { value: true, allowPropagation: true })))));
15550
- })));
15551
- };
15552
-
15553
- const FlexContainer = styled.div `
15554
- display: flex;
15555
- align-items: center;
15556
- justify-content: space-between;
15557
- gap: 8px;
15558
- `;
15559
- const ToggleWrapper = styled.div `
15560
- display: flex;
15561
- align-items: center;
15562
- gap: 32px;
15563
- `;
15564
- const Controls = ({ selectedNamespace, onSelectNamespace, selectedSources, onSelectAll, selectedFutureApps, onSelectFutureApps, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly, }) => {
15565
- const futureApps = selectedFutureApps[selectedNamespace] || false;
15566
- const sources = selectedSources[selectedNamespace] || [];
15567
- const selectedAppsCount = sources.filter(({ selected }) => selected).length;
15568
- return (React.createElement(React.Fragment, null,
15569
- React.createElement(SectionTitle, { title: 'Choose sources', description: "Apps will be automatically instrumented, and data will be sent to the relevant APM's destinations." }),
15570
- React.createElement(FlexContainer, { style: { marginTop: 24 } },
15571
- React.createElement(Input, { placeholder: 'Search for sources', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) }),
15572
- React.createElement(NamespaceDropdown, { title: '', value: selectedNamespace ? [{ value: selectedNamespace, id: selectedNamespace }] : [], onSelect: ({ id }) => !!id && onSelectNamespace(id), onDeselect: ({ id }) => !!id && onSelectNamespace(id) })),
15573
- React.createElement(Divider, { margin: '16px 0' }),
15574
- React.createElement(FlexContainer, null,
15575
- React.createElement(FlexContainer, null,
15576
- React.createElement(Text, null, "Selected apps"),
15577
- React.createElement(Badge, { label: selectedAppsCount, filled: !!selectedAppsCount })),
15578
- React.createElement(ToggleWrapper, null,
15579
- React.createElement(Toggle, { title: 'Select all', initialValue: !!selectedAppsCount && selectedAppsCount === sources.length, onChange: onSelectAll }),
15580
- React.createElement(Toggle, { title: 'Show selected only', initialValue: showSelectedOnly, onChange: setShowSelectedOnly }),
15581
- React.createElement(Checkbox, { title: 'Future apps', tooltip: 'Automatically instrument all future apps', value: futureApps, onChange: onSelectFutureApps }))),
15582
- React.createElement(Divider, { margin: '16px 0 24px' })));
15583
- };
15584
-
15585
- const Simple = (props) => {
15586
- return (React.createElement(ModalBody, { "$isNotModal": !props.isModal },
15587
- React.createElement(Controls, { ...props }),
15588
- React.createElement(List, { ...props })));
15589
- };
15590
-
15591
- const SourceSelectionForm = forwardRef(({ componentType, isModal, selectedNamespace, onSelectNamespace, namespace }, ref) => {
15481
+ const SourceSelectionForm = forwardRef((props, ref) => {
15482
+ const { isModal, selectedNamespace, onSelectNamespace, namespace } = props;
15592
15483
  const formState = useSourceSelectionFormData({ selectedNamespace, onSelectNamespace, namespace });
15593
15484
  const { recordedInitialSources, getApiSourcesPayload, getApiFutureAppsPayload } = formState;
15594
15485
  useImperativeHandle(ref, () => ({
@@ -15598,17 +15489,12 @@ const SourceSelectionForm = forwardRef(({ componentType, isModal, selectedNamesp
15598
15489
  futureApps: getApiFutureAppsPayload(),
15599
15490
  }),
15600
15491
  }));
15601
- switch (componentType) {
15602
- case 'SIMPLE':
15603
- return React.createElement(Simple, { isModal: isModal, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, ...formState });
15604
- case 'FAST':
15605
- return React.createElement(Fast, { isModal: isModal, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, ...formState });
15606
- default:
15607
- return null;
15608
- }
15492
+ return (React.createElement(ModalBody, { "$isNotModal": !isModal },
15493
+ React.createElement(Controls, { ...props, ...formState }),
15494
+ React.createElement(List, { ...props, ...formState })));
15609
15495
  });
15610
15496
 
15611
- const SourceModal = ({ componentType = 'FAST', selectedNamespace, setSelectedNamespace, namespace, persistSources }) => {
15497
+ const SourceModal = ({ selectedNamespace, setSelectedNamespace, namespace, persistSources }) => {
15612
15498
  const { currentModal, setCurrentModal } = useModalStore();
15613
15499
  const isOpen = currentModal === EntityTypes.Source;
15614
15500
  const onSelectNamespace = (ns) => {
@@ -15634,7 +15520,7 @@ const SourceModal = ({ componentType = 'FAST', selectedNamespace, setSelectedNam
15634
15520
  onClick: handleSubmit,
15635
15521
  },
15636
15522
  ] }) },
15637
- React.createElement(SourceSelectionForm, { ref: formRef, componentType: componentType, isModal: true, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, namespace: namespace })));
15523
+ React.createElement(SourceSelectionForm, { ref: formRef, isModal: true, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, namespace: namespace })));
15638
15524
  };
15639
15525
 
15640
15526
  const columns = [
@@ -15935,7 +15821,7 @@ const SystemOverview = ({ tokens, saveToken, fetchDescribeOdigos }) => {
15935
15821
  React.createElement(IconButton, { key: 'cli', onClick: toggleOpen, tooltip: TITLE_TEXT },
15936
15822
  React.createElement(TerminalIcon, { size: 18 })),
15937
15823
  React.createElement(Drawer, { width: DRAWER_WIDTH, isOpen: isOpen, onClose: toggleOpen, header: {
15938
- icon: TerminalIcon,
15824
+ icons: [TerminalIcon],
15939
15825
  title: TITLE_TEXT,
15940
15826
  }, footer: {
15941
15827
  isOpen: false,