@odigos/ui-kit 0.0.16 → 0.0.17

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 (259) hide show
  1. package/CHANGELOG.md +16 -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 +45 -14
  5. package/lib/constants.js +9 -5
  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 +129 -206
  10. package/lib/functions.js +15 -9
  11. package/lib/hooks.js +10 -10
  12. package/lib/icons.js +15 -7
  13. package/lib/index-B72aw6tI.js +23 -0
  14. package/lib/{index-D_Qn2U89.js → index-BJxaoI0G.js} +1 -8
  15. package/lib/{index-DiEc-llU.js → index-BQW5EUgp.js} +10 -7
  16. package/lib/index-BQs4sULy.js +32 -0
  17. package/lib/index-BVVVevuY.js +100 -0
  18. package/lib/index-BWqrekK4.js +11 -0
  19. package/lib/{index-D6cZdmUs.js → index-BiNX-Cge.js} +85 -130
  20. package/lib/{index-DM8CZWtL.js → index-BsH_egEe.js} +10 -1
  21. package/lib/{index-CKtl8KxE.js → index-BxQTUOME.js} +10 -12
  22. package/lib/index-C1PCuZgw.js +18 -0
  23. package/lib/{index-CLOUNx6Z.js → index-C3nz3TIx.js} +6 -8
  24. package/lib/{index-BGlk5VhF.js → index-CIXQeSHu.js} +1 -10
  25. package/lib/index-CIgHU72d.js +52 -0
  26. package/lib/index-DbfrGXPH.js +8 -0
  27. package/lib/{index-lL1o2K_5.js → index-G4WmxXds.js} +4 -21
  28. package/lib/{index-7-KCQK-x.js → index-Hz7AAE0t.js} +1 -1
  29. package/lib/{index-DH2zLaey.js → index-KOMAv-TS.js} +1 -8
  30. package/lib/index-RBS1MqCQ.js +37 -0
  31. package/lib/react-CjImwkhV.js +44 -0
  32. package/lib/store.js +6 -3
  33. package/lib/theme.js +86 -3
  34. package/lib/types.js +6 -215
  35. package/lib/useDarkMode-DxhIuVNi.js +201 -0
  36. package/lib/useSelectedStore-93bIo1kE.js +97 -0
  37. package/lib/useSetupStore-CoYx1UQw.js +211 -0
  38. package/lib/{useTransition-hWYVBuSi.js → useTimeAgo-weEj7br6.js} +544 -113
  39. package/lib/useTransition-D0wUpPGk.js +128 -0
  40. package/package.json +2 -1
  41. package/lib/components/auto-complete-input/auto-complete-input.stories.d.ts +0 -9
  42. package/lib/components/badge/badge.stories.d.ts +0 -13
  43. package/lib/components/button/button.stories.d.ts +0 -9
  44. package/lib/components/cancel-warning/cancel-warning.stories.d.ts +0 -9
  45. package/lib/components/checkbox/checkbox.stories.d.ts +0 -9
  46. package/lib/components/code/code.stories.d.ts +0 -9
  47. package/lib/components/condition-details/condition-details.stories.d.ts +0 -14
  48. package/lib/components/data-card/data-card.stories.d.ts +0 -10
  49. package/lib/components/data-tab/data-tab.stories.d.ts +0 -15
  50. package/lib/components/delete-warning/delete-warning.stories.d.ts +0 -9
  51. package/lib/components/describe-row/describe-row.stories.d.ts +0 -9
  52. package/lib/components/divider/divider.stories.d.ts +0 -9
  53. package/lib/components/docs-button/docs-button.stories.d.ts +0 -9
  54. package/lib/components/drawer/drawer.stories.d.ts +0 -10
  55. package/lib/components/dropdown/dropdown.stories.d.ts +0 -10
  56. package/lib/components/error-boundary/error-boundary.stories.d.ts +0 -9
  57. package/lib/components/extend-arrow/extend-arrow.stories.d.ts +0 -9
  58. package/lib/components/fade-loader/fade-loader.stories.d.ts +0 -9
  59. package/lib/components/field-error/field-error.stories.d.ts +0 -9
  60. package/lib/components/field-label/field-label.stories.d.ts +0 -9
  61. package/lib/components/header/header.stories.d.ts +0 -9
  62. package/lib/components/icon-button/icon-button.stories.d.ts +0 -9
  63. package/lib/components/icon-group/icon-group.stories.d.ts +0 -14
  64. package/lib/components/icon-title-badge/icon-title-badge.stories.d.ts +0 -9
  65. package/lib/components/icon-wrapped/icon-wrapped.stories.d.ts +0 -10
  66. package/lib/components/icons-nav/icons-nav.stories.d.ts +0 -9
  67. package/lib/components/image-controlled/image-controlled.stories.d.ts +0 -9
  68. package/lib/components/input/input.stories.d.ts +0 -9
  69. package/lib/components/input-list/input-list.stories.d.ts +0 -9
  70. package/lib/components/input-table/input-table.stories.d.ts +0 -9
  71. package/lib/components/interactive-table/interactive-table.stories.d.ts +0 -12
  72. package/lib/components/key-value-input-list/key-value-input-list.stories.d.ts +0 -9
  73. package/lib/components/modal/modal.stories.d.ts +0 -9
  74. package/lib/components/monitors-checkboxes/monitors-checkboxes.stories.d.ts +0 -9
  75. package/lib/components/monitors-icons/monitors-icons.stories.d.ts +0 -9
  76. package/lib/components/navigation-buttons/navigation-buttons.stories.d.ts +0 -9
  77. package/lib/components/no-data-found/no-data-found.stories.d.ts +0 -9
  78. package/lib/components/notification-note/notification-note.stories.d.ts +0 -10
  79. package/lib/components/section-title/section-title.stories.d.ts +0 -9
  80. package/lib/components/segment/segment.stories.d.ts +0 -9
  81. package/lib/components/skeleton-loader/skeleton-loader.stories.d.ts +0 -9
  82. package/lib/components/status/status.stories.d.ts +0 -9
  83. package/lib/components/stepper/stepper.stories.d.ts +0 -9
  84. package/lib/components/text/text.stories.d.ts +0 -9
  85. package/lib/components/textarea/textarea.stories.d.ts +0 -9
  86. package/lib/components/toggle/toggle.stories.d.ts +0 -9
  87. package/lib/components/tooltip/tooltip.stories.d.ts +0 -9
  88. package/lib/components/trace-loader/trace-loader.stories.d.ts +0 -9
  89. package/lib/components/warning-modal/warning-modal.stories.d.ts +0 -9
  90. package/lib/containers/action-drawer/action-drawer.stories.d.ts +0 -9
  91. package/lib/containers/action-form/action-form.stories.d.ts +0 -9
  92. package/lib/containers/action-modal/action-modal.stories.d.ts +0 -9
  93. package/lib/containers/action-table/action-table.stories.d.ts +0 -9
  94. package/lib/containers/await-pipeline/await-pipeline.stories.d.ts +0 -9
  95. package/lib/containers/compute-platform-select/compute-platform-select.stories.d.ts +0 -9
  96. package/lib/containers/compute-platforms/compute-platforms.stories.d.ts +0 -9
  97. package/lib/containers/compute-platforms-actions-menu/compute-platforms-actions-menu.stories.d.ts +0 -9
  98. package/lib/containers/data-flow/data-flow.stories.d.ts +0 -9
  99. package/lib/containers/data-flow-actions-menu/data-flow-actions-menu.stories.d.ts +0 -11
  100. package/lib/containers/destination-drawer/destination-drawer.stories.d.ts +0 -9
  101. package/lib/containers/destination-form/destination-form.stories.d.ts +0 -9
  102. package/lib/containers/destination-modal/destination-modal.stories.d.ts +0 -9
  103. package/lib/containers/destination-selection-form/destination-selection-form.stories.d.ts +0 -9
  104. package/lib/containers/destination-table/destination-table.stories.d.ts +0 -9
  105. package/lib/containers/dropdowns/connection-status-dropdown/connection-status-dropdown.stories.d.ts +0 -9
  106. package/lib/containers/dropdowns/connection-type-dropdown/connection-type-dropdown.stories.d.ts +0 -9
  107. package/lib/containers/dropdowns/error-dropdown/error-dropdown.stories.d.ts +0 -9
  108. package/lib/containers/dropdowns/kind-dropdown/error-dropdown.stories.d.ts +0 -9
  109. package/lib/containers/dropdowns/language-dropdown/language-dropdown.stories.d.ts +0 -9
  110. package/lib/containers/dropdowns/monitor-dropdown/monitor-dropdown.stories.d.ts +0 -9
  111. package/lib/containers/dropdowns/namespace-dropdown/namespace-dropdown.stories.d.ts +0 -9
  112. package/lib/containers/instrumentation-rule-drawer/instrumentation-rule-drawer.stories.d.ts +0 -9
  113. package/lib/containers/instrumentation-rule-form/instrumentation-rule-form.stories.d.ts +0 -9
  114. package/lib/containers/instrumentation-rule-modal/instrumentation-rule-modal.stories.d.ts +0 -9
  115. package/lib/containers/instrumentation-rule-table/instrumentation-rule-table.stories.d.ts +0 -9
  116. package/lib/containers/multi-source-control/multi-source-control.stories.d.ts +0 -9
  117. package/lib/containers/notification-manager/notification-manager.stories.d.ts +0 -9
  118. package/lib/containers/overview-drawer/overview-drawer.stories.d.ts +0 -9
  119. package/lib/containers/side-nav/side-nav.stories.d.ts +0 -9
  120. package/lib/containers/slack-invite/slack-invite.stories.d.ts +0 -9
  121. package/lib/containers/source-drawer/source-drawer.stories.d.ts +0 -9
  122. package/lib/containers/source-form/source-form.stories.d.ts +0 -9
  123. package/lib/containers/source-modal/source-modal.stories.d.ts +0 -9
  124. package/lib/containers/source-selection-form/fast/index.d.ts +0 -7
  125. package/lib/containers/source-selection-form/simple/controls/index.d.ts +0 -9
  126. package/lib/containers/source-selection-form/simple/index.d.ts +0 -7
  127. package/lib/containers/source-selection-form/simple/list/index.d.ts +0 -8
  128. package/lib/containers/source-selection-form/source-selection-form.stories.d.ts +0 -9
  129. package/lib/containers/source-table/source-table.stories.d.ts +0 -9
  130. package/lib/containers/system-overview/system-overview.stories.d.ts +0 -9
  131. package/lib/containers/table-cell-conditions/table-cell-conditions.stories.d.ts +0 -9
  132. package/lib/containers/toast-list/toast-list.stories.d.ts +0 -9
  133. package/lib/containers/toggle-dark-mode/toggle-dark-mode.stories.d.ts +0 -9
  134. package/lib/icons/actions/add-cluster-info-icon/add-cluster-info-icon.stories.d.ts +0 -8
  135. package/lib/icons/actions/delete-attribute-icon/delete-attribute-icon.stories.d.ts +0 -8
  136. package/lib/icons/actions/pii-masking-icon/pii-masking-icon.stories.d.ts +0 -8
  137. package/lib/icons/actions/rename-attribute-icon/rename-attribute-icon.stories.d.ts +0 -8
  138. package/lib/icons/actions/sampler-icon/sampler-icon.stories.d.ts +0 -8
  139. package/lib/icons/brand/odigos-logo/odigos-logo.stories.d.ts +0 -8
  140. package/lib/icons/brand/odigos-logo-text/odigos-logo-text.stories.d.ts +0 -8
  141. package/lib/icons/common/arrow-icon/arrow-icon.stories.d.ts +0 -8
  142. package/lib/icons/common/code-brackets-icon/code-brackets-icon.stories.d.ts +0 -8
  143. package/lib/icons/common/code-icon/code-icon.stories.d.ts +0 -8
  144. package/lib/icons/common/command-icon/command-icon.stories.d.ts +0 -8
  145. package/lib/icons/common/copy-icon/copy-icon.stories.d.ts +0 -8
  146. package/lib/icons/common/edit-icon/edit-icon.stories.d.ts +0 -8
  147. package/lib/icons/common/extend-arrow-icon/extend-arrow-icon.stories.d.ts +0 -8
  148. package/lib/icons/common/filter-icon/filter-icon.stories.d.ts +0 -8
  149. package/lib/icons/common/folder-icon/folder-icon.stories.d.ts +0 -8
  150. package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +0 -8
  151. package/lib/icons/common/key-icon/key-icon.stories.d.ts +0 -8
  152. package/lib/icons/common/list-icon/list-icon.stories.d.ts +0 -8
  153. package/lib/icons/common/no-data-icon/no-data-icon.stories.d.ts +0 -8
  154. package/lib/icons/common/notebook-icon/notebook-icon.stories.d.ts +0 -8
  155. package/lib/icons/common/notification-icon/notification-icon.stories.d.ts +0 -8
  156. package/lib/icons/common/search-icon/search-icon.stories.d.ts +0 -8
  157. package/lib/icons/common/sort-arrows-icon/sort-arrows-icon.stories.d.ts +0 -8
  158. package/lib/icons/common/terminal-icon/terminal-icon.stories.d.ts +0 -8
  159. package/lib/icons/common/trash-icon/trash-icon.stories.d.ts +0 -8
  160. package/lib/icons/common/x-icon/x-icon.stories.d.ts +0 -8
  161. package/lib/icons/compute-platform/k8s-logo/k8s-logo.stories.d.ts +0 -8
  162. package/lib/icons/compute-platform/vm-logo/vm-logo.stories.d.ts +0 -8
  163. package/lib/icons/destinations/app-dynamics-logo/app-dynamics-logo.stories.d.ts +0 -8
  164. package/lib/icons/destinations/aws-cloudwatch-logo/aws-cloudwatch-logo.stories.d.ts +0 -8
  165. package/lib/icons/destinations/aws-s3-logo/aws-s3-logo.stories.d.ts +0 -8
  166. package/lib/icons/destinations/aws-xray-logo/aws-xray-logo.stories.d.ts +0 -8
  167. package/lib/icons/destinations/axiom-logo/axiom-logo.stories.d.ts +0 -8
  168. package/lib/icons/destinations/better-stack-logo/better-stack-logo.stories.d.ts +0 -8
  169. package/lib/icons/destinations/blob-storage-logo/blob-storage-logo.stories.d.ts +0 -8
  170. package/lib/icons/destinations/causely-logo/causely-logo.stories.d.ts +0 -8
  171. package/lib/icons/destinations/chronosphere-logo/chronosphere-logo.stories.d.ts +0 -8
  172. package/lib/icons/destinations/clickhouse-logo/clickhouse-logo.stories.d.ts +0 -8
  173. package/lib/icons/destinations/coralogix-logo/coralogix-logo.stories.d.ts +0 -8
  174. package/lib/icons/destinations/dash0-logo/dash0-logo.stories.d.ts +0 -8
  175. package/lib/icons/destinations/datadog-logo/datadog-logo.stories.d.ts +0 -8
  176. package/lib/icons/destinations/dynatrace-logo/dynatrace-logo.stories.d.ts +0 -8
  177. package/lib/icons/destinations/elastic-apm-logo/elastic-apm-logo.stories.d.ts +0 -8
  178. package/lib/icons/destinations/elastic-search-logo/elastic-search-logo.stories.d.ts +0 -8
  179. package/lib/icons/destinations/gigapipe-logo/gigapipe-logo.stories.d.ts +0 -8
  180. package/lib/icons/destinations/google-cloud-platform-logo/google-cloud-platform-logo.stories.d.ts +0 -8
  181. package/lib/icons/destinations/google-cloud-storage-logo/google-cloud-storage-logo.stories.d.ts +0 -8
  182. package/lib/icons/destinations/grafana-logo/grafana-logo.stories.d.ts +0 -8
  183. package/lib/icons/destinations/groundcover-logo/groundcover-logo.stories.d.ts +0 -8
  184. package/lib/icons/destinations/honeycomb-logo/honeycomb-logo.stories.d.ts +0 -8
  185. package/lib/icons/destinations/hyperdx-logo/hyperdx-logo.stories.d.ts +0 -8
  186. package/lib/icons/destinations/instana-logo/instana-logo.stories.d.ts +0 -8
  187. package/lib/icons/destinations/jaeger-logo/jaeger-logo.stories.d.ts +0 -8
  188. package/lib/icons/destinations/kafka-logo/kafka-logo.stories.d.ts +0 -8
  189. package/lib/icons/destinations/kloudmate-logo/kloudmate-logo.stories.d.ts +0 -8
  190. package/lib/icons/destinations/last9-logo/last9-logo.stories.d.ts +0 -8
  191. package/lib/icons/destinations/lightstep-logo/lightstep-logo.stories.d.ts +0 -8
  192. package/lib/icons/destinations/logzio-logo/logzio-logo.stories.d.ts +0 -8
  193. package/lib/icons/destinations/loki-logo/loki-logo.stories.d.ts +0 -8
  194. package/lib/icons/destinations/lumigo-logo/lumigo-logo.stories.d.ts +0 -8
  195. package/lib/icons/destinations/middleware-logo/middleware-logo.stories.d.ts +0 -8
  196. package/lib/icons/destinations/new-relic-logo/new-relic-logo.stories.d.ts +0 -8
  197. package/lib/icons/destinations/open-telemetry-logo/open-telemetry-logo.stories.d.ts +0 -8
  198. package/lib/icons/destinations/ops-verse-logo/ops-verse-logo.stories.d.ts +0 -8
  199. package/lib/icons/destinations/prometheus-logo/prometheus-logo.stories.d.ts +0 -8
  200. package/lib/icons/destinations/qryn-logo/qryn-logo.stories.d.ts +0 -8
  201. package/lib/icons/destinations/quickwit-logo/quickwit-logo.stories.d.ts +0 -8
  202. package/lib/icons/destinations/sentry-logo/sentry-logo.stories.d.ts +0 -8
  203. package/lib/icons/destinations/signoz-logo/signoz-logo.stories.d.ts +0 -8
  204. package/lib/icons/destinations/splunk-logo/splunk-logo.stories.d.ts +0 -8
  205. package/lib/icons/destinations/sumo-logic-logo/sumo-logic-logo.stories.d.ts +0 -8
  206. package/lib/icons/destinations/tempo-logo/tempo-logo.stories.d.ts +0 -8
  207. package/lib/icons/destinations/traceloop-logo/traceloop-logo.stories.d.ts +0 -8
  208. package/lib/icons/destinations/uptrace-logo/uptrace-logo.stories.d.ts +0 -8
  209. package/lib/icons/instrumentation-rules/code-attributes-icon/code-attributes-icon.stories.d.ts +0 -8
  210. package/lib/icons/instrumentation-rules/payload-collection-icon/payload-collection-icon.stories.d.ts +0 -8
  211. package/lib/icons/math/minus-icon/minus-icon.stories.d.ts +0 -8
  212. package/lib/icons/math/plus-icon/plus-icon.stories.d.ts +0 -8
  213. package/lib/icons/monitors/logs-icon/logs-icon.stories.d.ts +0 -8
  214. package/lib/icons/monitors/metrics-icon/metrics-icon.stories.d.ts +0 -8
  215. package/lib/icons/monitors/traces-icon/traces-icon.stories.d.ts +0 -8
  216. package/lib/icons/on-off/eye-closed-icon/eye-closed-icon.stories.d.ts +0 -8
  217. package/lib/icons/on-off/eye-open-icon/eye-open-icon.stories.d.ts +0 -8
  218. package/lib/icons/on-off/light-off-icon/light-off-icon.stories.d.ts +0 -8
  219. package/lib/icons/on-off/light-on-icon/light-on-icon.stories.d.ts +0 -8
  220. package/lib/icons/on-off/moon-icon/moon-icon.stories.d.ts +0 -8
  221. package/lib/icons/on-off/sun-icon/sun-icon.stories.d.ts +0 -8
  222. package/lib/icons/overview/actions-icon/actions-icon.stories.d.ts +0 -8
  223. package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +0 -8
  224. package/lib/icons/overview/destinations-icon/destinations-icon.stories.d.ts +0 -8
  225. package/lib/icons/overview/namespaces-icon/namespaces-icon.stories.d.ts +0 -8
  226. package/lib/icons/overview/overview-icon/overview-icon.stories.d.ts +0 -8
  227. package/lib/icons/overview/rules-icon/rules-icon.stories.d.ts +0 -8
  228. package/lib/icons/overview/service-map-icon/service-map-icon.stories.d.ts +0 -8
  229. package/lib/icons/overview/sources-icon/sources-icon.stories.d.ts +0 -8
  230. package/lib/icons/overview/trace-view-icon/trace-view-icon.stories.d.ts +0 -8
  231. package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +0 -8
  232. package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +0 -8
  233. package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +0 -8
  234. package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +0 -8
  235. package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +0 -8
  236. package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +0 -8
  237. package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +0 -8
  238. package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +0 -8
  239. package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +0 -8
  240. package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +0 -8
  241. package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +0 -8
  242. package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +0 -8
  243. package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +0 -8
  244. package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +0 -8
  245. package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +0 -8
  246. package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +0 -8
  247. package/lib/icons/social/slack-logo/slack-logo.stories.d.ts +0 -8
  248. package/lib/icons/status/check-circled-icon/check-circled-icon.stories.d.ts +0 -8
  249. package/lib/icons/status/check-icon/check-icon.stories.d.ts +0 -8
  250. package/lib/icons/status/cross-circled-icon/cross-circled-icon.stories.d.ts +0 -8
  251. package/lib/icons/status/cross-icon/cross-icon.stories.d.ts +0 -8
  252. package/lib/icons/status/error-round-icon/error-round-icon.stories.d.ts +0 -8
  253. package/lib/icons/status/error-triangle-icon/error-triangle-icon.stories.d.ts +0 -8
  254. package/lib/icons/status/info-icon/info-icon.stories.d.ts +0 -8
  255. package/lib/icons/status/warning-triangle-icon/warning-triangle-icon.stories.d.ts +0 -8
  256. package/lib/index-IvGLauAo.js +0 -683
  257. package/lib/useSourceSelectionFormData-R_uK7F7W.js +0 -563
  258. /package/lib/containers/source-selection-form/{fast/controls → controls}/index.d.ts +0 -0
  259. /package/lib/containers/source-selection-form/{fast/list → list}/index.d.ts +0 -0
package/lib/containers.js CHANGED
@@ -1,24 +1,31 @@
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';
4
3
  import { D as DISPLAY_TITLES, F as FORM_ALERTS } from './index-C_0J5P9M.js';
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';
4
+ import { f as DataCardFieldTypes, q as FieldLabel, b as Checkbox, p as FieldError, w as Input, y as InputTable, K as KeyValueInputsList, x as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, G 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, a1 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, F as FlexRow, X as Tooltip, t as IconWrapped, H as MonitorsIcons, a2 as TableContainer, a3 as TableTitleWrap, s as IconTitleBadge, a4 as TableWrap, z as InteractiveTable, $ as CenterThis, J as NoDataFound, _ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a5 as getDefaultExportFromCjs, o as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, u as IconsNav, r as IconGroup } from './index-BiNX-Cge.js';
5
+ import { A as ActionType, C as CodeAttributesKeyTypes, P as PayloadCollectionKeyTypes, I as InstrumentationRuleType } from './index-RBS1MqCQ.js';
8
6
  import Theme from './theme.js';
9
7
  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';
8
+ 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';
9
+ import { i as CheckCircledIcon, O as OdigosLogo } from './index-BsH_egEe.js';
10
+ import { b as usePendingStore, u as useFilterStore, c as useSelectedStore, a as useInstrumentStore } from './useSelectedStore-93bIo1kE.js';
11
+ import { c as useNotificationStore, u as useDrawerStore, a as useEntityStore, b as useModalStore, d as useSetupStore } from './useSetupStore-CoYx1UQw.js';
12
+ import { b as useKeyDown, c as useOnClickOutside, u as useContainerSize, d as useTransition, a as useCopy } from './useTransition-D0wUpPGk.js';
13
+ import { E as EntityTypes, S as StatusType, C as Crud, O as OtherStatus, F as FieldTypes } from './index-BVVVevuY.js';
14
+ 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';
15
+ import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, e as useInstrumentationRuleFormData, h as useTimeAgo, b as useClickNotification, f as useSourceFormData, g as useSourceSelectionFormData } from './useTimeAgo-weEj7br6.js';
16
+ import { A as ACTION_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-G4WmxXds.js';
17
+ import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-C3nz3TIx.js';
18
+ import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-BxQTUOME.js';
19
+ 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-BQW5EUgp.js';
18
20
  import require$$1 from 'use-sync-external-store/shim';
19
21
  import { createPortal } from 'react-dom';
20
- import { O as OdigosLogo } from './index-BGlk5VhF.js';
22
+ import { N as NodeTypes, A as AddNodeTypes, E as EdgeTypes } from './index-B72aw6tI.js';
23
+ import { g as getEntityId } from './index-BQs4sULy.js';
24
+ import { M as MONITORS_OPTIONS } from './index-C1PCuZgw.js';
25
+ import { S as SignalType } from './index-DbfrGXPH.js';
21
26
  import { R as RulesIcon, W as SourcesIcon, y as ActionsIcon, z as DestinationsIcon } from './index-DB8Djrsy.js';
27
+ import { u as useDarkMode } from './useDarkMode-DxhIuVNi.js';
28
+ import './index-BWqrekK4.js';
22
29
  import 'babel-runtime/helpers/extends';
23
30
  import 'babel-runtime/core-js/object/get-prototype-of';
24
31
  import 'babel-runtime/helpers/classCallCheck';
@@ -26,7 +33,37 @@ import 'babel-runtime/helpers/createClass';
26
33
  import 'babel-runtime/helpers/possibleConstructorReturn';
27
34
  import 'babel-runtime/helpers/inherits';
28
35
  import 'object-assign';
29
- import './index-7-KCQK-x.js';
36
+ import './react-CjImwkhV.js';
37
+ import './index-Hz7AAE0t.js';
38
+ import './index-CIXQeSHu.js';
39
+ import './index-CIgHU72d.js';
40
+
41
+ function styleInject(css, ref) {
42
+ if ( ref === void 0 ) ref = {};
43
+ var insertAt = ref.insertAt;
44
+
45
+ if (typeof document === 'undefined') { return; }
46
+
47
+ var head = document.head || document.getElementsByTagName('head')[0];
48
+ var style = document.createElement('style');
49
+ style.type = 'text/css';
50
+
51
+ if (insertAt === 'top') {
52
+ if (head.firstChild) {
53
+ head.insertBefore(style, head.firstChild);
54
+ } else {
55
+ head.appendChild(style);
56
+ }
57
+ } else {
58
+ head.appendChild(style);
59
+ }
60
+
61
+ if (style.styleSheet) {
62
+ style.styleSheet.cssText = css;
63
+ } else {
64
+ style.appendChild(document.createTextNode(css));
65
+ }
66
+ }
30
67
 
31
68
  const buildCard$3 = (action) => {
32
69
  const { type, spec: { actionName, notes, signals, disabled, collectContainerAttributes, collectWorkloadId, collectClusterId, labelsAttributes, annotationsAttributes, clusterAttributes, attributeNamesToDelete, renames, piiCategories, fallbackSamplingRatio, samplingPercentage, endpointsFilters, }, } = action;
@@ -307,7 +344,7 @@ const CustomFields$1 = ({ actionType, value, setValue, formErrors }) => {
307
344
  return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
308
345
  };
309
346
 
310
- const Container$m = styled.div `
347
+ const Container$l = styled.div `
311
348
  display: flex;
312
349
  flex-direction: column;
313
350
  gap: 24px;
@@ -318,7 +355,7 @@ const FieldTitle$1 = styled(Text) `
318
355
  `;
319
356
  const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }) => {
320
357
  const theme = Theme.useTheme();
321
- return (React.createElement(Container$m, null,
358
+ return (React.createElement(Container$l, null,
322
359
  isUpdate && (React.createElement("div", null,
323
360
  React.createElement(FieldTitle$1, null, "Status"),
324
361
  React.createElement(Segment, { options: [
@@ -332,7 +369,7 @@ const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }
332
369
  React.createElement(TextArea, { title: 'Notes', value: formData['notes'], onChange: ({ target: { value } }) => handleFormChange('notes', value), errorMessage: formErrors['notes'] })));
333
370
  };
334
371
 
335
- const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip, icon, iconSrc, isEdit = false, isFormDirty = false, isLastItem = false, onEdit, onSave, onDelete, onCancel, tabs }, drawerRef) => {
372
+ const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip, icons, iconSrcs, isEdit = false, isFormDirty = false, isLastItem = false, onEdit, onSave, onDelete, onCancel, tabs }, drawerRef) => {
336
373
  const theme = Theme.useTheme();
337
374
  const { isThisPending } = usePendingStore();
338
375
  const { addNotification } = useNotificationStore();
@@ -420,8 +457,8 @@ const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip,
420
457
  });
421
458
  return (React.createElement(React.Fragment, null,
422
459
  React.createElement(Drawer, { isOpen: true, onClose: isEdit ? clickCancel : closeDrawer, closeOnEscape: !isDeleteModalOpen && !isCancelModalOpen, width: `${width + 64}px`, header: {
423
- icon,
424
- iconSrc,
460
+ icons,
461
+ iconSrcs,
425
462
  title,
426
463
  titleTooltip,
427
464
  replaceTitleWith: !isSource && isEdit ? React.createElement(EditTitle, { ref: titleRef, title: title }) : undefined,
@@ -528,7 +565,7 @@ const ActionDrawer = ({ updateAction, deleteAction }) => {
528
565
  setIsFormDirty(false);
529
566
  }
530
567
  };
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,
568
+ 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
569
  React.createElement(ActionForm, { isUpdate: true, action: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
533
570
  setIsFormDirty(true);
534
571
  handleFormChange(...params);
@@ -746,7 +783,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
746
783
  React.createElement(NoDataFound, null)))));
747
784
  };
748
785
 
749
- const Container$l = styled(FlexColumn) `
786
+ const Container$k = styled(FlexColumn) `
750
787
  // width: 100vw;
751
788
  // height: 100vh;
752
789
  gap: 64px;
@@ -780,7 +817,7 @@ const AwaitPipeline = () => {
780
817
  useEffect(() => {
781
818
  awaitPipeline();
782
819
  }, []);
783
- return (React.createElement(Container$l, null,
820
+ return (React.createElement(Container$k, null,
784
821
  React.createElement(OdigosLogoText, { size: 100 }),
785
822
  React.createElement(TraceLoader, { width: 400 }),
786
823
  React.createElement(TextWrap, null,
@@ -1060,7 +1097,7 @@ const KindDropdown = ({ title = 'Kind', value, onSelect, onDeselect, ...props })
1060
1097
  return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
1061
1098
  };
1062
1099
 
1063
- const Container$k = styled.div `
1100
+ const Container$j = styled.div `
1064
1101
  display: flex;
1065
1102
  align-items: center;
1066
1103
  margin: 20px 0;
@@ -1080,7 +1117,7 @@ const ComputePlatformsActionsMenu = ({ connections }) => {
1080
1117
  useEffect(() => {
1081
1118
  return () => clearAll();
1082
1119
  }, [clearAll]);
1083
- return (React.createElement(Container$k, null,
1120
+ return (React.createElement(Container$j, null,
1084
1121
  React.createElement(FlexRow, { "$gap": 16 },
1085
1122
  React.createElement(FlexRow, { "$gap": 12 },
1086
1123
  React.createElement(Title$1, null, "Compute platforms"),
@@ -12332,7 +12369,7 @@ ControlsComponent.displayName = 'Controls';
12332
12369
  * @remarks To extend or customise the controls, you can use the [`<ControlButton />`](/api-reference/components/control-button) component
12333
12370
  *
12334
12371
  */
12335
- const Controls$2 = memo(ControlsComponent);
12372
+ const Controls$1 = memo(ControlsComponent);
12336
12373
 
12337
12374
  function MiniMapNodeComponent({ id, x, y, width, height, style, color, strokeColor, strokeWidth, className, borderRadius, shapeRendering, selected, onClick, }) {
12338
12375
  const { background, backgroundColor } = style || {};
@@ -12643,7 +12680,7 @@ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle
12643
12680
  */
12644
12681
  memo(ResizeControl);
12645
12682
 
12646
- const Container$j = styled(FlexColumn) `
12683
+ const Container$i = styled(FlexColumn) `
12647
12684
  align-items: center !important;
12648
12685
  justify-content: center;
12649
12686
  align-self: stretch;
@@ -12680,7 +12717,7 @@ const AddNode = memo(({ id: nodeId, data }) => {
12680
12717
  const { isThisPending } = usePendingStore();
12681
12718
  const entity = nodeId.split('-')[0];
12682
12719
  const isPending = isThisPending({ entityType: entity });
12683
- return (React.createElement(Container$j, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12720
+ return (React.createElement(Container$i, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12684
12721
  isPending ? (React.createElement(Fragment, null,
12685
12722
  React.createElement(TitleWrapper, null,
12686
12723
  React.createElement(FadeLoader, null),
@@ -12697,17 +12734,23 @@ const AddNode = memo(({ id: nodeId, data }) => {
12697
12734
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } })));
12698
12735
  });
12699
12736
 
12700
- const Container$i = styled.div `
12737
+ const Container$h = styled.div `
12701
12738
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12702
12739
  `;
12703
12740
  const BaseNode = memo(({ id: nodeId, data }) => {
12741
+ const theme = Theme.useTheme();
12704
12742
  const { nodeWidth, id: entityId, type: entityType, status, faded, title, subTitle, icon, icons, iconSrc, iconSrcs, monitors, isActive, raw } = data;
12705
12743
  const isSource = entityType === EntityTypes.Source;
12744
+ const hasActiveBoolean = typeof isActive === 'boolean';
12706
12745
  const { isThisPending } = usePendingStore();
12707
12746
  const isPending = isThisPending({ entityType, entityId });
12708
12747
  const renderActions = () => {
12748
+ const StatusIcon = hasActiveBoolean ? getStatusIcon(isActive ? StatusType.Success : StatusType.Info, theme) : status && getStatusIcon(status, theme);
12749
+ const statusTooltipText = hasActiveBoolean ? `${entityType} is ${isActive ? 'active' : 'inactive'}` : undefined;
12709
12750
  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));
12751
+ // TODO: handle action/icon to apply instrumentation-rules for individual sources (@Notion GEN-1650)
12752
+ return isPending ? (React.createElement(FadeLoader, null)) : StatusIcon ? (React.createElement(Tooltip, { text: statusTooltipText },
12753
+ React.createElement(StatusIcon, { size: 20 }))) : sourceIsInstrumenting ? (React.createElement(FadeLoader, null)) : null;
12711
12754
  };
12712
12755
  const { selectedSources, setSelectedSources } = useSelectedStore();
12713
12756
  const namespaces = { ...selectedSources };
@@ -12724,7 +12767,7 @@ const BaseNode = memo(({ id: nodeId, data }) => {
12724
12767
  }
12725
12768
  setSelectedSources(namespaces);
12726
12769
  };
12727
- return (React.createElement(Container$i, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12770
+ return (React.createElement(Container$h, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12728
12771
  React.createElement(DataTab, { title: title, subTitle: subTitle, onClick: () => { }, renderActions: renderActions, iconProps: {
12729
12772
  icon: icon,
12730
12773
  icons: icons,
@@ -12732,9 +12775,8 @@ const BaseNode = memo(({ id: nodeId, data }) => {
12732
12775
  iconSrcs: iconSrcs,
12733
12776
  }, visualProps: {
12734
12777
  status: status,
12735
- faded: faded,
12778
+ faded: faded || (hasActiveBoolean && !isActive),
12736
12779
  monitors: monitors,
12737
- isActive: isActive,
12738
12780
  }, checkboxProps: {
12739
12781
  withCheckbox: isSource,
12740
12782
  isChecked: sourceIndex !== -1,
@@ -12745,19 +12787,19 @@ const BaseNode = memo(({ id: nodeId, data }) => {
12745
12787
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } })));
12746
12788
  });
12747
12789
 
12748
- const Container$h = styled.div `
12790
+ const Container$g = styled.div `
12749
12791
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12750
12792
  height: ${({ $nodeHeight }) => `${$nodeHeight}px`};
12751
12793
  opacity: 0;
12752
12794
  `;
12753
12795
  const EdgedNode = memo(({ data }) => {
12754
12796
  const { nodeWidth, nodeHeight } = data;
12755
- return (React.createElement(Container$h, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12797
+ return (React.createElement(Container$g, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12756
12798
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
12757
12799
  React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
12758
12800
  });
12759
12801
 
12760
- const Container$g = styled.div `
12802
+ const Container$f = styled.div `
12761
12803
  width: ${({ $nodeWidth }) => $nodeWidth}px;
12762
12804
  height: ${({ $nodeHeight }) => $nodeHeight}px;
12763
12805
  background: transparent;
@@ -12766,12 +12808,12 @@ const Container$g = styled.div `
12766
12808
  `;
12767
12809
  const FrameNode = memo(({ data }) => {
12768
12810
  const { nodeWidth, nodeHeight } = data;
12769
- return (React.createElement(Container$g, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12811
+ return (React.createElement(Container$f, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12770
12812
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
12771
12813
  React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
12772
12814
  });
12773
12815
 
12774
- const Container$f = styled.div `
12816
+ const Container$e = styled.div `
12775
12817
  position: relative;
12776
12818
  z-index: 1;
12777
12819
  width: ${({ $nodeWidth }) => $nodeWidth}px;
@@ -12832,7 +12874,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
12832
12874
  current?.addEventListener('scroll', handleScroll);
12833
12875
  return () => current?.removeEventListener('scroll', handleScroll);
12834
12876
  }, [onScroll]);
12835
- return (React.createElement(Container$f, { ref: containerRef, "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12877
+ return (React.createElement(Container$e, { ref: containerRef, "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
12836
12878
  items.map((item) => (React.createElement(BaseNodeWrapper, { key: item.id, "$framePadding": item.data.framePadding, onClick: (e) => {
12837
12879
  e.stopPropagation();
12838
12880
  // @ts-ignore
@@ -12842,7 +12884,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
12842
12884
  React.createElement(LoadMoreWrapper, { "$hide": isBottomOfList })));
12843
12885
  });
12844
12886
 
12845
- const Container$e = styled.div `
12887
+ const Container$d = styled.div `
12846
12888
  position: relative;
12847
12889
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12848
12890
  padding: 12px 0px 16px 0px;
@@ -12911,7 +12953,7 @@ const HeaderNode = memo(({ id: nodeId, data }) => {
12911
12953
  setSelectedSources({});
12912
12954
  }
12913
12955
  };
12914
- return (React.createElement(Container$e, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12956
+ return (React.createElement(Container$d, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12915
12957
  entityType === EntityTypes.Source && (React.createElement(SelectorWrapper, null,
12916
12958
  React.createElement(Checkbox, { partiallyChecked: hasSelected && sources?.length !== totalSelectedSources, value: hasSelected && sources?.length === totalSelectedSources, onChange: onSelect, disabled: !sources?.length }))),
12917
12959
  React.createElement(IconTitleBadge, { icon: Icon, title: title, badge: isSourceAwaitingInstrumentation ? `${instrumentingPercent}%` : badge, badgeTooltip: badgeTooltip, loading: isFetching && !isSourceAwaitingInstrumentation }),
@@ -12973,12 +13015,12 @@ const LabeledEdge = memo(({ id, sourceX, sourceY, targetX, targetY, sourcePositi
12973
13015
  React.createElement(Tooltip, { text: 'Heads up! The data-flow metrics you see are calculated over 10-second intervals.' }, data?.label)))));
12974
13016
  });
12975
13017
 
12976
- const Container$d = styled.div `
13018
+ const Container$c = styled.div `
12977
13019
  width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
12978
13020
  `;
12979
13021
  const SkeletonNode = memo(({ id: nodeId, data }) => {
12980
13022
  const { nodeWidth } = data;
12981
- return (React.createElement(Container$d, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
13023
+ return (React.createElement(Container$c, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
12982
13024
  React.createElement(SkeletonLoader, { size: 3 })));
12983
13025
  });
12984
13026
 
@@ -13020,7 +13062,7 @@ const Flow = ({ nodes, edges, onNodesChange, onEdgesChange }) => {
13020
13062
  return (React.createElement(FlowWrapper, null,
13021
13063
  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
13064
  React.createElement(ControllerWrapper, null,
13023
- React.createElement(Controls$2, { position: 'bottom-right', orientation: 'horizontal', showInteractive: false, showZoom: true, showFitView: true, fitViewOptions: {
13065
+ React.createElement(Controls$1, { position: 'bottom-right', orientation: 'horizontal', showInteractive: false, showZoom: true, showFitView: true, fitViewOptions: {
13024
13066
  duration: 300,
13025
13067
  padding: 0.02,
13026
13068
  includeHiddenNodes: true,
@@ -13483,7 +13525,7 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
13483
13525
  return nodes;
13484
13526
  };
13485
13527
 
13486
- const Container$c = styled.div `
13528
+ const Container$b = styled.div `
13487
13529
  width: 100%;
13488
13530
  height: ${({ $heightToRemove }) => `calc(100vh - ${$heightToRemove})`};
13489
13531
  position: relative;
@@ -13556,7 +13598,7 @@ const DataFlow = ({ heightToRemove, metrics }) => {
13556
13598
  });
13557
13599
  handleNodesChanged(ruleNodes, EntityTypes.InstrumentationRule);
13558
13600
  }, [instrumentationRules, instrumentationRulesLoading, positions[EntityTypes.InstrumentationRule]]);
13559
- return (React.createElement(Container$c, { ref: containerRef, "$heightToRemove": heightToRemove },
13601
+ return (React.createElement(Container$b, { ref: containerRef, "$heightToRemove": heightToRemove },
13560
13602
  React.createElement(Flow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange })));
13561
13603
  };
13562
13604
 
@@ -13695,7 +13737,7 @@ const FormWrapper = styled.div `
13695
13737
  gap: 12px;
13696
13738
  padding: 12px;
13697
13739
  `;
13698
- const ToggleWrapper$1 = styled.div `
13740
+ const ToggleWrapper = styled.div `
13699
13741
  padding: 12px 6px 6px 6px;
13700
13742
  `;
13701
13743
  const Actions = styled.div `
@@ -13768,7 +13810,7 @@ const Filters$1 = () => {
13768
13810
  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
13811
  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
13812
  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,
13813
+ React.createElement(ToggleWrapper, null,
13772
13814
  React.createElement(Toggle, { title: 'Show only sources with errors', initialValue: filters['onlyErrors'], onChange: (bool) => setFilters((prev) => ({ ...prev, errors: [], onlyErrors: bool })) })),
13773
13815
  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
13816
  React.createElement(Actions, null,
@@ -13778,7 +13820,7 @@ const Filters$1 = () => {
13778
13820
  React.createElement(ActionButton$1, { variant: 'tertiary', onClick: onReset, "$color": theme.text.error }, "Reset"))))));
13779
13821
  };
13780
13822
 
13781
- const Container$b = styled.div `
13823
+ const Container$a = styled.div `
13782
13824
  display: flex;
13783
13825
  align-items: center;
13784
13826
  margin: 20px 0;
@@ -13800,7 +13842,7 @@ const AddButton = styled(Button) `
13800
13842
  const DataFlowActionsMenu = ({ addEntity }) => {
13801
13843
  const theme = Theme.useTheme();
13802
13844
  const { setCurrentModal } = useModalStore();
13803
- return (React.createElement(Container$b, null,
13845
+ return (React.createElement(Container$a, null,
13804
13846
  React.createElement(Search, null),
13805
13847
  React.createElement(Filters$1, null),
13806
13848
  addEntity && (React.createElement(PushToEnd, null,
@@ -13864,7 +13906,7 @@ const DynamicFields = ({ fields, onChange, formErrors }) => {
13864
13906
  case FieldTypes.Input:
13865
13907
  return React.createElement(Input, { key: field.name, ...rest, onChange: (e) => onChange(field.name, e.target.value), errorMessage: formErrors[field.name] });
13866
13908
  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] }));
13909
+ 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
13910
  case FieldTypes.MultiInput:
13869
13911
  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
13912
  case FieldTypes.KeyValuePair:
@@ -13918,7 +13960,7 @@ const TestConnection = ({ destination, disabled, status, onError, onSuccess, val
13918
13960
  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
13961
  };
13920
13962
 
13921
- const Container$a = styled.div `
13963
+ const Container$9 = styled.div `
13922
13964
  display: flex;
13923
13965
  flex-direction: column;
13924
13966
  gap: 24px;
@@ -13988,7 +14030,7 @@ const DestinationForm = ({ isUpdate, categoryItem, formData, formErrors, validat
13988
14030
  traces: signals.includes(SignalType.Traces),
13989
14031
  });
13990
14032
  };
13991
- return (React.createElement(Container$a, null,
14033
+ return (React.createElement(Container$9, null,
13992
14034
  !isUpdate && (React.createElement(React.Fragment, null,
13993
14035
  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
14036
  setIsFormDirty(false);
@@ -14096,7 +14138,7 @@ const DestinationDrawer = ({ categories, updateDestination, deleteDestination, t
14096
14138
  setIsFormDirty(false);
14097
14139
  }
14098
14140
  };
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,
14141
+ 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
14142
  React.createElement(DestinationForm, { isUpdate: true, categoryItem: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
14101
14143
  setIsFormDirty(true);
14102
14144
  handleFormChange(...params);
@@ -14152,7 +14194,7 @@ const PotentialDestinationsList = ({ items, setSelectedItem }) => {
14152
14194
  })));
14153
14195
  };
14154
14196
 
14155
- const Container$9 = styled.div `
14197
+ const Container$8 = styled.div `
14156
14198
  display: flex;
14157
14199
  flex-direction: column;
14158
14200
  gap: 24px;
@@ -14178,7 +14220,7 @@ const ListsContainer = styled.div `
14178
14220
  max-height: calc(100vh - 400px);
14179
14221
  }
14180
14222
  `;
14181
- const NoDataFoundWrapper$2 = styled(Container$9) `
14223
+ const NoDataFoundWrapper$1 = styled(Container$8) `
14182
14224
  margin-top: 80px;
14183
14225
  `;
14184
14226
  const DROPDOWN_OPTIONS = [
@@ -14207,7 +14249,7 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
14207
14249
  }, [categories, search, selectedCategory, selectedMonitors]);
14208
14250
  if (hidden)
14209
14251
  return null;
14210
- return (React.createElement(Container$9, null,
14252
+ return (React.createElement(Container$8, null,
14211
14253
  React.createElement(SectionTitle, { title: 'Choose destination', description: 'Add backend destination you want to connect with Odigos.' }),
14212
14254
  React.createElement(Filters, null,
14213
14255
  React.createElement(WidthConstraint, null,
@@ -14216,13 +14258,13 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
14216
14258
  React.createElement(Dropdown, { options: DROPDOWN_OPTIONS, value: selectedCategory, onSelect: (opt) => setSelectedCategory(opt), onDeselect: () => { } })),
14217
14259
  React.createElement(MonitorsCheckboxes, { title: '', selectedSignals: selectedMonitors, setSelectedSignals: setSelectedMonitors })),
14218
14260
  React.createElement(Divider, null),
14219
- !filteredDestinations.length && !potentialDestinations.length ? (React.createElement(NoDataFoundWrapper$2, null,
14261
+ !filteredDestinations.length && !potentialDestinations.length ? (React.createElement(NoDataFoundWrapper$1, null,
14220
14262
  React.createElement(NoDataFound, { title: 'No destinations found' }))) : (React.createElement(ListsContainer, null,
14221
14263
  React.createElement(PotentialDestinationsList, { items: potentialDestinations, setSelectedItem: onSelect }),
14222
14264
  React.createElement(DestinationsList, { items: filteredDestinations, setSelectedItem: onSelect })))));
14223
14265
  };
14224
14266
 
14225
- const Container$8 = styled.div `
14267
+ const Container$7 = styled.div `
14226
14268
  display: flex;
14227
14269
  `;
14228
14270
  const SideMenuWrapper = styled.div `
@@ -14305,7 +14347,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
14305
14347
  };
14306
14348
  useKeyDown({ key: 'Enter', active: isOpen }, () => handleSubmit());
14307
14349
  return (React.createElement(Modal, { isOpen: isOpen, onClose: handleClose, header: { title: 'Add Destination' }, actionComponent: React.createElement(NavigationButtons, { buttons: renderHeaderButtons() }) },
14308
- React.createElement(Container$8, null,
14350
+ React.createElement(Container$7, null,
14309
14351
  React.createElement(SideMenuWrapper, null,
14310
14352
  React.createElement(Stepper, { currentStep: !!selectedItem ? 2 : 1, data: [
14311
14353
  { stepNumber: 1, title: 'Destinations' },
@@ -14316,7 +14358,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
14316
14358
  !!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
14359
  };
14318
14360
 
14319
- const Container$7 = styled.div `
14361
+ const Container$6 = styled.div `
14320
14362
  display: flex;
14321
14363
  flex-direction: column;
14322
14364
  align-items: flex-start;
@@ -14329,9 +14371,9 @@ const Container$7 = styled.div `
14329
14371
  `;
14330
14372
  const ConfiguredList = () => {
14331
14373
  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 })))));
14374
+ 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
14375
  };
14334
- const ListItem$1 = ({ item, isLastItem }) => {
14376
+ const ListItem = ({ item, isLastItem }) => {
14335
14377
  const { removeConfiguredDestination } = useSetupStore();
14336
14378
  const [deleteWarning, setDeleteWarning] = useState(false);
14337
14379
  const { icon, iconSrc } = getDestinationIcon(item.type);
@@ -14650,7 +14692,7 @@ const CustomFields = ({ ruleType, value, setValue, formErrors }) => {
14650
14692
  return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
14651
14693
  };
14652
14694
 
14653
- const Container$6 = styled.div `
14695
+ const Container$5 = styled.div `
14654
14696
  display: flex;
14655
14697
  flex-direction: column;
14656
14698
  gap: 24px;
@@ -14661,7 +14703,7 @@ const FieldTitle = styled(Text) `
14661
14703
  `;
14662
14704
  const InstrumentationRuleForm = ({ isUpdate, rule, formData, formErrors, handleFormChange }) => {
14663
14705
  const theme = Theme.useTheme();
14664
- return (React.createElement(Container$6, null,
14706
+ return (React.createElement(Container$5, null,
14665
14707
  isUpdate && (React.createElement("div", null,
14666
14708
  React.createElement(FieldTitle, null, "Status"),
14667
14709
  React.createElement(Segment, { options: [
@@ -14750,7 +14792,7 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
14750
14792
  setIsFormDirty(false);
14751
14793
  }
14752
14794
  };
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,
14795
+ 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
14796
  React.createElement(InstrumentationRuleForm, { isUpdate: true, rule: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
14755
14797
  setIsFormDirty(true);
14756
14798
  handleFormChange(...params);
@@ -14890,7 +14932,7 @@ const InstrumentationRuleTable = ({ maxHeight, maxWidth }) => {
14890
14932
  React.createElement(NoDataFound, null)))));
14891
14933
  };
14892
14934
 
14893
- const Container$5 = styled.div `
14935
+ const Container$4 = styled.div `
14894
14936
  position: fixed;
14895
14937
  bottom: 0;
14896
14938
  left: 50%;
@@ -14907,7 +14949,7 @@ const Container$5 = styled.div `
14907
14949
  const MultiSourceControl = ({ totalSourceCount, uninstrumentSources }) => {
14908
14950
  const theme = Theme.useTheme();
14909
14951
  const Transition = useTransition({
14910
- container: Container$5,
14952
+ container: Container$4,
14911
14953
  animateIn: Theme.animations.slide.in['center'],
14912
14954
  animateOut: Theme.animations.slide.out['center'],
14913
14955
  });
@@ -15256,14 +15298,14 @@ const buildCard = (source) => {
15256
15298
  return arr;
15257
15299
  };
15258
15300
 
15259
- const Container$4 = styled.div `
15301
+ const Container$3 = styled.div `
15260
15302
  display: flex;
15261
15303
  flex-direction: column;
15262
15304
  gap: 24px;
15263
15305
  padding: 4px;
15264
15306
  `;
15265
15307
  const SourceForm = ({ formData, handleFormChange }) => {
15266
- return (React.createElement(Container$4, null,
15308
+ return (React.createElement(Container$3, null,
15267
15309
  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
15310
  };
15269
15311
 
@@ -15331,7 +15373,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
15331
15373
  setIsFormDirty(false);
15332
15374
  setIsEditing(false);
15333
15375
  };
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: [
15376
+ 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
15377
  {
15336
15378
  label: Tabs.Overview,
15337
15379
  onClick: () => setSelectedTab(Tabs.Overview),
@@ -15352,7 +15394,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
15352
15394
  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
15395
  };
15354
15396
 
15355
- const Container$3 = styled.div `
15397
+ const Container$2 = styled.div `
15356
15398
  display: flex;
15357
15399
  flex-direction: column;
15358
15400
  align-items: center;
@@ -15396,7 +15438,7 @@ const AbsoluteWrapper = styled.div `
15396
15438
  const SelectionCount = styled(Text) `
15397
15439
  width: 18px;
15398
15440
  `;
15399
- const NoDataFoundWrapper$1 = styled.div `
15441
+ const NoDataFoundWrapper = styled.div `
15400
15442
  padding: 50px 0;
15401
15443
  display: flex;
15402
15444
  flex-direction: column;
@@ -15406,14 +15448,14 @@ const NoDataFoundWrapper$1 = styled.div `
15406
15448
  max-height: calc(100vh - 360px);
15407
15449
  overflow-y: auto;
15408
15450
  `;
15409
- const List$1 = ({ isModal = false, filterNamespaces, filterSources, selectedNamespace, onSelectNamespace, selectedSources, onSelectSource, selectedFutureApps, onSelectFutureApps, onSelectAll, }) => {
15451
+ const List = ({ isModal = false, filterNamespaces, filterSources, selectedNamespace, onSelectNamespace, selectedSources, onSelectSource, selectedFutureApps, onSelectFutureApps, onSelectAll, }) => {
15410
15452
  const theme = Theme.useTheme();
15411
15453
  const namespaces = filterNamespaces();
15412
15454
  const { namespacesLoading } = useEntityStore();
15413
15455
  if (!namespaces.length) {
15414
- return React.createElement(NoDataFoundWrapper$1, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No namespaces found' }));
15456
+ return React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No namespaces found' }));
15415
15457
  }
15416
- return (React.createElement(Container$3, { "$isModal": isModal }, namespaces.map(([namespace, sources]) => {
15458
+ return (React.createElement(Container$2, { "$isModal": isModal }, namespaces.map(([namespace, sources]) => {
15417
15459
  const sourcesForNamespace = selectedSources[namespace] || [];
15418
15460
  const futureAppsForNamespace = selectedFutureApps[namespace] || false;
15419
15461
  const isNamespaceLoaded = !!sourcesForNamespace.length;
@@ -15449,11 +15491,11 @@ const List$1 = ({ isModal = false, filterNamespaces, filterSources, selectedName
15449
15491
  source.numberOfInstances !== 1 && 's',
15450
15492
  " \u00B7 ",
15451
15493
  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.' }))))));
15494
+ }))) : (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
15495
  })));
15454
15496
  };
15455
15497
 
15456
- const FlexContainer$1 = styled.div `
15498
+ const FlexContainer = styled.div `
15457
15499
  display: flex;
15458
15500
  align-items: center;
15459
15501
  justify-content: space-between;
@@ -15462,133 +15504,19 @@ const FlexContainer$1 = styled.div `
15462
15504
  const SearchWrapper = styled.div `
15463
15505
  width: 444px;
15464
15506
  `;
15465
- const Controls$1 = ({ selectedSources, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly }) => {
15507
+ const Controls = ({ selectedSources, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly }) => {
15466
15508
  const selectedAppsCount = Object.values(selectedSources).reduce((prev, curr) => prev + curr.filter((s) => s.selected).length, 0);
15467
15509
  return (React.createElement(React.Fragment, null,
15468
15510
  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 } },
15511
+ React.createElement(FlexContainer, { style: { marginTop: 24 } },
15470
15512
  React.createElement(SearchWrapper, null,
15471
15513
  React.createElement(Input, { placeholder: 'Search Kubernetes Namespaces', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
15472
15514
  React.createElement(Toggle, { title: 'Show selected only', initialValue: showSelectedOnly, onChange: setShowSelectedOnly })),
15473
15515
  React.createElement(Divider, { margin: '16px 0' })));
15474
15516
  };
15475
15517
 
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) => {
15518
+ const SourceSelectionForm = forwardRef((props, ref) => {
15519
+ const { isModal, selectedNamespace, onSelectNamespace, namespace } = props;
15592
15520
  const formState = useSourceSelectionFormData({ selectedNamespace, onSelectNamespace, namespace });
15593
15521
  const { recordedInitialSources, getApiSourcesPayload, getApiFutureAppsPayload } = formState;
15594
15522
  useImperativeHandle(ref, () => ({
@@ -15598,17 +15526,12 @@ const SourceSelectionForm = forwardRef(({ componentType, isModal, selectedNamesp
15598
15526
  futureApps: getApiFutureAppsPayload(),
15599
15527
  }),
15600
15528
  }));
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
- }
15529
+ return (React.createElement(ModalBody, { "$isNotModal": !isModal },
15530
+ React.createElement(Controls, { ...props, ...formState }),
15531
+ React.createElement(List, { ...props, ...formState })));
15609
15532
  });
15610
15533
 
15611
- const SourceModal = ({ componentType = 'FAST', selectedNamespace, setSelectedNamespace, namespace, persistSources }) => {
15534
+ const SourceModal = ({ selectedNamespace, setSelectedNamespace, namespace, persistSources }) => {
15612
15535
  const { currentModal, setCurrentModal } = useModalStore();
15613
15536
  const isOpen = currentModal === EntityTypes.Source;
15614
15537
  const onSelectNamespace = (ns) => {
@@ -15634,7 +15557,7 @@ const SourceModal = ({ componentType = 'FAST', selectedNamespace, setSelectedNam
15634
15557
  onClick: handleSubmit,
15635
15558
  },
15636
15559
  ] }) },
15637
- React.createElement(SourceSelectionForm, { ref: formRef, componentType: componentType, isModal: true, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, namespace: namespace })));
15560
+ React.createElement(SourceSelectionForm, { ref: formRef, isModal: true, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, namespace: namespace })));
15638
15561
  };
15639
15562
 
15640
15563
  const columns = [
@@ -15935,7 +15858,7 @@ const SystemOverview = ({ tokens, saveToken, fetchDescribeOdigos }) => {
15935
15858
  React.createElement(IconButton, { key: 'cli', onClick: toggleOpen, tooltip: TITLE_TEXT },
15936
15859
  React.createElement(TerminalIcon, { size: 18 })),
15937
15860
  React.createElement(Drawer, { width: DRAWER_WIDTH, isOpen: isOpen, onClose: toggleOpen, header: {
15938
- icon: TerminalIcon,
15861
+ icons: [TerminalIcon],
15939
15862
  title: TITLE_TEXT,
15940
15863
  }, footer: {
15941
15864
  isOpen: false,