@odigos/ui-kit 0.0.24 → 0.0.25

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 (322) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +3 -2
  3. package/lib/components/auto-complete-input/auto-complete-input.stories.d.ts +9 -0
  4. package/lib/components/auto-complete-input/index.d.ts +2 -0
  5. package/lib/components/badge/badge.stories.d.ts +13 -0
  6. package/lib/components/button/button.stories.d.ts +9 -0
  7. package/lib/components/cancel-warning/cancel-warning.stories.d.ts +9 -0
  8. package/lib/components/checkbox/checkbox.stories.d.ts +9 -0
  9. package/lib/components/code/code.stories.d.ts +9 -0
  10. package/lib/components/condition-details/condition-details.stories.d.ts +14 -0
  11. package/lib/components/data-card/data-card-fields/index.d.ts +8 -7
  12. package/lib/components/data-card/data-card.stories.d.ts +11 -0
  13. package/lib/components/data-card/index.d.ts +3 -3
  14. package/lib/components/data-tab/data-tab.stories.d.ts +15 -0
  15. package/lib/components/delete-warning/delete-warning.stories.d.ts +9 -0
  16. package/lib/components/describe-row/describe-row.stories.d.ts +9 -0
  17. package/lib/components/divider/divider.stories.d.ts +9 -0
  18. package/lib/components/docs-button/docs-button.stories.d.ts +9 -0
  19. package/lib/components/drawer/drawer.stories.d.ts +10 -0
  20. package/lib/components/dropdown/dropdown.stories.d.ts +10 -0
  21. package/lib/components/error-boundary/error-boundary.stories.d.ts +9 -0
  22. package/lib/components/extend-arrow/extend-arrow.stories.d.ts +9 -0
  23. package/lib/components/fade-loader/fade-loader.stories.d.ts +9 -0
  24. package/lib/components/field-error/field-error.stories.d.ts +9 -0
  25. package/lib/components/field-label/field-label.stories.d.ts +9 -0
  26. package/lib/components/header/header.stories.d.ts +9 -0
  27. package/lib/components/icon-button/icon-button.stories.d.ts +9 -0
  28. package/lib/components/icon-group/icon-group.stories.d.ts +16 -0
  29. package/lib/components/icon-title-badge/icon-title-badge.stories.d.ts +9 -0
  30. package/lib/components/icon-wrapped/icon-wrapped.stories.d.ts +10 -0
  31. package/lib/components/icons-nav/icons-nav.stories.d.ts +9 -0
  32. package/lib/components/image-controlled/image-controlled.stories.d.ts +9 -0
  33. package/lib/components/index.d.ts +1 -0
  34. package/lib/components/input/input.stories.d.ts +9 -0
  35. package/lib/components/input-list/input-list.stories.d.ts +9 -0
  36. package/lib/components/input-table/input-table.stories.d.ts +9 -0
  37. package/lib/components/interactive-table/interactive-table.stories.d.ts +12 -0
  38. package/lib/components/key-value-input-list/key-value-input-list.stories.d.ts +9 -0
  39. package/lib/components/modal/modal.stories.d.ts +9 -0
  40. package/lib/components/monitors-checkboxes/monitors-checkboxes.stories.d.ts +9 -0
  41. package/lib/components/monitors-icons/monitors-icons.stories.d.ts +9 -0
  42. package/lib/components/navigation-buttons/navigation-buttons.stories.d.ts +9 -0
  43. package/lib/components/no-data-found/no-data-found.stories.d.ts +9 -0
  44. package/lib/components/notification-note/index.d.ts +2 -1
  45. package/lib/components/notification-note/notification-note.stories.d.ts +10 -0
  46. package/lib/components/scroll-x/scroll-x.stories.d.ts +10 -0
  47. package/lib/components/section-title/section-title.stories.d.ts +9 -0
  48. package/lib/components/segment/segment.stories.d.ts +9 -0
  49. package/lib/{containers/data-flow-actions-menu → components}/selection-button/index.d.ts +3 -3
  50. package/lib/components/selection-button/selection-button.stories.d.ts +9 -0
  51. package/lib/components/skeleton-loader/skeleton-loader.stories.d.ts +9 -0
  52. package/lib/components/status/status.stories.d.ts +9 -0
  53. package/lib/components/stepper/stepper.stories.d.ts +9 -0
  54. package/lib/components/styled.d.ts +2 -0
  55. package/lib/components/text/text.stories.d.ts +9 -0
  56. package/lib/components/textarea/textarea.stories.d.ts +9 -0
  57. package/lib/components/toggle/toggle.stories.d.ts +9 -0
  58. package/lib/components/tooltip/tooltip.stories.d.ts +11 -0
  59. package/lib/components/trace-loader/trace-loader.stories.d.ts +9 -0
  60. package/lib/components/warning-modal/warning-modal.stories.d.ts +9 -0
  61. package/lib/components.js +11 -10
  62. package/lib/constants/destinations/index.d.ts +18 -0
  63. package/lib/constants/index.d.ts +1 -0
  64. package/lib/constants/strings/index.d.ts +56 -10
  65. package/lib/constants.js +4 -4
  66. package/lib/containers/action-drawer/action-drawer.stories.d.ts +9 -0
  67. package/lib/containers/action-drawer/build-card.d.ts +1 -7
  68. package/lib/containers/action-form/action-form.stories.d.ts +9 -0
  69. package/lib/containers/action-modal/action-modal.stories.d.ts +9 -0
  70. package/lib/containers/action-table/action-table.stories.d.ts +9 -0
  71. package/lib/containers/await-pipeline/await-pipeline.stories.d.ts +9 -0
  72. package/lib/containers/compute-platform-select/compute-platform-select.stories.d.ts +9 -0
  73. package/lib/containers/compute-platforms/compute-platforms.stories.d.ts +9 -0
  74. package/lib/containers/compute-platforms-actions-menu/compute-platforms-actions-menu.stories.d.ts +9 -0
  75. package/lib/containers/data-flow/data-flow.stories.d.ts +9 -0
  76. package/lib/containers/data-flow-actions-menu/data-flow-actions-menu.stories.d.ts +11 -0
  77. package/lib/containers/data-flow-actions-menu/data-stream-select/index.d.ts +6 -0
  78. package/lib/containers/data-flow-actions-menu/index.d.ts +2 -1
  79. package/lib/containers/data-stream-selection-form/data-stream-selection-form.stories.d.ts +9 -0
  80. package/lib/containers/data-stream-selection-form/index.d.ts +12 -0
  81. package/lib/containers/destination-drawer/build-card.d.ts +1 -7
  82. package/lib/containers/destination-drawer/destination-drawer.stories.d.ts +9 -0
  83. package/lib/containers/destination-drawer/index.d.ts +2 -5
  84. package/lib/containers/destination-form/destination-form.stories.d.ts +9 -0
  85. package/lib/containers/destination-form/index.d.ts +2 -5
  86. package/lib/containers/destination-form/test-connection/index.d.ts +4 -8
  87. package/lib/containers/destination-modal/choose-destination/destinations-list/index.d.ts +2 -1
  88. package/lib/containers/destination-modal/choose-destination/index.d.ts +3 -3
  89. package/lib/containers/destination-modal/destination-modal.stories.d.ts +9 -0
  90. package/lib/containers/destination-modal/index.d.ts +3 -5
  91. package/lib/containers/destination-selection-form/destination-list/index.d.ts +6 -0
  92. package/lib/containers/destination-selection-form/destination-selection-form.stories.d.ts +9 -0
  93. package/lib/containers/destination-selection-form/index.d.ts +6 -9
  94. package/lib/containers/destination-table/destination-table.stories.d.ts +9 -0
  95. package/lib/containers/dropdowns/connection-status-dropdown/connection-status-dropdown.stories.d.ts +9 -0
  96. package/lib/containers/dropdowns/connection-type-dropdown/connection-type-dropdown.stories.d.ts +9 -0
  97. package/lib/containers/dropdowns/error-dropdown/error-dropdown.stories.d.ts +9 -0
  98. package/lib/containers/dropdowns/error-dropdown/index.d.ts +2 -0
  99. package/lib/containers/dropdowns/kind-dropdown/error-dropdown.stories.d.ts +9 -0
  100. package/lib/containers/dropdowns/kind-dropdown/index.d.ts +2 -0
  101. package/lib/containers/dropdowns/language-dropdown/index.d.ts +2 -0
  102. package/lib/containers/dropdowns/language-dropdown/language-dropdown.stories.d.ts +9 -0
  103. package/lib/containers/dropdowns/monitor-dropdown/monitor-dropdown.stories.d.ts +9 -0
  104. package/lib/containers/dropdowns/namespace-dropdown/index.d.ts +2 -0
  105. package/lib/containers/dropdowns/namespace-dropdown/namespace-dropdown.stories.d.ts +9 -0
  106. package/lib/containers/index.d.ts +3 -0
  107. package/lib/containers/instrumentation-rule-drawer/build-card.d.ts +1 -7
  108. package/lib/containers/instrumentation-rule-drawer/instrumentation-rule-drawer.stories.d.ts +9 -0
  109. package/lib/containers/instrumentation-rule-form/instrumentation-rule-form.stories.d.ts +9 -0
  110. package/lib/containers/instrumentation-rule-modal/instrumentation-rule-modal.stories.d.ts +9 -0
  111. package/lib/containers/instrumentation-rule-table/instrumentation-rule-table.stories.d.ts +9 -0
  112. package/lib/containers/multi-source-control/multi-source-control.stories.d.ts +9 -0
  113. package/lib/containers/notification-manager/notification-manager.stories.d.ts +9 -0
  114. package/lib/containers/overview-drawer/overview-drawer.stories.d.ts +9 -0
  115. package/lib/containers/setup-summary/index.d.ts +7 -0
  116. package/lib/containers/setup-summary/setup-summary.stories.d.ts +9 -0
  117. package/lib/containers/side-nav/side-nav.stories.d.ts +9 -0
  118. package/lib/containers/slack-invite/slack-invite.stories.d.ts +9 -0
  119. package/lib/containers/source-drawer/build-card.d.ts +1 -6
  120. package/lib/containers/source-drawer/source-drawer.stories.d.ts +9 -0
  121. package/lib/containers/source-form/source-form.stories.d.ts +9 -0
  122. package/lib/containers/source-modal/index.d.ts +3 -5
  123. package/lib/containers/source-modal/source-modal.stories.d.ts +9 -0
  124. package/lib/containers/source-selection-form/index.d.ts +4 -5
  125. package/lib/containers/source-selection-form/source-list/index.d.ts +8 -0
  126. package/lib/containers/source-selection-form/source-selection-form.stories.d.ts +9 -0
  127. package/lib/containers/source-table/source-table.stories.d.ts +9 -0
  128. package/lib/containers/system-overview/system-overview.stories.d.ts +9 -0
  129. package/lib/containers/table-cell-conditions/table-cell-conditions.stories.d.ts +9 -0
  130. package/lib/containers/toast-list/toast-list.stories.d.ts +9 -0
  131. package/lib/containers/toggle-dark-mode/toggle-dark-mode.stories.d.ts +9 -0
  132. package/lib/containers.js +588 -471
  133. package/lib/functions/filter-destinations-by-stream/index.d.ts +2 -0
  134. package/lib/functions/filter-sources-by-stream/index.d.ts +2 -0
  135. package/lib/functions/index.d.ts +3 -0
  136. package/lib/functions/map-exported-signals/index.d.ts +2 -0
  137. package/lib/functions.js +5 -9
  138. package/lib/hooks/useSourceFormData.d.ts +1 -1
  139. package/lib/hooks/useSourceSelectionFormData.d.ts +9 -17
  140. package/lib/hooks.js +5 -6
  141. package/lib/icons/actions/add-cluster-info-icon/add-cluster-info-icon.stories.d.ts +8 -0
  142. package/lib/icons/actions/delete-attribute-icon/delete-attribute-icon.stories.d.ts +8 -0
  143. package/lib/icons/actions/pii-masking-icon/pii-masking-icon.stories.d.ts +8 -0
  144. package/lib/icons/actions/rename-attribute-icon/rename-attribute-icon.stories.d.ts +8 -0
  145. package/lib/icons/actions/sampler-icon/sampler-icon.stories.d.ts +8 -0
  146. package/lib/icons/brand/odigos-logo/odigos-logo.stories.d.ts +8 -0
  147. package/lib/icons/brand/odigos-logo-text/odigos-logo-text.stories.d.ts +8 -0
  148. package/lib/icons/common/arrow-icon/arrow-icon.stories.d.ts +8 -0
  149. package/lib/icons/common/code-brackets-icon/code-brackets-icon.stories.d.ts +8 -0
  150. package/lib/icons/common/code-icon/code-icon.stories.d.ts +8 -0
  151. package/lib/icons/common/command-icon/command-icon.stories.d.ts +8 -0
  152. package/lib/icons/common/copy-icon/copy-icon.stories.d.ts +8 -0
  153. package/lib/icons/common/edit-icon/edit-icon.stories.d.ts +8 -0
  154. package/lib/icons/common/extend-arrow-icon/extend-arrow-icon.stories.d.ts +8 -0
  155. package/lib/icons/common/filter-icon/filter-icon.stories.d.ts +8 -0
  156. package/lib/icons/common/folder-icon/folder-icon.stories.d.ts +8 -0
  157. package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +8 -0
  158. package/lib/icons/common/key-icon/key-icon.stories.d.ts +8 -0
  159. package/lib/icons/common/list-icon/list-icon.stories.d.ts +8 -0
  160. package/lib/icons/common/no-data-icon/no-data-icon.stories.d.ts +8 -0
  161. package/lib/icons/common/notebook-icon/notebook-icon.stories.d.ts +8 -0
  162. package/lib/icons/common/notification-icon/notification-icon.stories.d.ts +8 -0
  163. package/lib/icons/common/search-icon/search-icon.stories.d.ts +8 -0
  164. package/lib/icons/common/sort-arrows-icon/sort-arrows-icon.stories.d.ts +8 -0
  165. package/lib/icons/common/terminal-icon/terminal-icon.stories.d.ts +8 -0
  166. package/lib/icons/common/trash-icon/trash-icon.stories.d.ts +8 -0
  167. package/lib/icons/common/x-icon/x-icon.stories.d.ts +8 -0
  168. package/lib/icons/compute-platform/k8s-logo/k8s-logo.stories.d.ts +8 -0
  169. package/lib/icons/compute-platform/vm-logo/vm-logo.stories.d.ts +8 -0
  170. package/lib/icons/destinations/alauda-logo/alauda-logo.stories.d.ts +8 -0
  171. package/lib/icons/destinations/alibaba-cloud-logo/alibaba-cloud-logo.stories.d.ts +8 -0
  172. package/lib/icons/destinations/app-dynamics-logo/app-dynamics-logo.stories.d.ts +8 -0
  173. package/lib/icons/destinations/aws-cloudwatch-logo/aws-cloudwatch-logo.stories.d.ts +8 -0
  174. package/lib/icons/destinations/aws-s3-logo/aws-s3-logo.stories.d.ts +8 -0
  175. package/lib/icons/destinations/aws-xray-logo/aws-xray-logo.stories.d.ts +8 -0
  176. package/lib/icons/destinations/axiom-logo/axiom-logo.stories.d.ts +8 -0
  177. package/lib/icons/destinations/better-stack-logo/better-stack-logo.stories.d.ts +8 -0
  178. package/lib/icons/destinations/blob-storage-logo/blob-storage-logo.stories.d.ts +8 -0
  179. package/lib/icons/destinations/bonree-logo/bonree-logo.stories.d.ts +8 -0
  180. package/lib/icons/destinations/causely-logo/causely-logo.stories.d.ts +8 -0
  181. package/lib/icons/destinations/checkly-logo/checkly-logo.stories.d.ts +8 -0
  182. package/lib/icons/destinations/chronosphere-logo/chronosphere-logo.stories.d.ts +8 -0
  183. package/lib/icons/destinations/clickhouse-logo/clickhouse-logo.stories.d.ts +8 -0
  184. package/lib/icons/destinations/coralogix-logo/coralogix-logo.stories.d.ts +8 -0
  185. package/lib/icons/destinations/dash0-logo/dash0-logo.stories.d.ts +8 -0
  186. package/lib/icons/destinations/datadog-logo/datadog-logo.stories.d.ts +8 -0
  187. package/lib/icons/destinations/dynatrace-logo/dynatrace-logo.stories.d.ts +8 -0
  188. package/lib/icons/destinations/elastic-apm-logo/elastic-apm-logo.stories.d.ts +8 -0
  189. package/lib/icons/destinations/elastic-search-logo/elastic-search-logo.stories.d.ts +8 -0
  190. package/lib/icons/destinations/gigapipe-logo/gigapipe-logo.stories.d.ts +8 -0
  191. package/lib/icons/destinations/google-cloud-platform-logo/google-cloud-platform-logo.stories.d.ts +8 -0
  192. package/lib/icons/destinations/google-cloud-storage-logo/google-cloud-storage-logo.stories.d.ts +8 -0
  193. package/lib/icons/destinations/grafana-logo/grafana-logo.stories.d.ts +8 -0
  194. package/lib/icons/destinations/greptime-logo/greptime-logo.stories.d.ts +8 -0
  195. package/lib/icons/destinations/groundcover-logo/groundcover-logo.stories.d.ts +8 -0
  196. package/lib/icons/destinations/honeycomb-logo/honeycomb-logo.stories.d.ts +8 -0
  197. package/lib/icons/destinations/hyperdx-logo/hyperdx-logo.stories.d.ts +8 -0
  198. package/lib/icons/destinations/instana-logo/instana-logo.stories.d.ts +8 -0
  199. package/lib/icons/destinations/jaeger-logo/jaeger-logo.stories.d.ts +8 -0
  200. package/lib/icons/destinations/kafka-logo/kafka-logo.stories.d.ts +8 -0
  201. package/lib/icons/destinations/kloudmate-logo/kloudmate-logo.stories.d.ts +8 -0
  202. package/lib/icons/destinations/last9-logo/last9-logo.stories.d.ts +8 -0
  203. package/lib/icons/destinations/lightstep-logo/lightstep-logo.stories.d.ts +8 -0
  204. package/lib/icons/destinations/logzio-logo/logzio-logo.stories.d.ts +8 -0
  205. package/lib/icons/destinations/loki-logo/loki-logo.stories.d.ts +8 -0
  206. package/lib/icons/destinations/lumigo-logo/lumigo-logo.stories.d.ts +8 -0
  207. package/lib/icons/destinations/middleware-logo/middleware-logo.stories.d.ts +8 -0
  208. package/lib/icons/destinations/new-relic-logo/new-relic-logo.stories.d.ts +8 -0
  209. package/lib/icons/destinations/observe-logo/observe-logo.stories.d.ts +8 -0
  210. package/lib/icons/destinations/one-uptime-logo/one-uptime-logo.stories.d.ts +8 -0
  211. package/lib/icons/destinations/open-observe-logo/open-observe-logo.stories.d.ts +8 -0
  212. package/lib/icons/destinations/open-telemetry-logo/open-telemetry-logo.stories.d.ts +8 -0
  213. package/lib/icons/destinations/ops-verse-logo/ops-verse-logo.stories.d.ts +8 -0
  214. package/lib/icons/destinations/oracle-logo/oracle-logo.stories.d.ts +8 -0
  215. package/lib/icons/destinations/prometheus-logo/prometheus-logo.stories.d.ts +8 -0
  216. package/lib/icons/destinations/qryn-logo/qryn-logo.stories.d.ts +8 -0
  217. package/lib/icons/destinations/quickwit-logo/quickwit-logo.stories.d.ts +8 -0
  218. package/lib/icons/destinations/sentry-logo/sentry-logo.stories.d.ts +8 -0
  219. package/lib/icons/destinations/seq-logo/seq-logo.stories.d.ts +8 -0
  220. package/lib/icons/destinations/signoz-logo/signoz-logo.stories.d.ts +8 -0
  221. package/lib/icons/destinations/splunk-logo/splunk-logo.stories.d.ts +8 -0
  222. package/lib/icons/destinations/sumo-logic-logo/sumo-logic-logo.stories.d.ts +8 -0
  223. package/lib/icons/destinations/telemetry-hub-logo/telemetry-hub-logo.stories.d.ts +8 -0
  224. package/lib/icons/destinations/tempo-logo/tempo-logo.stories.d.ts +8 -0
  225. package/lib/icons/destinations/tingyun-logo/tingyun-logo.stories.d.ts +8 -0
  226. package/lib/icons/destinations/traceloop-logo/traceloop-logo.stories.d.ts +8 -0
  227. package/lib/icons/destinations/uptrace-logo/uptrace-logo.stories.d.ts +8 -0
  228. package/lib/icons/destinations/victoria-metrics-logo/victoria-metrics-logo.stories.d.ts +8 -0
  229. package/lib/icons/instrumentation-rules/code-attributes-icon/code-attributes-icon.stories.d.ts +8 -0
  230. package/lib/icons/instrumentation-rules/payload-collection-icon/payload-collection-icon.stories.d.ts +8 -0
  231. package/lib/icons/math/minus-icon/minus-icon.stories.d.ts +8 -0
  232. package/lib/icons/math/plus-icon/plus-icon.stories.d.ts +8 -0
  233. package/lib/icons/monitors/logs-icon/logs-icon.stories.d.ts +8 -0
  234. package/lib/icons/monitors/metrics-icon/metrics-icon.stories.d.ts +8 -0
  235. package/lib/icons/monitors/traces-icon/traces-icon.stories.d.ts +8 -0
  236. package/lib/icons/on-off/eye-closed-icon/eye-closed-icon.stories.d.ts +8 -0
  237. package/lib/icons/on-off/eye-open-icon/eye-open-icon.stories.d.ts +8 -0
  238. package/lib/icons/on-off/light-off-icon/light-off-icon.stories.d.ts +8 -0
  239. package/lib/icons/on-off/light-on-icon/light-on-icon.stories.d.ts +8 -0
  240. package/lib/icons/on-off/moon-icon/moon-icon.stories.d.ts +8 -0
  241. package/lib/icons/on-off/sun-icon/sun-icon.stories.d.ts +8 -0
  242. package/lib/icons/overview/actions-icon/actions-icon.stories.d.ts +8 -0
  243. package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +8 -0
  244. package/lib/icons/overview/data-streams-icon/data-streams-icon.stories.d.ts +8 -0
  245. package/lib/icons/overview/data-streams-icon/index.d.ts +2 -0
  246. package/lib/icons/overview/destinations-icon/destinations-icon.stories.d.ts +8 -0
  247. package/lib/icons/overview/index.d.ts +1 -0
  248. package/lib/icons/overview/namespaces-icon/namespaces-icon.stories.d.ts +8 -0
  249. package/lib/icons/overview/overview-icon/overview-icon.stories.d.ts +8 -0
  250. package/lib/icons/overview/rules-icon/rules-icon.stories.d.ts +8 -0
  251. package/lib/icons/overview/service-map-icon/service-map-icon.stories.d.ts +8 -0
  252. package/lib/icons/overview/sources-icon/sources-icon.stories.d.ts +8 -0
  253. package/lib/icons/overview/trace-view-icon/trace-view-icon.stories.d.ts +8 -0
  254. package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +8 -0
  255. package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +8 -0
  256. package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +8 -0
  257. package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +8 -0
  258. package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +8 -0
  259. package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +8 -0
  260. package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +8 -0
  261. package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +8 -0
  262. package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +8 -0
  263. package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +8 -0
  264. package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +8 -0
  265. package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +8 -0
  266. package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +8 -0
  267. package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +8 -0
  268. package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +8 -0
  269. package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +8 -0
  270. package/lib/icons/social/slack-logo/slack-logo.stories.d.ts +8 -0
  271. package/lib/icons/status/check-circled-icon/check-circled-icon.stories.d.ts +8 -0
  272. package/lib/icons/status/check-icon/check-icon.stories.d.ts +8 -0
  273. package/lib/icons/status/cross-circled-icon/cross-circled-icon.stories.d.ts +8 -0
  274. package/lib/icons/status/cross-icon/cross-icon.stories.d.ts +8 -0
  275. package/lib/icons/status/error-round-icon/error-round-icon.stories.d.ts +8 -0
  276. package/lib/icons/status/error-triangle-icon/error-triangle-icon.stories.d.ts +8 -0
  277. package/lib/icons/status/info-icon/info-icon.stories.d.ts +8 -0
  278. package/lib/icons/status/warning-triangle-icon/warning-triangle-icon.stories.d.ts +8 -0
  279. package/lib/icons.js +3 -2
  280. package/lib/{index-DwBxpY4g.js → index-BOkleuyi.js} +28 -3
  281. package/lib/{index-C7Y1tYdc.js → index-C0N2DFBu.js} +1 -1
  282. package/lib/{index-B-iLphLA.js → index-C2m4uddS.js} +1 -1
  283. package/lib/{index-DiTtXTRm.js → index-CK8tITRA.js} +25 -2
  284. package/lib/index-CTdoDQzG.js +36 -0
  285. package/lib/index-CWbxXTof.js +11 -0
  286. package/lib/{index-Dylg236O.js → index-CYUrArTm.js} +124 -163
  287. package/lib/{index-KOMAv-TS.js → index-CamnKrev.js} +8 -8
  288. package/lib/index-DE7A6Q_i.js +25 -0
  289. package/lib/index-Dqief9td.js +20 -0
  290. package/lib/{index-D3sp5Hx7.js → index-HOKGoci6.js} +93 -3
  291. package/lib/{data → mock-data}/sources/index.d.ts +1 -0
  292. package/lib/snippets/add-button/index.d.ts +7 -0
  293. package/lib/snippets/edit-button/index.d.ts +7 -0
  294. package/lib/snippets/index.d.ts +3 -0
  295. package/lib/snippets/note-back-to-summary/index.d.ts +6 -0
  296. package/lib/snippets/note-back-to-summary/note-back-to-summary.stories.d.ts +9 -0
  297. package/lib/snippets.js +17 -0
  298. package/lib/store/index.d.ts +1 -0
  299. package/lib/store/useDataStreamStore.d.ts +16 -0
  300. package/lib/store/useSetupStore.d.ts +10 -24
  301. package/lib/store.js +1 -1
  302. package/lib/theme.js +1 -1
  303. package/lib/types/data-streams/index.d.ts +3 -0
  304. package/lib/types/destinations/index.d.ts +14 -2
  305. package/lib/types/index.d.ts +1 -0
  306. package/lib/types/namespaces/index.d.ts +13 -0
  307. package/lib/types/sources/index.d.ts +4 -1
  308. package/lib/{useSourceSelectionFormData-Bec4Ubm7.js → useSourceSelectionFormData-Bxm0NBIy.js} +60 -102
  309. package/lib/{useTransition-D0ykOLrk.js → useTransition-DvT5YNul.js} +2 -2
  310. package/package.json +8 -2
  311. package/lib/containers/destination-modal/choose-destination/potential-destinations-list/index.d.ts +0 -8
  312. package/lib/containers/destination-selection-form/configured-list/index.d.ts +0 -5
  313. package/lib/containers/source-selection-form/controls/index.d.ts +0 -7
  314. package/lib/containers/source-selection-form/list/index.d.ts +0 -9
  315. package/lib/index-C_0J5P9M.js +0 -45
  316. /package/lib/{data → mock-data}/actions/index.d.ts +0 -0
  317. /package/lib/{data → mock-data}/describe/index.d.ts +0 -0
  318. /package/lib/{data → mock-data}/destinations/index.d.ts +0 -0
  319. /package/lib/{data → mock-data}/index.d.ts +0 -0
  320. /package/lib/{data → mock-data}/instrumentation-rules/index.d.ts +0 -0
  321. /package/lib/{data → mock-data}/namespaces/index.d.ts +0 -0
  322. /package/lib/{data → mock-data}/tokens/index.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import { SignalType, ActionType, InstrumentationRuleType } from './types.js';
2
- import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-C7Y1tYdc.js';
2
+ import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-C0N2DFBu.js';
3
3
  import 'react';
4
- import './index-DiTtXTRm.js';
4
+ import './index-CK8tITRA.js';
5
5
  import 'styled-components';
6
6
 
7
7
  const ACTION_OPTIONS = [
@@ -125,4 +125,94 @@ const MONITORS_OPTIONS = [
125
125
  },
126
126
  ];
127
127
 
128
- export { ACTION_OPTIONS as A, INSTRUMENTATION_RULE_OPTIONS as I, MONITORS_OPTIONS as M };
128
+ const FORM_ALERTS = {
129
+ REQUIRED_FIELDS: 'Required fields are missing',
130
+ FIELD_IS_REQUIRED: 'This field is required',
131
+ FORBIDDEN: 'Forbidden',
132
+ ENTERPRISE_ONLY: (str = 'This') => `${str} is an Enterprise feature. Please upgrade your plan.`,
133
+ CANNOT_EDIT_RULE: 'Cannot edit a system-managed instrumentation rule',
134
+ CANNOT_DELETE_RULE: 'Cannot delete a system-managed instrumentation rule',
135
+ LATENCY_HTTP_ROUTE: 'HTTP route must start with a forward slash "/"',
136
+ READONLY_WARNING: "You're not allowed to create/update/delete in readonly mode",
137
+ };
138
+ const DISPLAY_TITLES = {
139
+ NAMESPACE: 'Namespace',
140
+ NAME: 'Name',
141
+ KIND: 'Kind',
142
+ CONNECTION: 'Connection',
143
+ CONNECTIONS: 'Connections',
144
+ ACTION: 'Action',
145
+ ACTIONS: 'Actions',
146
+ ADD_ACTION: 'Add Action',
147
+ ACTION_DETAILS: 'Action Details',
148
+ INSTRUMENTATION_RULE: 'Instrumentation Rule',
149
+ INSTRUMENTATION_RULES: 'Instrumentation Rules',
150
+ ADD_INSTRUMENTATION_RULE: 'Add Instrumentation Rule',
151
+ INSTRUMENTATION_RULE_DETAILS: 'Instrumentation Rule Details',
152
+ DESTINATION: 'Destination',
153
+ DESTINATIONS: 'Destinations',
154
+ ADD_DESTINATION: 'Add Destination',
155
+ ADD_DESTINATIONS: 'Add Destinations',
156
+ ADD_DESTINATION_DESCRIPTION: 'Add a destination to send your telemetry data to. You can add multiple destinations.',
157
+ DESTINATION_DETAILS: 'Destination Details',
158
+ SELECTED_DESTINATIONS: 'Selected Destinations',
159
+ SOURCE: 'Source',
160
+ SOURCES: 'Sources',
161
+ ADD_SOURCE: 'Add Source',
162
+ SOURCE_DETAILS: 'Source Details',
163
+ SELECT_SOURCES: 'Select Sources',
164
+ SELECTED_SOURCES: 'Selected Sources',
165
+ SELECT_SOURCES_DESCRIPTION: 'Select apps to monitor in each namespace. Odigos will instrument them and send telemetry data to your destinations.',
166
+ NO_SOURCES: 'No sources',
167
+ NO_SOURCES_GO_BACK: 'No sources selected. Please go back to select sources.',
168
+ PLEASE_ADD_SOURCE: 'Please add a source',
169
+ NO_SOURCES_NAMESPACE: 'No sources available in this namespace',
170
+ TRY_SEARCH_OR_OTHER_NAMESPACE: 'Try searching again or select another namespace.',
171
+ PLEASE_MAKE_SURE_UNIGNORED_NAMESPACES: 'Please make sure your cluster has unignored namespaces',
172
+ SUMMARY: 'Summary',
173
+ TYPE: 'Type',
174
+ NOTES: 'Notes',
175
+ STATUS: 'Status',
176
+ READONLY: 'Readonly',
177
+ LANGUAGE: 'Language',
178
+ MONITORS: 'Monitors',
179
+ SIGNALS_FOR_PROCESSING: 'Signals for Processing',
180
+ MANAGED_BY_PROFILE: 'Managed by Profile',
181
+ API_TOKEN: 'API Token',
182
+ API_TOKENS: 'API Tokens',
183
+ DESCRIBE_ODIGOS: 'Describe Odigos',
184
+ DESCRIBE_SOURCE: 'Describe Source',
185
+ DETECTED_CONTAINERS: 'Detected Containers',
186
+ DETECTED_CONTAINERS_DESCRIPTION: 'The system automatically instruments the containers it detects with a supported programming language.',
187
+ CONTAINER_NAME: 'Container Name',
188
+ FILTERED_COUNT_TOOLTIP: 'Represents filtered amount, out of total amount',
189
+ STREAM_NAME: 'Name your Data Stream',
190
+ STREAM_NAME_PLACEHOLDER: 'e.g. Highest priority',
191
+ STREAM_DESCRIPTION: 'Provide a clear and descriptive name for your pipeline to ensure its purpose is easily understood by you and your team.',
192
+ STREAM_CONFIRM: 'Confirm your new Data Stream',
193
+ SEARCH_NAMESPACES: 'Search Namespaces',
194
+ SHOW_SELECTED_ONLY: 'Show selected only',
195
+ TO_COLLECT_OTEL_DATA: 'To collect OpenTelemetry data',
196
+ TO_MONITOR_OTEL_DATA: 'To monitor OpenTelemetry data',
197
+ TO_MODIFY_OTEL_DATA: 'To modify OpenTelemetry data',
198
+ QUICK_BACK_TO_SUMMARY: 'When you finish editing you can quickly go back to the summary.',
199
+ GO_TO_SUMMARY: 'Go to summary',
200
+ };
201
+ const BUTTON_TEXTS = {
202
+ ADD: 'Add',
203
+ ADD_NEW: 'Add New',
204
+ NEW: 'New',
205
+ CREATE: 'Create',
206
+ UPDATE: 'Update',
207
+ EDIT: 'Edit',
208
+ DELETE: 'Delete',
209
+ CANCEL: 'Cancel',
210
+ DONE: 'Done',
211
+ SAVE: 'Save',
212
+ BACK: 'Back',
213
+ NEXT: 'Next',
214
+ TEST: 'Test',
215
+ TEST_CONNECTION: 'Test Connection',
216
+ };
217
+
218
+ export { ACTION_OPTIONS as A, BUTTON_TEXTS as B, DISPLAY_TITLES as D, FORM_ALERTS as F, INSTRUMENTATION_RULE_OPTIONS as I, MONITORS_OPTIONS as M };
@@ -4,6 +4,7 @@ export declare const MOCK_SOURCE_JAEGER: {
4
4
  namespace: string;
5
5
  name: string;
6
6
  kind: K8sResourceKind;
7
+ streamNames: never[];
7
8
  selected: boolean;
8
9
  otelServiceName: string;
9
10
  numberOfInstances: number;
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ import { type ButtonProps } from '@/components';
3
+ interface AddButtonProps extends ButtonProps {
4
+ label?: string;
5
+ }
6
+ declare const AddButton: FC<AddButtonProps>;
7
+ export { AddButton, type AddButtonProps };
@@ -0,0 +1,7 @@
1
+ import { type FC } from 'react';
2
+ import { type ButtonProps } from '@/components';
3
+ interface EditButtonProps extends ButtonProps {
4
+ label?: string;
5
+ }
6
+ declare const EditButton: FC<EditButtonProps>;
7
+ export { EditButton, type EditButtonProps };
@@ -0,0 +1,3 @@
1
+ export * from './add-button/index';
2
+ export * from './edit-button/index';
3
+ export * from './note-back-to-summary/index';
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ interface NoteBackToSummaryProps {
3
+ onClick: () => void;
4
+ }
5
+ declare const NoteBackToSummary: FC<NoteBackToSummaryProps>;
6
+ export { NoteBackToSummary, type NoteBackToSummaryProps };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { StoryFn } from '@storybook/react';
3
+ import { type NoteBackToSummaryProps } from '.';
4
+ declare const _default: {
5
+ title: string;
6
+ component: React.FC<NoteBackToSummaryProps>;
7
+ };
8
+ export default _default;
9
+ export declare const Default: StoryFn<NoteBackToSummaryProps>;
@@ -0,0 +1,17 @@
1
+ export { A as AddButton } from './index-CYUrArTm.js';
2
+ export { E as EditButton, N as NoteBackToSummary } from './index-DE7A6Q_i.js';
3
+ import 'react';
4
+ import './theme.js';
5
+ import './index-CK8tITRA.js';
6
+ import './types.js';
7
+ import 'styled-components';
8
+ import './index-BJxaoI0G.js';
9
+ import './index-BZS1ijMm.js';
10
+ import './index-HOKGoci6.js';
11
+ import './index-C0N2DFBu.js';
12
+ import './index-DGel4E-Z.js';
13
+ import './index-C2m4uddS.js';
14
+ import './index-IKusBlIE.js';
15
+ import './useTransition-DvT5YNul.js';
16
+ import 'react-dom';
17
+ import './index-CWbxXTof.js';
@@ -1,4 +1,5 @@
1
1
  export * from './useDarkMode';
2
+ export * from './useDataStreamStore';
2
3
  export * from './useDrawerStore';
3
4
  export * from './useEntityStore';
4
5
  export * from './useFilterStore';
@@ -0,0 +1,16 @@
1
+ import type { DataStream } from '@/types';
2
+ interface IDataStreamState {
3
+ dataStreamsLoading: boolean;
4
+ dataStreams: DataStream[];
5
+ selectedStreamName: string;
6
+ }
7
+ interface IDataStreamStateSetters {
8
+ setDataStreamsLoading: (bool: boolean) => void;
9
+ setDataStreams: (dataStreams: DataStream[]) => void;
10
+ addDataStreams: (dataStreams: DataStream[]) => void;
11
+ removeDataStreams: (dataStreams: DataStream[]) => void;
12
+ setSelectedStreamName: (streamName: string) => void;
13
+ resetDataStreamStore: () => void;
14
+ }
15
+ export declare const useDataStreamStore: import("zustand").UseBoundStore<import("zustand").StoreApi<IDataStreamState & IDataStreamStateSetters>>;
16
+ export {};
@@ -1,44 +1,30 @@
1
- import { type Destination, type DestinationFormData, DestinationTypes, type Source } from '@/types';
1
+ import type { Destination, Source } from '@/types';
2
+ export type AvailableSource = Pick<Source, 'name' | 'kind' | 'selected' | 'numberOfInstances'>;
2
3
  export interface AvailableSourcesByNamespace {
3
- [namespace: string]: Pick<Source, 'name' | 'kind' | 'selected' | 'numberOfInstances'>[];
4
+ [namespace: string]: AvailableSource[];
4
5
  }
6
+ export type SelectedSource = AvailableSource & {
7
+ currentStreamName: string;
8
+ };
5
9
  export interface SourceSelectionFormData {
6
- [namespace: string]: Pick<Source, 'name' | 'kind' | 'selected'>[];
10
+ [namespace: string]: SelectedSource[];
7
11
  }
8
12
  export interface NamespaceSelectionFormData {
9
13
  [namespace: string]: boolean;
10
14
  }
11
- export interface StoredSetupDestination {
12
- type: DestinationTypes;
13
- displayName: string;
14
- category: string;
15
- exportedSignals: Destination['exportedSignals'];
16
- destinationTypeDetails: {
17
- title: string;
18
- value: string;
19
- }[];
20
- }
21
15
  export interface ISetupState {
22
16
  availableSources: AvailableSourcesByNamespace;
23
17
  configuredSources: SourceSelectionFormData;
24
18
  configuredFutureApps: NamespaceSelectionFormData;
25
- configuredDestinations: {
26
- stored: StoredSetupDestination;
27
- form: DestinationFormData;
28
- }[];
19
+ configuredDestinations: Destination[];
29
20
  }
30
21
  interface ISetupStateSetters {
31
22
  setAvailableSources: (payload: ISetupState['availableSources']) => void;
32
23
  setConfiguredSources: (payload: ISetupState['configuredSources']) => void;
33
24
  setConfiguredFutureApps: (payload: ISetupState['configuredFutureApps']) => void;
34
25
  setConfiguredDestinations: (payload: ISetupState['configuredDestinations']) => void;
35
- addConfiguredDestination: (payload: {
36
- stored: StoredSetupDestination;
37
- form: DestinationFormData;
38
- }) => void;
39
- removeConfiguredDestination: (payload: {
40
- type: string;
41
- }) => void;
26
+ addConfiguredDestination: (payload: Destination) => void;
27
+ removeConfiguredDestination: (payload: Destination) => void;
42
28
  resetState: () => void;
43
29
  }
44
30
  export declare const useSetupStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ISetupState & ISetupStateSetters>>;
package/lib/store.js CHANGED
@@ -1,4 +1,4 @@
1
- export { u as useDarkMode, a as useDrawerStore, b as useEntityStore, c as useFilterStore, d as useInstrumentStore, e as useModalStore, f as useNotificationStore, g as usePendingStore, h as useSelectedStore, i as useSetupStore } from './index-DiTtXTRm.js';
1
+ export { u as useDarkMode, a as useDataStreamStore, b as useDrawerStore, c as useEntityStore, d as useFilterStore, e as useInstrumentStore, f as useModalStore, g as useNotificationStore, h as usePendingStore, i as useSelectedStore, j as useSetupStore } from './index-CK8tITRA.js';
2
2
  import './types.js';
3
3
  import 'react';
4
4
  import 'styled-components';
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { u as useDarkMode, j as animations } from './index-DiTtXTRm.js';
2
+ import { u as useDarkMode, l as animations } from './index-CK8tITRA.js';
3
3
  import { ThemeProvider, useTheme } from 'styled-components';
4
4
  import './types.js';
5
5
 
@@ -0,0 +1,3 @@
1
+ export interface DataStream {
2
+ name: string;
3
+ }
@@ -1,6 +1,6 @@
1
1
  import type { Comparison } from '@/functions';
2
2
  import type { DropdownProps } from '@/components';
3
- import { type Condition, FieldTypes } from '../common';
3
+ import { type Condition, FieldTypes, SVG } from '../common';
4
4
  export declare enum DestinationTypes {
5
5
  Alauda = "alauda",
6
6
  AlibabaCloud = "alibabacloud",
@@ -67,6 +67,7 @@ export declare enum DestinationTypes {
67
67
  export interface Destination {
68
68
  id: string;
69
69
  name: string;
70
+ streamNames: string[];
70
71
  exportedSignals: {
71
72
  traces: boolean;
72
73
  metrics: boolean;
@@ -107,6 +108,8 @@ export interface DestinationYamlProperties {
107
108
  }[];
108
109
  }
109
110
  export interface DestinationOption {
111
+ id?: string;
112
+ selected?: boolean;
110
113
  type: Destination['destinationType']['type'];
111
114
  displayName: Destination['destinationType']['displayName'];
112
115
  supportedSignals: Destination['destinationType']['supportedSignals'];
@@ -114,13 +117,15 @@ export interface DestinationOption {
114
117
  fields: DestinationYamlProperties[];
115
118
  }
116
119
  export type DestinationCategories = {
117
- name: 'managed' | 'self hosted';
120
+ icon?: SVG;
121
+ name: string;
118
122
  description: string;
119
123
  items: DestinationOption[];
120
124
  }[];
121
125
  export interface DestinationFormData {
122
126
  type: Destination['destinationType']['type'];
123
127
  name: Destination['destinationType']['displayName'];
128
+ currentStreamName: string;
124
129
  exportedSignals: Destination['exportedSignals'];
125
130
  fields: {
126
131
  key: string;
@@ -138,4 +143,11 @@ export interface DestinationDynamicField {
138
143
  placeholder?: string;
139
144
  options?: DropdownProps['options'];
140
145
  }
146
+ export interface TestConnectionResponse {
147
+ succeeded: boolean;
148
+ message: string;
149
+ reason: string;
150
+ destinationType?: DestinationTypes;
151
+ }
152
+ export type TestConnectionFunc = (payload: DestinationFormData) => Promise<TestConnectionResponse | undefined>;
141
153
  export {};
@@ -2,6 +2,7 @@ export * from './actions';
2
2
  export * from './common';
3
3
  export * from './connection';
4
4
  export * from './data-flow';
5
+ export * from './data-streams';
5
6
  export * from './describe';
6
7
  export * from './destinations';
7
8
  export * from './instrumentation-rules';
@@ -4,3 +4,16 @@ export interface Namespace {
4
4
  selected: boolean;
5
5
  sources?: Source[];
6
6
  }
7
+ export type FetchSingleNamespace = (payload: {
8
+ variables: {
9
+ namespaceName: string;
10
+ };
11
+ }) => Promise<{
12
+ loading: boolean;
13
+ error?: string;
14
+ data?: {
15
+ computePlatform?: {
16
+ k8sActualNamespace?: Namespace;
17
+ };
18
+ };
19
+ }>;
@@ -1,3 +1,4 @@
1
+ import { SelectedSource } from '@/store';
1
2
  import { type Condition, ProgrammingLanguages } from '../common';
2
3
  export declare enum K8sResourceKind {
3
4
  Deployment = "Deployment",
@@ -13,6 +14,7 @@ export interface Source extends WorkloadId {
13
14
  selected: boolean;
14
15
  otelServiceName: string;
15
16
  numberOfInstances?: number;
17
+ streamNames: string[];
16
18
  containers: {
17
19
  containerName: string;
18
20
  language: ProgrammingLanguages;
@@ -25,9 +27,10 @@ export interface Source extends WorkloadId {
25
27
  }
26
28
  export interface SourceFormData {
27
29
  otelServiceName: string;
30
+ currentStreamName: string;
28
31
  }
29
32
  export type PersistSources = (selectAppsList: {
30
- [namespace: string]: Pick<Source, 'name' | 'kind' | 'selected'>[];
33
+ [namespace: string]: SelectedSource[];
31
34
  }, futureSelectAppsList: {
32
35
  [namespace: string]: boolean;
33
36
  }) => void;
@@ -1,11 +1,10 @@
1
1
  import { ActionType, StatusType, AddNodeTypes, EntityTypes, FieldTypes } from './types.js';
2
- import { useState, useEffect, useCallback } from 'react';
3
- import { f as useNotificationStore, e as useModalStore, a as useDrawerStore, b as useEntityStore, i as useSetupStore } from './index-DiTtXTRm.js';
2
+ import { useState, useEffect, useMemo } from 'react';
3
+ import { g as useNotificationStore, f as useModalStore, b as useDrawerStore, c as useEntityStore, a as useDataStreamStore, j as useSetupStore } from './index-CK8tITRA.js';
4
4
  import 'styled-components';
5
5
  import { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
6
- import './index-D3sp5Hx7.js';
7
- import { F as FORM_ALERTS } from './index-C_0J5P9M.js';
8
- import { b as useGenericForm } from './useTransition-D0ykOLrk.js';
6
+ import { F as FORM_ALERTS } from './index-HOKGoci6.js';
7
+ import { b as useGenericForm } from './useTransition-DvT5YNul.js';
9
8
  import { g as getIdFromSseTarget } from './index-7-KCQK-x.js';
10
9
 
11
10
  const INITIAL$2 = {
@@ -345,6 +344,7 @@ const useDestinationFormData = (params) => {
345
344
 
346
345
  const INITIAL = {
347
346
  otelServiceName: '',
347
+ currentStreamName: '',
348
348
  };
349
349
  const useSourceFormData = () => {
350
350
  const { addNotification } = useNotificationStore();
@@ -372,17 +372,48 @@ const useSourceFormData = () => {
372
372
  };
373
373
  };
374
374
 
375
+ const mapSourceToAvailableSource = (source, selectedStreamName, selectAll) => {
376
+ return {
377
+ name: source.name,
378
+ kind: source.kind,
379
+ selected: typeof selectAll === 'boolean' ? selectAll : source.selected && source.streamNames?.includes(selectedStreamName) ? source.selected : false,
380
+ numberOfInstances: source.numberOfInstances,
381
+ };
382
+ };
383
+ const mapSourceToSelectedSource = (source, selectedStreamName, selectAll) => {
384
+ return {
385
+ ...mapSourceToAvailableSource(source, selectedStreamName, selectAll),
386
+ currentStreamName: selectedStreamName,
387
+ };
388
+ };
375
389
  const useSourceSelectionFormData = (params) => {
390
+ const { fetchSingleNamespace } = params || {};
376
391
  const { namespaces } = useEntityStore();
377
- const { selectedNamespace, onSelectNamespace, namespace } = params || {};
392
+ const { selectedStreamName } = useDataStreamStore();
378
393
  // only for "onboarding" - get unsaved values and set to state
379
394
  // (this is to persist the values when user navigates back to this page)
380
395
  const { configuredSources, configuredFutureApps, availableSources } = useSetupStore();
381
396
  // Keeps intial values fetched from API, so we can later filter the user-specific-selections, therebey minimizing the amount of data sent to the API on "persist sources".
382
397
  const [recordedInitialSources, setRecordedInitialSources] = useState(availableSources);
383
- const [selectAllForNamespace, setSelectAllForNamespace] = useState('');
398
+ const [selectedNamespace, setSelectedNamespace] = useState('');
384
399
  const [selectedSources, setSelectedSources] = useState(configuredSources);
385
400
  const [selectedFutureApps, setSelectedFutureApps] = useState(configuredFutureApps);
401
+ const fetchAndSetThisNamespace = (ns, selectAll) => {
402
+ fetchSingleNamespace?.({ variables: { namespaceName: ns } }).then(({ data }) => {
403
+ const { name, sources = [] } = data?.computePlatform?.k8sActualNamespace || {};
404
+ if (!name)
405
+ return;
406
+ // initialize sources for this namespace
407
+ setRecordedInitialSources((prev) => ({
408
+ ...prev,
409
+ [name]: sources.map((s) => mapSourceToAvailableSource(s, selectedStreamName)),
410
+ }));
411
+ setSelectedSources((prev) => ({
412
+ ...prev,
413
+ [name]: typeof selectAll !== 'boolean' && prev[name]?.length ? prev[name] : sources.map((s) => mapSourceToSelectedSource(s, selectedStreamName, selectAll)),
414
+ }));
415
+ });
416
+ };
386
417
  useEffect(() => {
387
418
  if (!!namespaces?.length) {
388
419
  // initialize all states (to avoid undefined errors)
@@ -401,81 +432,16 @@ const useSourceSelectionFormData = (params) => {
401
432
  namespaces.forEach(({ name, selected }) => (payload[name] = payload[name] || selected || false));
402
433
  return payload;
403
434
  });
435
+ namespaces.forEach(({ name }) => fetchAndSetThisNamespace(name));
404
436
  }
405
437
  }, [namespaces]);
406
- useEffect(() => {
407
- if (!!namespace) {
408
- // initialize sources for this namespace
409
- const { name, sources = [] } = namespace;
410
- setRecordedInitialSources((prev) => ({
411
- ...prev,
412
- [name]: sources.map(({ name, kind, selected, numberOfInstances }) => ({
413
- name,
414
- kind,
415
- selected,
416
- numberOfInstances,
417
- })),
418
- }));
419
- setSelectedSources((prev) => ({
420
- ...prev,
421
- [name]: !!prev[name].length
422
- ? prev[name]
423
- : sources.map(({ name, kind, selected, numberOfInstances }) => ({
424
- name,
425
- kind,
426
- selected,
427
- numberOfInstances,
428
- })),
429
- }));
430
- }
431
- }, [namespace]);
432
438
  // form filters
433
439
  const [searchText, setSearchText] = useState('');
434
440
  const [showSelectedOnly, setShowSelectedOnly] = useState(false);
435
- const onSelectAll = useCallback((selected, ns, selectionsByNamespace) => {
436
- // When clicking "select all" on a single namespace
437
- if (!!ns) {
438
- if (!selectionsByNamespace) {
439
- // If the sources are not loaded yet, call the onSelectNamespace to load the sources
440
- onSelectNamespace?.(selected ? ns : '');
441
- // Set the state, so the interval would be able to use the namespace
442
- setSelectAllForNamespace(selected ? ns : '');
443
- }
444
- else if (!!selectionsByNamespace?.[ns]?.length) {
445
- // Clear the state, so the interval would stop
446
- setSelectAllForNamespace('');
447
- }
448
- // Set the selected sources
449
- setSelectedSources((prev) => ({
450
- ...prev,
451
- [ns]: selectionsByNamespace?.[ns]?.map((source) => ({
452
- ...source,
453
- selected,
454
- })) || [],
455
- }));
456
- // setSelectedFutureApps((prev) => ({
457
- // ...prev,
458
- // [ns]: !!selectionsByNamespace?.[ns]?.length ? selected : false,
459
- // }))
460
- }
461
- // When clicking "select all" on all namespaces
462
- else {
463
- setSelectedSources((prev) => {
464
- const payload = { ...prev };
465
- Object.entries(payload).forEach(([key, sources]) => {
466
- payload[key] = sources.map((source) => ({ ...source, selected }));
467
- });
468
- return payload;
469
- });
470
- }
471
- }, [selectedSources]);
472
- // This is to keep trying "select all" per namespace, until the sources are loaded (allows for 1-click, better UX).
473
- useEffect(() => {
474
- if (!!selectAllForNamespace) {
475
- const interval = setInterval(() => onSelectAll(true, selectAllForNamespace, selectedSources), 100);
476
- return () => clearInterval(interval);
477
- }
478
- }, [selectAllForNamespace, onSelectAll]);
441
+ const onSelectNamespace = (ns, selectAll) => {
442
+ setSelectedNamespace((prev) => (prev === ns && typeof selectAll !== 'boolean' ? '' : ns));
443
+ fetchAndSetThisNamespace(ns, selectAll);
444
+ };
479
445
  const onSelectSource = (source, namespace) => {
480
446
  const id = namespace || selectedNamespace;
481
447
  if (!id)
@@ -484,11 +450,11 @@ const useSourceSelectionFormData = (params) => {
484
450
  const foundIdx = arr.findIndex(({ name, kind }) => name === source.name && kind === source.kind);
485
451
  if (foundIdx !== -1) {
486
452
  // Replace the item with a new object to avoid mutating a possibly read-only object
487
- const updatedItem = { ...arr[foundIdx], selected: !arr[foundIdx].selected };
453
+ const updatedItem = { ...arr[foundIdx], selected: !arr[foundIdx].selected, currentStreamName: selectedStreamName };
488
454
  arr[foundIdx] = updatedItem;
489
455
  }
490
456
  else {
491
- arr.push({ ...source, selected: true });
457
+ arr.push({ ...source, selected: true, currentStreamName: selectedStreamName });
492
458
  }
493
459
  setSelectedSources((prev) => ({ ...prev, [id]: arr }));
494
460
  };
@@ -498,21 +464,17 @@ const useSourceSelectionFormData = (params) => {
498
464
  return;
499
465
  setSelectedFutureApps((prev) => ({ ...prev, [id]: bool }));
500
466
  };
501
- const filterNamespaces = (options) => {
502
- const { cancelSearch } = options || {};
503
- const namespaces = Object.entries(selectedSources);
504
- const isSearchOk = (targetText) => cancelSearch || !searchText || targetText.toLowerCase().includes(searchText);
505
- return namespaces.filter(([namespace]) => isSearchOk(namespace));
506
- };
507
- const filterSources = (namespace, options) => {
508
- const { cancelSearch, cancelSelected } = options || {};
509
- const id = namespace || selectedNamespace;
510
- if (!id)
511
- return [];
512
- const isSearchOk = (targetText) => cancelSearch || !searchText || targetText.toLowerCase().includes(searchText);
513
- const isOnlySelectedOk = (sources, compareKey, target) => cancelSelected || !showSelectedOnly || !!sources.find((item) => item[compareKey] === target && item.selected);
514
- return selectedSources[id].filter((source) => isSearchOk(source.name) && isOnlySelectedOk(selectedSources[id], 'name', source.name));
515
- };
467
+ const filteredNamespacesAndSources = useMemo(() => {
468
+ const isSearchOk = (targetText) => !searchText || targetText.toLowerCase().includes(searchText);
469
+ const isOnlySelectedOk = (source) => !showSelectedOnly || source.selected;
470
+ const payload = {};
471
+ const filteredNamespacesMatrix = Object.entries(selectedSources).filter(([ns]) => isSearchOk(ns));
472
+ filteredNamespacesMatrix.forEach(([ns, srcs]) => {
473
+ const filteredSources = srcs.filter((src) => isOnlySelectedOk(src));
474
+ payload[ns] = filteredSources;
475
+ });
476
+ return payload;
477
+ }, [selectedSources, searchText, showSelectedOnly]);
516
478
  // This is to filter the user-specific-selections, therebey minimizing the amount of data sent to the API on "persist sources".
517
479
  const getApiSourcesPayload = () => {
518
480
  const payload = {};
@@ -522,11 +484,7 @@ const useSourceSelectionFormData = (params) => {
522
484
  if (foundInitial?.selected !== source.selected) {
523
485
  if (!payload[namespace])
524
486
  payload[namespace] = [];
525
- payload[namespace].push({
526
- name: source.name,
527
- kind: source.kind,
528
- selected: source.selected,
529
- });
487
+ payload[namespace].push(source);
530
488
  }
531
489
  });
532
490
  });
@@ -545,15 +503,15 @@ const useSourceSelectionFormData = (params) => {
545
503
  };
546
504
  return {
547
505
  recordedInitialSources,
548
- filterNamespaces,
549
- filterSources,
506
+ filteredNamespacesAndSources,
550
507
  getApiSourcesPayload,
551
508
  getApiFutureAppsPayload,
509
+ selectedNamespace,
510
+ onSelectNamespace,
552
511
  selectedSources,
553
512
  onSelectSource,
554
513
  selectedFutureApps,
555
514
  onSelectFutureApps,
556
- onSelectAll,
557
515
  searchText,
558
516
  setSearchText,
559
517
  showSelectedOnly,
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useRef, useEffect, useCallback } from 'react';
2
- import './index-D3sp5Hx7.js';
3
- import { f as useNotificationStore } from './index-DiTtXTRm.js';
2
+ import './index-HOKGoci6.js';
3
+ import { g as useNotificationStore } from './index-CK8tITRA.js';
4
4
  import { CodeAttributesKeyTypes, PayloadCollectionKeyTypes } from './types.js';
5
5
  import styled from 'styled-components';
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
4
4
  "author": "Odigos",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,7 +9,8 @@
9
9
  "scripts": {
10
10
  "dev": "storybook dev -p 6006",
11
11
  "prebuild": "rm -rf lib",
12
- "build": "rollup -c --bundleConfigAsCjs"
12
+ "build": "rollup -c --bundleConfigAsCjs",
13
+ "watch": "rollup -c --bundleConfigAsCjs -w"
13
14
  },
14
15
  "release": {
15
16
  "branches": [
@@ -50,6 +51,11 @@
50
51
  "import": "./lib/icons.js",
51
52
  "require": "./lib/icons.js"
52
53
  },
54
+ "./snippets": {
55
+ "types": "./lib/snippets/index.d.ts",
56
+ "import": "./lib/snippets.js",
57
+ "require": "./lib/snippets.js"
58
+ },
53
59
  "./store": {
54
60
  "types": "./lib/store/index.d.ts",
55
61
  "import": "./lib/store.js",