@odigos/ui-kit 0.0.41 → 0.0.43

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 (269) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/eslint.config.mjs +4 -1
  3. package/lib/components/auto-complete-input/auto-complete-input.stories.d.ts +1 -1
  4. package/lib/components/badge/badge.stories.d.ts +1 -1
  5. package/lib/components/button/button.stories.d.ts +1 -1
  6. package/lib/components/cancel-warning/cancel-warning.stories.d.ts +1 -1
  7. package/lib/components/checkbox/checkbox.stories.d.ts +1 -1
  8. package/lib/components/code/code.stories.d.ts +1 -1
  9. package/lib/components/condition-details/condition-details.stories.d.ts +1 -1
  10. package/lib/components/data-card/data-card-fields/index.d.ts +1 -0
  11. package/lib/components/data-card/data-card-fields/override-runtime.d.ts +9 -0
  12. package/lib/components/data-card/data-card.stories.d.ts +1 -1
  13. package/lib/components/data-tab/data-tab.stories.d.ts +1 -1
  14. package/lib/components/delete-warning/delete-warning.stories.d.ts +1 -1
  15. package/lib/components/describe-row/describe-row.stories.d.ts +1 -1
  16. package/lib/components/divider/divider.stories.d.ts +1 -1
  17. package/lib/components/docs-button/docs-button.stories.d.ts +1 -1
  18. package/lib/components/drawer/drawer.stories.d.ts +1 -1
  19. package/lib/components/dropdown/dropdown.stories.d.ts +1 -1
  20. package/lib/components/dropdown/index.d.ts +4 -2
  21. package/lib/components/error-boundary/error-boundary.stories.d.ts +1 -1
  22. package/lib/components/extend-arrow/extend-arrow.stories.d.ts +1 -1
  23. package/lib/components/fade-loader/fade-loader.stories.d.ts +1 -1
  24. package/lib/components/field-error/field-error.stories.d.ts +1 -1
  25. package/lib/components/field-label/field-label.stories.d.ts +1 -1
  26. package/lib/components/header/header.stories.d.ts +1 -1
  27. package/lib/components/icon-button/icon-button.stories.d.ts +1 -1
  28. package/lib/components/icon-group/icon-group.stories.d.ts +1 -1
  29. package/lib/components/icon-title-badge/icon-title-badge.stories.d.ts +1 -1
  30. package/lib/components/icon-wrapped/icon-wrapped.stories.d.ts +1 -1
  31. package/lib/components/icons-nav/icons-nav.stories.d.ts +1 -1
  32. package/lib/components/image-controlled/image-controlled.stories.d.ts +1 -1
  33. package/lib/components/input/input.stories.d.ts +1 -1
  34. package/lib/components/input-list/input-list.stories.d.ts +1 -1
  35. package/lib/components/input-table/input-table.stories.d.ts +1 -1
  36. package/lib/components/interactive-table/interactive-table.stories.d.ts +1 -1
  37. package/lib/components/key-value-input-list/key-value-input-list.stories.d.ts +1 -1
  38. package/lib/components/modal/modal.stories.d.ts +1 -1
  39. package/lib/components/monitors-checkboxes/monitors-checkboxes.stories.d.ts +1 -1
  40. package/lib/components/monitors-icons/monitors-icons.stories.d.ts +1 -1
  41. package/lib/components/navigation-buttons/navigation-buttons.stories.d.ts +1 -1
  42. package/lib/components/no-data-found/no-data-found.stories.d.ts +1 -1
  43. package/lib/components/notification-note/notification-note.stories.d.ts +1 -1
  44. package/lib/components/scroll-x/scroll-x.stories.d.ts +1 -1
  45. package/lib/components/section-title/section-title.stories.d.ts +1 -1
  46. package/lib/components/segment/segment.stories.d.ts +1 -1
  47. package/lib/components/selection-button/selection-button.stories.d.ts +1 -1
  48. package/lib/components/skeleton-loader/skeleton-loader.stories.d.ts +1 -1
  49. package/lib/components/status/status.stories.d.ts +1 -1
  50. package/lib/components/stepper/stepper.stories.d.ts +1 -1
  51. package/lib/components/text/text.stories.d.ts +1 -1
  52. package/lib/components/textarea/textarea.stories.d.ts +1 -1
  53. package/lib/components/toggle/toggle.stories.d.ts +1 -1
  54. package/lib/components/tooltip/tooltip.stories.d.ts +1 -1
  55. package/lib/components/trace-loader/trace-loader.stories.d.ts +1 -1
  56. package/lib/components/warning-modal/warning-modal.stories.d.ts +1 -1
  57. package/lib/components.js +8 -8
  58. package/lib/constants/index.d.ts +1 -0
  59. package/lib/constants/sources/index.d.ts +4 -0
  60. package/lib/constants/strings/index.d.ts +4 -0
  61. package/lib/constants.js +1 -1
  62. package/lib/containers/action-drawer/action-drawer.stories.d.ts +1 -1
  63. package/lib/containers/action-form/action-form.stories.d.ts +1 -1
  64. package/lib/containers/action-modal/action-modal.stories.d.ts +1 -1
  65. package/lib/containers/action-table/action-table.stories.d.ts +1 -1
  66. package/lib/containers/await-pipeline/await-pipeline.stories.d.ts +1 -1
  67. package/lib/containers/compute-platform-select/compute-platform-select.stories.d.ts +1 -1
  68. package/lib/containers/compute-platforms/compute-platforms.stories.d.ts +1 -1
  69. package/lib/containers/compute-platforms-actions-menu/compute-platforms-actions-menu.stories.d.ts +1 -1
  70. package/lib/containers/data-flow/data-flow.stories.d.ts +1 -1
  71. package/lib/containers/data-flow-actions-menu/data-flow-actions-menu.stories.d.ts +1 -1
  72. package/lib/containers/data-stream-drawer/data-stream-drawer.stories.d.ts +1 -1
  73. package/lib/containers/data-stream-form/data-stream-form.stories.d.ts +1 -1
  74. package/lib/containers/data-stream-selection-form/data-stream-selection-form.stories.d.ts +1 -1
  75. package/lib/containers/destination-drawer/destination-drawer.stories.d.ts +1 -1
  76. package/lib/containers/destination-form/destination-form.stories.d.ts +1 -1
  77. package/lib/containers/destination-modal/destination-modal.stories.d.ts +1 -1
  78. package/lib/containers/destination-selection-form/destination-selection-form.stories.d.ts +1 -1
  79. package/lib/containers/destination-table/destination-table.stories.d.ts +1 -1
  80. package/lib/containers/dropdowns/connection-status-dropdown/connection-status-dropdown.stories.d.ts +1 -1
  81. package/lib/containers/dropdowns/connection-type-dropdown/connection-type-dropdown.stories.d.ts +1 -1
  82. package/lib/containers/dropdowns/error-dropdown/error-dropdown.stories.d.ts +1 -1
  83. package/lib/containers/dropdowns/kind-dropdown/error-dropdown.stories.d.ts +1 -1
  84. package/lib/containers/dropdowns/language-dropdown/language-dropdown.stories.d.ts +1 -1
  85. package/lib/containers/dropdowns/monitor-dropdown/monitor-dropdown.stories.d.ts +1 -1
  86. package/lib/containers/dropdowns/namespace-dropdown/namespace-dropdown.stories.d.ts +1 -1
  87. package/lib/containers/instrumentation-rule-drawer/instrumentation-rule-drawer.stories.d.ts +1 -1
  88. package/lib/containers/instrumentation-rule-form/instrumentation-rule-form.stories.d.ts +1 -1
  89. package/lib/containers/instrumentation-rule-modal/instrumentation-rule-modal.stories.d.ts +1 -1
  90. package/lib/containers/instrumentation-rule-table/instrumentation-rule-table.stories.d.ts +1 -1
  91. package/lib/containers/multi-source-control/multi-source-control.stories.d.ts +1 -1
  92. package/lib/containers/notification-manager/notification-manager.stories.d.ts +1 -1
  93. package/lib/containers/overview-drawer/overview-drawer.stories.d.ts +1 -1
  94. package/lib/containers/setup-summary/setup-summary.stories.d.ts +1 -1
  95. package/lib/containers/side-nav/side-nav.stories.d.ts +1 -1
  96. package/lib/containers/slack-invite/slack-invite.stories.d.ts +1 -1
  97. package/lib/containers/source-drawer/source-drawer.stories.d.ts +1 -1
  98. package/lib/containers/source-form/source-form.stories.d.ts +1 -1
  99. package/lib/containers/source-modal/source-modal.stories.d.ts +1 -1
  100. package/lib/containers/source-selection-form/source-selection-form.stories.d.ts +1 -1
  101. package/lib/containers/source-table/source-table.stories.d.ts +1 -1
  102. package/lib/containers/system-overview/system-overview.stories.d.ts +1 -1
  103. package/lib/containers/table-cell-conditions/table-cell-conditions.stories.d.ts +1 -1
  104. package/lib/containers/toast-list/toast-list.stories.d.ts +1 -1
  105. package/lib/containers/toggle-dark-mode/toggle-dark-mode.stories.d.ts +1 -1
  106. package/lib/containers.js +222 -73
  107. package/lib/functions/index.d.ts +1 -0
  108. package/lib/functions/is-valid-version/index.d.ts +1 -0
  109. package/lib/functions.js +5 -5
  110. package/lib/hooks.js +3 -3
  111. package/lib/icons/actions/add-cluster-info-icon/add-cluster-info-icon.stories.d.ts +1 -1
  112. package/lib/icons/actions/delete-attribute-icon/delete-attribute-icon.stories.d.ts +1 -1
  113. package/lib/icons/actions/pii-masking-icon/pii-masking-icon.stories.d.ts +1 -1
  114. package/lib/icons/actions/rename-attribute-icon/rename-attribute-icon.stories.d.ts +1 -1
  115. package/lib/icons/actions/sampler-icon/sampler-icon.stories.d.ts +1 -1
  116. package/lib/icons/brand/odigos-logo/odigos-logo.stories.d.ts +1 -1
  117. package/lib/icons/brand/odigos-logo-text/odigos-logo-text.stories.d.ts +1 -1
  118. package/lib/icons/common/arrow-icon/arrow-icon.stories.d.ts +1 -1
  119. package/lib/icons/common/code-brackets-icon/code-brackets-icon.stories.d.ts +1 -1
  120. package/lib/icons/common/code-icon/code-icon.stories.d.ts +1 -1
  121. package/lib/icons/common/command-icon/command-icon.stories.d.ts +1 -1
  122. package/lib/icons/common/copy-icon/copy-icon.stories.d.ts +1 -1
  123. package/lib/icons/common/edit-icon/edit-icon.stories.d.ts +1 -1
  124. package/lib/icons/common/extend-arrow-icon/extend-arrow-icon.stories.d.ts +1 -1
  125. package/lib/icons/common/filter-icon/filter-icon.stories.d.ts +1 -1
  126. package/lib/icons/common/folder-icon/folder-icon.stories.d.ts +1 -1
  127. package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +1 -1
  128. package/lib/icons/common/key-icon/key-icon.stories.d.ts +1 -1
  129. package/lib/icons/common/list-icon/list-icon.stories.d.ts +1 -1
  130. package/lib/icons/common/no-data-icon/no-data-icon.stories.d.ts +1 -1
  131. package/lib/icons/common/notebook-icon/notebook-icon.stories.d.ts +1 -1
  132. package/lib/icons/common/notification-icon/notification-icon.stories.d.ts +1 -1
  133. package/lib/icons/common/retry-icon/retry-icon.stories.d.ts +1 -1
  134. package/lib/icons/common/search-icon/search-icon.stories.d.ts +1 -1
  135. package/lib/icons/common/sort-arrows-icon/sort-arrows-icon.stories.d.ts +1 -1
  136. package/lib/icons/common/terminal-icon/terminal-icon.stories.d.ts +1 -1
  137. package/lib/icons/common/trash-icon/trash-icon.stories.d.ts +1 -1
  138. package/lib/icons/common/x-icon/x-icon.stories.d.ts +1 -1
  139. package/lib/icons/compute-platform/k8s-logo/k8s-logo.stories.d.ts +1 -1
  140. package/lib/icons/compute-platform/vm-logo/vm-logo.stories.d.ts +1 -1
  141. package/lib/icons/destinations/alauda-logo/alauda-logo.stories.d.ts +1 -1
  142. package/lib/icons/destinations/alibaba-cloud-logo/alibaba-cloud-logo.stories.d.ts +1 -1
  143. package/lib/icons/destinations/app-dynamics-logo/app-dynamics-logo.stories.d.ts +1 -1
  144. package/lib/icons/destinations/aws-cloudwatch-logo/aws-cloudwatch-logo.stories.d.ts +1 -1
  145. package/lib/icons/destinations/aws-s3-logo/aws-s3-logo.stories.d.ts +1 -1
  146. package/lib/icons/destinations/aws-xray-logo/aws-xray-logo.stories.d.ts +1 -1
  147. package/lib/icons/destinations/axiom-logo/axiom-logo.stories.d.ts +1 -1
  148. package/lib/icons/destinations/better-stack-logo/better-stack-logo.stories.d.ts +1 -1
  149. package/lib/icons/destinations/blob-storage-logo/blob-storage-logo.stories.d.ts +1 -1
  150. package/lib/icons/destinations/bonree-logo/bonree-logo.stories.d.ts +1 -1
  151. package/lib/icons/destinations/causely-logo/causely-logo.stories.d.ts +1 -1
  152. package/lib/icons/destinations/checkly-logo/checkly-logo.stories.d.ts +1 -1
  153. package/lib/icons/destinations/chronosphere-logo/chronosphere-logo.stories.d.ts +1 -1
  154. package/lib/icons/destinations/clickhouse-logo/clickhouse-logo.stories.d.ts +1 -1
  155. package/lib/icons/destinations/coralogix-logo/coralogix-logo.stories.d.ts +1 -1
  156. package/lib/icons/destinations/dash0-logo/dash0-logo.stories.d.ts +1 -1
  157. package/lib/icons/destinations/datadog-logo/datadog-logo.stories.d.ts +1 -1
  158. package/lib/icons/destinations/dynatrace-logo/dynatrace-logo.stories.d.ts +1 -1
  159. package/lib/icons/destinations/elastic-apm-logo/elastic-apm-logo.stories.d.ts +1 -1
  160. package/lib/icons/destinations/elastic-search-logo/elastic-search-logo.stories.d.ts +1 -1
  161. package/lib/icons/destinations/gigapipe-logo/gigapipe-logo.stories.d.ts +1 -1
  162. package/lib/icons/destinations/google-cloud-platform-logo/google-cloud-platform-logo.stories.d.ts +1 -1
  163. package/lib/icons/destinations/google-cloud-storage-logo/google-cloud-storage-logo.stories.d.ts +1 -1
  164. package/lib/icons/destinations/grafana-logo/grafana-logo.stories.d.ts +1 -1
  165. package/lib/icons/destinations/greptime-logo/greptime-logo.stories.d.ts +1 -1
  166. package/lib/icons/destinations/groundcover-logo/groundcover-logo.stories.d.ts +1 -1
  167. package/lib/icons/destinations/honeycomb-logo/honeycomb-logo.stories.d.ts +1 -1
  168. package/lib/icons/destinations/hyperdx-logo/hyperdx-logo.stories.d.ts +1 -1
  169. package/lib/icons/destinations/instana-logo/instana-logo.stories.d.ts +1 -1
  170. package/lib/icons/destinations/jaeger-logo/jaeger-logo.stories.d.ts +1 -1
  171. package/lib/icons/destinations/kafka-logo/kafka-logo.stories.d.ts +1 -1
  172. package/lib/icons/destinations/kloudmate-logo/kloudmate-logo.stories.d.ts +1 -1
  173. package/lib/icons/destinations/last9-logo/last9-logo.stories.d.ts +1 -1
  174. package/lib/icons/destinations/lightstep-logo/lightstep-logo.stories.d.ts +1 -1
  175. package/lib/icons/destinations/logzio-logo/logzio-logo.stories.d.ts +1 -1
  176. package/lib/icons/destinations/loki-logo/loki-logo.stories.d.ts +1 -1
  177. package/lib/icons/destinations/lumigo-logo/lumigo-logo.stories.d.ts +1 -1
  178. package/lib/icons/destinations/middleware-logo/middleware-logo.stories.d.ts +1 -1
  179. package/lib/icons/destinations/new-relic-logo/new-relic-logo.stories.d.ts +1 -1
  180. package/lib/icons/destinations/observe-logo/observe-logo.stories.d.ts +1 -1
  181. package/lib/icons/destinations/one-uptime-logo/one-uptime-logo.stories.d.ts +1 -1
  182. package/lib/icons/destinations/open-observe-logo/open-observe-logo.stories.d.ts +1 -1
  183. package/lib/icons/destinations/open-telemetry-logo/open-telemetry-logo.stories.d.ts +1 -1
  184. package/lib/icons/destinations/ops-verse-logo/ops-verse-logo.stories.d.ts +1 -1
  185. package/lib/icons/destinations/oracle-logo/oracle-logo.stories.d.ts +1 -1
  186. package/lib/icons/destinations/prometheus-logo/prometheus-logo.stories.d.ts +1 -1
  187. package/lib/icons/destinations/qryn-logo/qryn-logo.stories.d.ts +1 -1
  188. package/lib/icons/destinations/quickwit-logo/quickwit-logo.stories.d.ts +1 -1
  189. package/lib/icons/destinations/sentry-logo/sentry-logo.stories.d.ts +1 -1
  190. package/lib/icons/destinations/seq-logo/seq-logo.stories.d.ts +1 -1
  191. package/lib/icons/destinations/signoz-logo/signoz-logo.stories.d.ts +1 -1
  192. package/lib/icons/destinations/splunk-logo/splunk-logo.stories.d.ts +1 -1
  193. package/lib/icons/destinations/sumo-logic-logo/sumo-logic-logo.stories.d.ts +1 -1
  194. package/lib/icons/destinations/telemetry-hub-logo/telemetry-hub-logo.stories.d.ts +1 -1
  195. package/lib/icons/destinations/tempo-logo/tempo-logo.stories.d.ts +1 -1
  196. package/lib/icons/destinations/tingyun-logo/tingyun-logo.stories.d.ts +1 -1
  197. package/lib/icons/destinations/traceloop-logo/traceloop-logo.stories.d.ts +1 -1
  198. package/lib/icons/destinations/uptrace-logo/uptrace-logo.stories.d.ts +1 -1
  199. package/lib/icons/destinations/victoria-metrics-logo/victoria-metrics-logo.stories.d.ts +1 -1
  200. package/lib/icons/instrumentation-rules/code-attributes-icon/code-attributes-icon.stories.d.ts +1 -1
  201. package/lib/icons/instrumentation-rules/headers-collection-icon/headers-collection-icon.stories.d.ts +1 -1
  202. package/lib/icons/instrumentation-rules/payload-collection-icon/payload-collection-icon.stories.d.ts +1 -1
  203. package/lib/icons/math/minus-icon/minus-icon.stories.d.ts +1 -1
  204. package/lib/icons/math/plus-icon/plus-icon.stories.d.ts +1 -1
  205. package/lib/icons/monitors/logs-icon/logs-icon.stories.d.ts +1 -1
  206. package/lib/icons/monitors/metrics-icon/metrics-icon.stories.d.ts +1 -1
  207. package/lib/icons/monitors/traces-icon/traces-icon.stories.d.ts +1 -1
  208. package/lib/icons/on-off/eye-closed-icon/eye-closed-icon.stories.d.ts +1 -1
  209. package/lib/icons/on-off/eye-open-icon/eye-open-icon.stories.d.ts +1 -1
  210. package/lib/icons/on-off/light-off-icon/light-off-icon.stories.d.ts +1 -1
  211. package/lib/icons/on-off/light-on-icon/light-on-icon.stories.d.ts +1 -1
  212. package/lib/icons/on-off/moon-icon/moon-icon.stories.d.ts +1 -1
  213. package/lib/icons/on-off/sun-icon/sun-icon.stories.d.ts +1 -1
  214. package/lib/icons/overview/actions-icon/actions-icon.stories.d.ts +1 -1
  215. package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +1 -1
  216. package/lib/icons/overview/data-streams-icon/data-streams-icon.stories.d.ts +1 -1
  217. package/lib/icons/overview/destinations-icon/destinations-icon.stories.d.ts +1 -1
  218. package/lib/icons/overview/namespaces-icon/namespaces-icon.stories.d.ts +1 -1
  219. package/lib/icons/overview/overview-icon/overview-icon.stories.d.ts +1 -1
  220. package/lib/icons/overview/rules-icon/rules-icon.stories.d.ts +1 -1
  221. package/lib/icons/overview/service-map-icon/service-map-icon.stories.d.ts +1 -1
  222. package/lib/icons/overview/sources-icon/sources-icon.stories.d.ts +1 -1
  223. package/lib/icons/overview/trace-view-icon/trace-view-icon.stories.d.ts +1 -1
  224. package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +1 -1
  225. package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +1 -1
  226. package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +1 -1
  227. package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +1 -1
  228. package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +1 -1
  229. package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +1 -1
  230. package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +1 -1
  231. package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +1 -1
  232. package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +1 -1
  233. package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +1 -1
  234. package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +1 -1
  235. package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +1 -1
  236. package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +1 -1
  237. package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +1 -1
  238. package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +1 -1
  239. package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +1 -1
  240. package/lib/icons/social/slack-logo/slack-logo.stories.d.ts +1 -1
  241. package/lib/icons/status/check-circled-icon/check-circled-icon.stories.d.ts +1 -1
  242. package/lib/icons/status/check-icon/check-icon.stories.d.ts +1 -1
  243. package/lib/icons/status/cross-circled-icon/cross-circled-icon.stories.d.ts +1 -1
  244. package/lib/icons/status/cross-icon/cross-icon.stories.d.ts +1 -1
  245. package/lib/icons/status/error-round-icon/error-round-icon.stories.d.ts +1 -1
  246. package/lib/icons/status/error-triangle-icon/error-triangle-icon.stories.d.ts +1 -1
  247. package/lib/icons/status/info-icon/info-icon.stories.d.ts +1 -1
  248. package/lib/icons/status/warning-triangle-icon/warning-triangle-icon.stories.d.ts +1 -1
  249. package/lib/icons.js +6 -7
  250. package/lib/{index-zXCdgpRU.js → index--yr-0Yb_.js} +1 -1
  251. package/lib/{index-Cph4pNkb.js → index-BDivLGyc.js} +4 -4
  252. package/lib/{index-C-84NaCL.js → index-BHJkDHqL.js} +87 -17
  253. package/lib/index-BjrdHhNI.js +62 -0
  254. package/lib/{index-BeVb1H9n.js → index-CFcAM49k.js} +1365 -36
  255. package/lib/{index-Cau7bWmr.js → index-DJfTCJxF.js} +9 -2
  256. package/lib/{index-BrriZrlp.js → index-DeWFbFU-.js} +3 -4
  257. package/lib/{index-B1h5g0Hl.js → index-DeYAfvCA.js} +7 -32
  258. package/lib/{index-DLH1IvyS.js → index-JW9d8KBI.js} +2 -2
  259. package/lib/{index-CBgnxpkW.js → index-OD60p3iQ.js} +1 -1
  260. package/lib/snippets/note-back-to-summary/note-back-to-summary.stories.d.ts +1 -1
  261. package/lib/snippets.js +7 -8
  262. package/lib/store.js +1 -1
  263. package/lib/theme.js +1 -1
  264. package/lib/types/sources/index.d.ts +5 -2
  265. package/lib/{useSourceSelectionFormData-CrtSxE3G.js → useSourceSelectionFormData-KsupxR2K.js} +2 -2
  266. package/lib/{useTransition-BumZECD3.js → useTransition-DfzjoAze.js} +1 -1
  267. package/package.json +14 -14
  268. package/lib/index-BdZq2vdJ.js +0 -1297
  269. package/lib/index-CDHYBh8C.js +0 -11
package/lib/containers.js CHANGED
@@ -1,23 +1,22 @@
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 { k as DISPLAY_TITLES, T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, B as BUTTON_TEXTS, c as useEntityStore, A as ACTION_OPTIONS, l as getActionIcon, f as useModalStore, F as FORM_ALERTS, d as useFilterStore, M as MONITORS_OPTIONS, t as styleInject, i as useSelectedStore, e as useInstrumentStore, n as getInstrumentationRuleIcon, a as useDataStreamStore, m as getEntityId, S as STORAGE_KEYS, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-BdZq2vdJ.js';
4
- import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, SignalType, HeadersCollectionKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
5
- import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-C-84NaCL.js';
3
+ import { l as DISPLAY_TITLES, T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, B as BUTTON_TEXTS, c as useEntityStore, A as ACTION_OPTIONS, m as getActionIcon, f as useModalStore, F as FORM_ALERTS, d as useFilterStore, M as MONITORS_OPTIONS, $ as styleInject, i as useSelectedStore, e as useInstrumentStore, o as getInstrumentationRuleIcon, a as useDataStreamStore, n as getEntityId, S as STORAGE_KEYS, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-CFcAM49k.js';
4
+ import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, SignalType, HeadersCollectionKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind } from './types.js';
5
+ import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-BHJkDHqL.js';
6
6
  import { i as isEmpty, s as safeJsonParse } from './index-BV85P9UP.js';
7
- import { i as CheckCircledIcon, O as OdigosLogo } from './index-BeVb1H9n.js';
8
- import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-zXCdgpRU.js';
9
- import { u as useActionFormData, a as useClickNode, e as useSessionStorage, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-CrtSxE3G.js';
10
- import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-BumZECD3.js';
11
- import { E as EditIcon } from './index-CDHYBh8C.js';
12
- import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, f as CheckIcon, A as ArrowIcon, a as CopyIcon, g as CrossIcon } from './index-Cau7bWmr.js';
13
- import { D as DeleteWarning, C as CancelWarning } from './index-DLH1IvyS.js';
14
- import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-B1h5g0Hl.js';
15
- import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, w as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, t as getYamlFieldsForDestination, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, u as isOverTime } from './index-BrriZrlp.js';
7
+ import { C as CheckCircledIcon, O as OdigosLogo } from './index-BjrdHhNI.js';
8
+ import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, R as RetryIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index--yr-0Yb_.js';
9
+ import { u as useActionFormData, a as useClickNode, e as useSessionStorage, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-KsupxR2K.js';
10
+ import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-DfzjoAze.js';
11
+ import { E as EditIcon, T as TrashIcon, S as SearchIcon, P as PlusIcon$1, g as CheckIcon, A as ArrowIcon, a as CopyIcon, h as CrossIcon } from './index-DJfTCJxF.js';
12
+ import { D as DeleteWarning, C as CancelWarning } from './index-JW9d8KBI.js';
13
+ import { m as mapConditions, a as getStatusIcon, c as capitalizeFirstLetter } from './index-DeYAfvCA.js';
14
+ import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, w as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, t as getYamlFieldsForDestination, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, u as isOverTime } from './index-DeWFbFU-.js';
16
15
  import { createPortal } from 'react-dom';
17
16
  import { m as mapExportedSignals } from './index-BlZKWuxe.js';
18
- import { N as NoteBackToSummary, E as EditButton } from './index-Cph4pNkb.js';
17
+ import { N as NoteBackToSummary, E as EditButton } from './index-BDivLGyc.js';
19
18
  import { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
20
- import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-CBgnxpkW.js';
19
+ import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-OD60p3iQ.js';
21
20
 
22
21
  const buildCard$3 = (action) => {
23
22
  const { type, spec: { actionName, notes, signals, disabled, collectContainerAttributes, collectReplicaSetAttributes, collectWorkloadId, collectClusterId, labelsAttributes, annotationsAttributes, clusterAttributes, attributeNamesToDelete, renames, piiCategories, fallbackSamplingRatio, samplingPercentage, endpointsFilters, servicesNameFilters, attributeFilters, }, } = action;
@@ -1260,7 +1259,7 @@ const ComputePlatformsActionsMenu = ({ connections }) => {
1260
1259
  React.createElement(ConnectionStatusDropdown, { connections: connections, value: statuses, onSelect: (val) => setStatuses([...(statuses || []), val]), onDeselect: (val) => setStatuses((statuses || []).filter((opt) => opt.id !== val.id)), showSearch: true, required: true, isMulti: true })))));
1261
1260
  };
1262
1261
 
1263
- var css_248z = "/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n direction: ltr;\n\n --xy-edge-stroke-default: #b1b1b7;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #555;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n --xy-minimap-background-color-default: #fff;\n --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #e2e2e2;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: transparent;\n --xy-background-pattern-dots-color-default: #91919a;\n --xy-background-pattern-lines-color-default: #eee;\n --xy-background-pattern-cross-color-default: #e2e2e2;\n background-color: var(--xy-background-color, var(--xy-background-color-default));\n --xy-node-color-default: inherit;\n --xy-node-border-default: 1px solid #1a192b;\n --xy-node-background-color-default: #fff;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n --xy-node-border-radius-default: 3px;\n\n --xy-handle-background-color-default: #1a192b;\n --xy-handle-border-color-default: #fff;\n\n --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n --xy-controls-button-background-color-default: #fefefe;\n --xy-controls-button-background-color-hover-default: #f4f4f4;\n --xy-controls-button-color-default: inherit;\n --xy-controls-button-color-hover-default: inherit;\n --xy-controls-button-border-color-default: #eee;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #ffffff;\n --xy-edge-label-color-default: inherit;\n --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n --xy-edge-stroke-default: #3e3e3e;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #727272;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n --xy-minimap-background-color-default: #141414;\n --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #2b2b2b;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: #141414;\n --xy-background-pattern-dots-color-default: #777;\n --xy-background-pattern-lines-color-default: #777;\n --xy-background-pattern-cross-color-default: #777;\n --xy-node-color-default: #f8f8f8;\n --xy-node-border-default: 1px solid #3c3c3c;\n --xy-node-background-color-default: #1e1e1e;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n --xy-handle-background-color-default: #bebebe;\n --xy-handle-border-color-default: #1e1e1e;\n\n --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n --xy-controls-button-background-color-default: #2b2b2b;\n --xy-controls-button-background-color-hover-default: #3e3e3e;\n --xy-controls-button-color-default: #f8f8f8;\n --xy-controls-button-color-hover-default: #fff;\n --xy-controls-button-border-color-default: #5b5b5b;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #141414;\n --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));\n pointer-events: none;\n z-index: -1;\n}\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n}\n.react-flow__pane.draggable {\n cursor: grab;\n }\n.react-flow__pane.dragging {\n cursor: grabbing;\n }\n.react-flow__pane.selection {\n cursor: pointer;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selection {\n z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow__edge-path {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n fill: none;\n}\n.react-flow__connection-path {\n stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n fill: none;\n}\n.react-flow .react-flow__edges {\n position: absolute;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n }\n.react-flow__edge {\n pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n cursor: pointer;\n }\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge.selectable:focus .react-flow__edge-path,\n .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection .animated {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\nsvg.react-flow__connectionline {\n z-index: 1001;\n overflow: visible;\n position: absolute;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: default;\n}\n.react-flow__node.selectable {\n cursor: pointer;\n }\n.react-flow__node.draggable {\n cursor: grab;\n pointer-events: all;\n }\n.react-flow__node.draggable.dragging {\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n pointer-events: all;\n }\n.react-flow__handle.connectionindicator {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n.react-flow__handle-top {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-left {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-right {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.top.center, .react-flow__panel.bottom.center {\n left: 50%;\n transform: translateX(-15px) translateX(-50%);\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.left.center, .react-flow__panel.right.center {\n top: 50%;\n transform: translateY(-15px) translateY(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n left: 0;\n top: 0;\n}\n.react-flow__viewport-portal {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.react-flow__minimap {\n background: var(\n --xy-minimap-background-color-props,\n var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n );\n}\n.react-flow__minimap-svg {\n display: block;\n }\n.react-flow__minimap-mask {\n fill: var(\n --xy-minimap-mask-background-color-props,\n var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n );\n stroke: var(\n --xy-minimap-mask-stroke-color-props,\n var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-mask-stroke-width-props,\n var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n );\n }\n.react-flow__minimap-node {\n fill: var(\n --xy-minimap-node-background-color-props,\n var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n );\n stroke: var(\n --xy-minimap-node-stroke-color-props,\n var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-node-stroke-width-props,\n var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n );\n }\n.react-flow__background-pattern.dots {\n fill: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n );\n }\n.react-flow__background-pattern.lines {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n );\n }\n.react-flow__background-pattern.cross {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n );\n }\n.react-flow__controls {\n display: flex;\n flex-direction: column;\n box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n flex-direction: row;\n }\n.react-flow__controls-button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 26px;\n width: 26px;\n padding: 4px;\n border: none;\n background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n border-bottom: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n color: var(\n --xy-controls-button-color-props,\n var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n );\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n fill: currentColor;\n }\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node.selectable:focus,\n .react-flow__node.selectable:focus-visible {\n outline: none;\n }\n.react-flow__node-input,\n.react-flow__node-default,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n width: 150px;\n font-size: 12px;\n color: var(--xy-node-color, var(--xy-node-color-default));\n text-align: center;\n border: var(--xy-node-border, var(--xy-node-border-default));\n background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n }\n.react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n }\n.react-flow__node-group {\n background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls-button:hover {\n background: var(\n --xy-controls-button-background-color-hover-props,\n var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n );\n color: var(\n --xy-controls-button-color-hover-props,\n var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n );\n }\n.react-flow__controls-button:disabled {\n pointer-events: none;\n }\n.react-flow__controls-button:disabled svg {\n fill-opacity: 0.4;\n }\n.react-flow__controls-button:last-child {\n border-bottom: none;\n }\n.react-flow__controls.horizontal .react-flow__controls-button {\n border-bottom: none;\n border-right: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n }\n.react-flow__controls.horizontal .react-flow__controls-button:last-child {\n border-right: none;\n }\n.react-flow__resize-control {\n position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n width: 4px;\n height: 4px;\n border: 1px solid #fff;\n border-radius: 1px;\n background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n transform: translate(-50%, -50%);\n}\n.react-flow__resize-control.handle.left {\n left: 0;\n top: 50%;\n}\n.react-flow__resize-control.handle.right {\n left: 100%;\n top: 50%;\n}\n.react-flow__resize-control.handle.top {\n left: 50%;\n top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n left: 50%;\n top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n border-width: 0;\n border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n width: 1px;\n transform: translate(-50%, 0);\n top: 0;\n height: 100%;\n}\n.react-flow__resize-control.line.left {\n left: 0;\n border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n left: 100%;\n border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n height: 1px;\n transform: translate(0, -50%);\n left: 0;\n width: 100%;\n}\n.react-flow__resize-control.line.top {\n top: 0;\n border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n border-bottom-width: 1px;\n top: 100%;\n}\n.react-flow__edge-textbg {\n fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n";
1262
+ var css_248z = "/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n direction: ltr;\n\n --xy-edge-stroke-default: #b1b1b7;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #555;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n --xy-minimap-background-color-default: #fff;\n --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #e2e2e2;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: transparent;\n --xy-background-pattern-dots-color-default: #91919a;\n --xy-background-pattern-lines-color-default: #eee;\n --xy-background-pattern-cross-color-default: #e2e2e2;\n background-color: var(--xy-background-color, var(--xy-background-color-default));\n --xy-node-color-default: inherit;\n --xy-node-border-default: 1px solid #1a192b;\n --xy-node-background-color-default: #fff;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n --xy-node-border-radius-default: 3px;\n\n --xy-handle-background-color-default: #1a192b;\n --xy-handle-border-color-default: #fff;\n\n --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n --xy-controls-button-background-color-default: #fefefe;\n --xy-controls-button-background-color-hover-default: #f4f4f4;\n --xy-controls-button-color-default: inherit;\n --xy-controls-button-color-hover-default: inherit;\n --xy-controls-button-border-color-default: #eee;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #ffffff;\n --xy-edge-label-color-default: inherit;\n --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n --xy-edge-stroke-default: #3e3e3e;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #727272;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n --xy-minimap-background-color-default: #141414;\n --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #2b2b2b;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: #141414;\n --xy-background-pattern-dots-color-default: #777;\n --xy-background-pattern-lines-color-default: #777;\n --xy-background-pattern-cross-color-default: #777;\n --xy-node-color-default: #f8f8f8;\n --xy-node-border-default: 1px solid #3c3c3c;\n --xy-node-background-color-default: #1e1e1e;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n --xy-handle-background-color-default: #bebebe;\n --xy-handle-border-color-default: #1e1e1e;\n\n --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n --xy-controls-button-background-color-default: #2b2b2b;\n --xy-controls-button-background-color-hover-default: #3e3e3e;\n --xy-controls-button-color-default: #f8f8f8;\n --xy-controls-button-color-hover-default: #fff;\n --xy-controls-button-border-color-default: #5b5b5b;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #141414;\n --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));\n pointer-events: none;\n z-index: -1;\n}\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n}\n.react-flow__pane.draggable {\n cursor: grab;\n }\n.react-flow__pane.dragging {\n cursor: grabbing;\n }\n.react-flow__pane.selection {\n cursor: pointer;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selection {\n z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow__edge-path {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n fill: none;\n}\n.react-flow__connection-path {\n stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n fill: none;\n}\n.react-flow .react-flow__edges {\n position: absolute;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n }\n.react-flow__edge {\n pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n cursor: pointer;\n }\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge.selectable:focus .react-flow__edge-path,\n .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection .animated {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\nsvg.react-flow__connectionline {\n z-index: 1001;\n overflow: visible;\n position: absolute;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: default;\n}\n.react-flow__node.selectable {\n cursor: pointer;\n }\n.react-flow__node.draggable {\n cursor: grab;\n pointer-events: all;\n }\n.react-flow__node.draggable.dragging {\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n pointer-events: all;\n }\n.react-flow__handle.connectionindicator {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n.react-flow__handle-top {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-left {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-right {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.top.center, .react-flow__panel.bottom.center {\n left: 50%;\n transform: translateX(-15px) translateX(-50%);\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.left.center, .react-flow__panel.right.center {\n top: 50%;\n transform: translateY(-15px) translateY(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n left: 0;\n top: 0;\n}\n.react-flow__viewport-portal {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.react-flow__minimap {\n background: var(\n --xy-minimap-background-color-props,\n var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n );\n}\n.react-flow__minimap-svg {\n display: block;\n }\n.react-flow__minimap-mask {\n fill: var(\n --xy-minimap-mask-background-color-props,\n var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n );\n stroke: var(\n --xy-minimap-mask-stroke-color-props,\n var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-mask-stroke-width-props,\n var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n );\n }\n.react-flow__minimap-node {\n fill: var(\n --xy-minimap-node-background-color-props,\n var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n );\n stroke: var(\n --xy-minimap-node-stroke-color-props,\n var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-node-stroke-width-props,\n var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n );\n }\n.react-flow__background-pattern.dots {\n fill: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n );\n }\n.react-flow__background-pattern.lines {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n );\n }\n.react-flow__background-pattern.cross {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n );\n }\n.react-flow__controls {\n display: flex;\n flex-direction: column;\n box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n flex-direction: row;\n }\n.react-flow__controls-button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 26px;\n width: 26px;\n padding: 4px;\n border: none;\n background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n border-bottom: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n color: var(\n --xy-controls-button-color-props,\n var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n );\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n fill: currentColor;\n }\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node.selectable:focus,\n .react-flow__node.selectable:focus-visible {\n outline: none;\n }\n.react-flow__node-input,\n.react-flow__node-default,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n width: 150px;\n font-size: 12px;\n color: var(--xy-node-color, var(--xy-node-color-default));\n text-align: center;\n border: var(--xy-node-border, var(--xy-node-border-default));\n background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n }\n.react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n }\n.react-flow__node-group {\n background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls-button:hover {\n background: var(\n --xy-controls-button-background-color-hover-props,\n var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n );\n color: var(\n --xy-controls-button-color-hover-props,\n var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n );\n }\n.react-flow__controls-button:disabled {\n pointer-events: none;\n }\n.react-flow__controls-button:disabled svg {\n fill-opacity: 0.4;\n }\n.react-flow__controls-button:last-child {\n border-bottom: none;\n }\n.react-flow__controls.horizontal .react-flow__controls-button {\n border-bottom: none;\n border-right: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n }\n.react-flow__controls.horizontal .react-flow__controls-button:last-child {\n border-right: none;\n }\n.react-flow__resize-control {\n position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n width: 5px;\n height: 5px;\n border: 1px solid #fff;\n border-radius: 1px;\n background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n translate: -50% -50%;\n}\n.react-flow__resize-control.handle.left {\n left: 0;\n top: 50%;\n}\n.react-flow__resize-control.handle.right {\n left: 100%;\n top: 50%;\n}\n.react-flow__resize-control.handle.top {\n left: 50%;\n top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n left: 50%;\n top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n border-width: 0;\n border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n width: 1px;\n transform: translate(-50%, 0);\n top: 0;\n height: 100%;\n}\n.react-flow__resize-control.line.left {\n left: 0;\n border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n left: 100%;\n border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n height: 1px;\n transform: translate(0, -50%);\n left: 0;\n width: 100%;\n}\n.react-flow__resize-control.line.top {\n top: 0;\n border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n border-bottom-width: 1px;\n top: 100%;\n}\n.react-flow__edge-textbg {\n fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n";
1264
1263
  styleInject(css_248z);
1265
1264
 
1266
1265
  var jsxRuntime = {exports: {}};
@@ -3454,12 +3453,72 @@ var interpolateRgb = (function rgbGamma(y) {
3454
3453
  return rgb$1;
3455
3454
  })(1);
3456
3455
 
3456
+ function numberArray(a, b) {
3457
+ if (!b) b = [];
3458
+ var n = a ? Math.min(b.length, a.length) : 0,
3459
+ c = b.slice(),
3460
+ i;
3461
+ return function(t) {
3462
+ for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;
3463
+ return c;
3464
+ };
3465
+ }
3466
+
3467
+ function isNumberArray(x) {
3468
+ return ArrayBuffer.isView(x) && !(x instanceof DataView);
3469
+ }
3470
+
3471
+ function genericArray(a, b) {
3472
+ var nb = b ? b.length : 0,
3473
+ na = a ? Math.min(nb, a.length) : 0,
3474
+ x = new Array(na),
3475
+ c = new Array(nb),
3476
+ i;
3477
+
3478
+ for (i = 0; i < na; ++i) x[i] = interpolate$1(a[i], b[i]);
3479
+ for (; i < nb; ++i) c[i] = b[i];
3480
+
3481
+ return function(t) {
3482
+ for (i = 0; i < na; ++i) c[i] = x[i](t);
3483
+ return c;
3484
+ };
3485
+ }
3486
+
3487
+ function date(a, b) {
3488
+ var d = new Date;
3489
+ return a = +a, b = +b, function(t) {
3490
+ return d.setTime(a * (1 - t) + b * t), d;
3491
+ };
3492
+ }
3493
+
3457
3494
  function interpolateNumber(a, b) {
3458
3495
  return a = +a, b = +b, function(t) {
3459
3496
  return a * (1 - t) + b * t;
3460
3497
  };
3461
3498
  }
3462
3499
 
3500
+ function object(a, b) {
3501
+ var i = {},
3502
+ c = {},
3503
+ k;
3504
+
3505
+ if (a === null || typeof a !== "object") a = {};
3506
+ if (b === null || typeof b !== "object") b = {};
3507
+
3508
+ for (k in b) {
3509
+ if (k in a) {
3510
+ i[k] = interpolate$1(a[k], b[k]);
3511
+ } else {
3512
+ c[k] = b[k];
3513
+ }
3514
+ }
3515
+
3516
+ return function(t) {
3517
+ for (k in i) c[k] = i[k](t);
3518
+ return c;
3519
+ };
3520
+ }
3521
+
3463
3522
  var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
3464
3523
  reB = new RegExp(reA.source, "g");
3465
3524
 
@@ -3523,6 +3582,19 @@ function interpolateString(a, b) {
3523
3582
  });
3524
3583
  }
3525
3584
 
3585
+ function interpolate$1(a, b) {
3586
+ var t = typeof b, c;
3587
+ return b == null || t === "boolean" ? constant$1(b)
3588
+ : (t === "number" ? interpolateNumber
3589
+ : t === "string" ? ((c = color(b)) ? (b = c, interpolateRgb) : interpolateString)
3590
+ : b instanceof color ? interpolateRgb
3591
+ : b instanceof Date ? date
3592
+ : isNumberArray(b) ? numberArray
3593
+ : Array.isArray(b) ? genericArray
3594
+ : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object
3595
+ : interpolateNumber)(a, b);
3596
+ }
3597
+
3526
3598
  var degrees = 180 / Math.PI;
3527
3599
 
3528
3600
  var identity$2 = {
@@ -5225,6 +5297,22 @@ const infiniteExtent = [
5225
5297
  [Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY],
5226
5298
  ];
5227
5299
  const elementSelectionKeys = ['Enter', ' ', 'Escape'];
5300
+ const defaultAriaLabelConfig = {
5301
+ 'node.a11yDescription.default': 'Press enter or space to select a node. Press delete to remove it and escape to cancel.',
5302
+ 'node.a11yDescription.keyboardDisabled': 'Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.',
5303
+ 'node.a11yDescription.ariaLiveMessage': ({ direction, x, y }) => `Moved selected node ${direction}. New position, x: ${x}, y: ${y}`,
5304
+ 'edge.a11yDescription.default': 'Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.',
5305
+ // Control elements
5306
+ 'controls.ariaLabel': 'Control Panel',
5307
+ 'controls.zoomIn.ariaLabel': 'Zoom In',
5308
+ 'controls.zoomOut.ariaLabel': 'Zoom Out',
5309
+ 'controls.fitView.ariaLabel': 'Fit View',
5310
+ 'controls.interactive.ariaLabel': 'Toggle Interactivity',
5311
+ // Mini map
5312
+ 'minimap.ariaLabel': 'Mini Map',
5313
+ // Handle
5314
+ 'handle.ariaLabel': 'Handle',
5315
+ };
5228
5316
 
5229
5317
  /**
5230
5318
  * The `ConnectionMode` is used to set the mode of connection between nodes.
@@ -5504,7 +5592,11 @@ async function fitViewport({ nodes, width, height, panZoom, minZoom, maxZoom },
5504
5592
  const nodesToFit = getFitViewNodes(nodes, options);
5505
5593
  const bounds = getInternalNodesBounds(nodesToFit);
5506
5594
  const viewport = getViewportForBounds(bounds, width, height, options?.minZoom ?? minZoom, options?.maxZoom ?? maxZoom, options?.padding ?? 0.1);
5507
- await panZoom.setViewport(viewport, { duration: options?.duration });
5595
+ await panZoom.setViewport(viewport, {
5596
+ duration: options?.duration,
5597
+ ease: options?.ease,
5598
+ interpolate: options?.interpolate,
5599
+ });
5508
5600
  return Promise.resolve(true);
5509
5601
  }
5510
5602
  /**
@@ -5893,6 +5985,9 @@ function withResolvers() {
5893
5985
  });
5894
5986
  return { promise, resolve, reject };
5895
5987
  }
5988
+ function mergeAriaLabelConfig(partial) {
5989
+ return { ...defaultAriaLabelConfig, ...(partial || {}) };
5990
+ }
5896
5991
 
5897
5992
  function getPointerPosition(event, { snapGrid = [0, 0], snapToGrid = false, transform, containerBounds }) {
5898
5993
  const { x, y } = getEventPosition(event);
@@ -7511,12 +7606,14 @@ const transformToViewport = (transform) => ({
7511
7606
  const viewportToTransform = ({ x, y, zoom }) => identity$1.translate(x, y).scale(zoom);
7512
7607
  const isWrappedWithClass = (event, className) => event.target.closest(`.${className}`);
7513
7608
  const isRightClickPan = (panOnDrag, usedButton) => usedButton === 2 && Array.isArray(panOnDrag) && panOnDrag.includes(2);
7514
- const getD3Transition = (selection, duration = 0, onEnd = () => { }) => {
7609
+ // taken from d3-ease: https://github.com/d3/d3-ease/blob/main/src/cubic.js
7610
+ const defaultEase = (t) => ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
7611
+ const getD3Transition = (selection, duration = 0, ease = defaultEase, onEnd = () => { }) => {
7515
7612
  const hasDuration = typeof duration === 'number' && duration > 0;
7516
7613
  if (!hasDuration) {
7517
7614
  onEnd();
7518
7615
  }
7519
- return hasDuration ? selection.transition().duration(duration).on('end', onEnd) : selection;
7616
+ return hasDuration ? selection.transition().duration(duration).ease(ease).on('end', onEnd) : selection;
7520
7617
  };
7521
7618
  const wheelDelta = (event) => {
7522
7619
  const factor = event.ctrlKey && isMacOs() ? 10 : 1;
@@ -7731,7 +7828,7 @@ function XYPanZoom({ domNode, minZoom, maxZoom, paneClickDistance, translateExte
7731
7828
  function setTransform(transform, options) {
7732
7829
  if (d3Selection) {
7733
7830
  return new Promise((resolve) => {
7734
- d3ZoomInstance?.transform(getD3Transition(d3Selection, options?.duration, () => resolve(true)), transform);
7831
+ d3ZoomInstance?.interpolate(options?.interpolate === 'linear' ? interpolate$1 : interpolateZoom).transform(getD3Transition(d3Selection, options?.duration, options?.ease, () => resolve(true)), transform);
7735
7832
  });
7736
7833
  }
7737
7834
  return Promise.resolve(false);
@@ -7850,7 +7947,7 @@ function XYPanZoom({ domNode, minZoom, maxZoom, paneClickDistance, translateExte
7850
7947
  function scaleTo(zoom, options) {
7851
7948
  if (d3Selection) {
7852
7949
  return new Promise((resolve) => {
7853
- d3ZoomInstance?.scaleTo(getD3Transition(d3Selection, options?.duration, () => resolve(true)), zoom);
7950
+ d3ZoomInstance?.interpolate(options?.interpolate === 'linear' ? interpolate$1 : interpolateZoom).scaleTo(getD3Transition(d3Selection, options?.duration, options?.ease, () => resolve(true)), zoom);
7854
7951
  });
7855
7952
  }
7856
7953
  return Promise.resolve(false);
@@ -7858,7 +7955,7 @@ function XYPanZoom({ domNode, minZoom, maxZoom, paneClickDistance, translateExte
7858
7955
  function scaleBy(factor, options) {
7859
7956
  if (d3Selection) {
7860
7957
  return new Promise((resolve) => {
7861
- d3ZoomInstance?.scaleBy(getD3Transition(d3Selection, options?.duration, () => resolve(true)), factor);
7958
+ d3ZoomInstance?.interpolate(options?.interpolate === 'linear' ? interpolate$1 : interpolateZoom).scaleBy(getD3Transition(d3Selection, options?.duration, options?.ease, () => resolve(true)), factor);
7862
7959
  });
7863
7960
  }
7864
7961
  return Promise.resolve(false);
@@ -8889,13 +8986,17 @@ const ariaLiveStyle = {
8889
8986
  const ARIA_NODE_DESC_KEY = 'react-flow__node-desc';
8890
8987
  const ARIA_EDGE_DESC_KEY = 'react-flow__edge-desc';
8891
8988
  const ARIA_LIVE_MESSAGE = 'react-flow__aria-live';
8892
- const selector$o = (s) => s.ariaLiveMessage;
8989
+ const ariaLiveSelector = (s) => s.ariaLiveMessage;
8990
+ const ariaLabelConfigSelector = (s) => s.ariaLabelConfig;
8893
8991
  function AriaLiveMessage({ rfId }) {
8894
- const ariaLiveMessage = useStore(selector$o);
8992
+ const ariaLiveMessage = useStore(ariaLiveSelector);
8895
8993
  return (jsxRuntimeExports.jsx("div", { id: `${ARIA_LIVE_MESSAGE}-${rfId}`, "aria-live": "assertive", "aria-atomic": "true", style: ariaLiveStyle, children: ariaLiveMessage }));
8896
8994
  }
8897
8995
  function A11yDescriptions({ rfId, disableKeyboardA11y }) {
8898
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs("div", { id: `${ARIA_NODE_DESC_KEY}-${rfId}`, style: style, children: ["Press enter or space to select a node.", !disableKeyboardA11y && 'You can then use the arrow keys to move the node around.', " Press delete to remove it and escape to cancel.", ' '] }), jsxRuntimeExports.jsx("div", { id: `${ARIA_EDGE_DESC_KEY}-${rfId}`, style: style, children: "Press enter or space to select an edge. You can then press delete to remove it or escape to cancel." }), !disableKeyboardA11y && jsxRuntimeExports.jsx(AriaLiveMessage, { rfId: rfId })] }));
8996
+ const ariaLabelConfig = useStore(ariaLabelConfigSelector);
8997
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("div", { id: `${ARIA_NODE_DESC_KEY}-${rfId}`, style: style, children: disableKeyboardA11y
8998
+ ? ariaLabelConfig['node.a11yDescription.default']
8999
+ : ariaLabelConfig['node.a11yDescription.keyboardDisabled'] }), jsxRuntimeExports.jsx("div", { id: `${ARIA_EDGE_DESC_KEY}-${rfId}`, style: style, children: ariaLabelConfig['edge.a11yDescription.default'] }), !disableKeyboardA11y && jsxRuntimeExports.jsx(AriaLiveMessage, { rfId: rfId })] }));
8899
9000
  }
8900
9001
 
8901
9002
  const selector$n = (s) => (s.userSelectionActive ? 'none' : 'all');
@@ -8997,6 +9098,7 @@ const reactFlowFieldsToTrack = [
8997
9098
  'onClickConnectStart',
8998
9099
  'onClickConnectEnd',
8999
9100
  'nodesDraggable',
9101
+ 'autoPanOnNodeFocus',
9000
9102
  'nodesConnectable',
9001
9103
  'nodesFocusable',
9002
9104
  'edgesFocusable',
@@ -9042,6 +9144,7 @@ const reactFlowFieldsToTrack = [
9042
9144
  'debug',
9043
9145
  'autoPanSpeed',
9044
9146
  'paneClickDistance',
9147
+ 'ariaLabelConfig',
9045
9148
  ];
9046
9149
  // rfId doesn't exist in ReactFlowProps, but it's one of the fields we want to update
9047
9150
  const fieldsToTrack = [...reactFlowFieldsToTrack, 'rfId'];
@@ -9111,6 +9214,9 @@ function StoreUpdater(props) {
9111
9214
  store.setState({ fitViewQueued: fieldValue });
9112
9215
  else if (fieldName === 'fitViewOptions')
9113
9216
  store.setState({ fitViewOptions: fieldValue });
9217
+ if (fieldName === 'ariaLabelConfig') {
9218
+ store.setState({ ariaLabelConfig: mergeAriaLabelConfig(fieldValue) });
9219
+ }
9114
9220
  // General case
9115
9221
  else
9116
9222
  store.setState({ [fieldName]: fieldValue });
@@ -9326,7 +9432,7 @@ const useViewportHelper = () => {
9326
9432
  x: viewport.x ?? tX,
9327
9433
  y: viewport.y ?? tY,
9328
9434
  zoom: viewport.zoom ?? tZoom,
9329
- }, { duration: options?.duration });
9435
+ }, options);
9330
9436
  return Promise.resolve(true);
9331
9437
  },
9332
9438
  getViewport: () => {
@@ -9334,19 +9440,7 @@ const useViewportHelper = () => {
9334
9440
  return { x, y, zoom };
9335
9441
  },
9336
9442
  setCenter: async (x, y, options) => {
9337
- const { width, height, maxZoom, panZoom } = store.getState();
9338
- const nextZoom = typeof options?.zoom !== 'undefined' ? options.zoom : maxZoom;
9339
- const centerX = width / 2 - x * nextZoom;
9340
- const centerY = height / 2 - y * nextZoom;
9341
- if (!panZoom) {
9342
- return Promise.resolve(false);
9343
- }
9344
- await panZoom.setViewport({
9345
- x: centerX,
9346
- y: centerY,
9347
- zoom: nextZoom,
9348
- }, { duration: options?.duration });
9349
- return Promise.resolve(true);
9443
+ return store.getState().setCenter(x, y, options);
9350
9444
  },
9351
9445
  fitBounds: async (bounds, options) => {
9352
9446
  const { width, height, minZoom, maxZoom, panZoom } = store.getState();
@@ -9354,7 +9448,11 @@ const useViewportHelper = () => {
9354
9448
  if (!panZoom) {
9355
9449
  return Promise.resolve(false);
9356
9450
  }
9357
- await panZoom.setViewport(viewport, { duration: options?.duration });
9451
+ await panZoom.setViewport(viewport, {
9452
+ duration: options?.duration,
9453
+ ease: options?.ease,
9454
+ interpolate: options?.interpolate,
9455
+ });
9358
9456
  return Promise.resolve(true);
9359
9457
  },
9360
9458
  screenToFlowPosition: (clientPosition, options = {}) => {
@@ -10959,10 +11057,13 @@ function NodeWrapper({ id, onClick, onMouseEnter, onMouseMove, onMouseLeave, onC
10959
11057
  else if (isDraggable && node.selected && Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
10960
11058
  // prevent default scrolling behavior on arrow key press when node is moved
10961
11059
  event.preventDefault();
11060
+ const { ariaLabelConfig } = store.getState();
10962
11061
  store.setState({
10963
- ariaLiveMessage: `Moved selected node ${event.key
10964
- .replace('Arrow', '')
10965
- .toLowerCase()}. New position, x: ${~~internals.positionAbsolute.x}, y: ${~~internals.positionAbsolute.y}`,
11062
+ ariaLiveMessage: ariaLabelConfig['node.a11yDescription.ariaLiveMessage']({
11063
+ direction: event.key.replace('Arrow', '').toLowerCase(),
11064
+ x: ~~internals.positionAbsolute.x,
11065
+ y: ~~internals.positionAbsolute.y,
11066
+ }),
10966
11067
  });
10967
11068
  moveSelectedNodes({
10968
11069
  direction: arrowKeyDiffs[event.key],
@@ -10970,6 +11071,21 @@ function NodeWrapper({ id, onClick, onMouseEnter, onMouseMove, onMouseLeave, onC
10970
11071
  });
10971
11072
  }
10972
11073
  };
11074
+ const onFocus = () => {
11075
+ if (disableKeyboardA11y || !nodeRef.current?.matches(':focus-visible')) {
11076
+ return;
11077
+ }
11078
+ const { transform, width, height, autoPanOnNodeFocus, setCenter } = store.getState();
11079
+ if (!autoPanOnNodeFocus) {
11080
+ return;
11081
+ }
11082
+ const withinViewport = getNodesInside(new Map([[id, node]]), { x: 0, y: 0, width, height }, transform, true).length > 0;
11083
+ if (!withinViewport) {
11084
+ setCenter(node.position.x + nodeDimensions.width / 2, node.position.y + nodeDimensions.height / 2, {
11085
+ zoom: transform[2],
11086
+ });
11087
+ }
11088
+ };
10973
11089
  return (jsxRuntimeExports.jsx("div", { className: cc([
10974
11090
  'react-flow__node',
10975
11091
  `react-flow__node-${nodeType}`,
@@ -10992,7 +11108,7 @@ function NodeWrapper({ id, onClick, onMouseEnter, onMouseMove, onMouseLeave, onC
10992
11108
  visibility: hasDimensions ? 'visible' : 'hidden',
10993
11109
  ...node.style,
10994
11110
  ...inlineDimensions,
10995
- }, "data-id": id, "data-testid": `rf__node-${id}`, onMouseEnter: onMouseEnterHandler, onMouseMove: onMouseMoveHandler, onMouseLeave: onMouseLeaveHandler, onContextMenu: onContextMenuHandler, onClick: onSelectNodeHandler, onDoubleClick: onDoubleClickHandler, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : undefined, "aria-describedby": disableKeyboardA11y ? undefined : `${ARIA_NODE_DESC_KEY}-${rfId}`, "aria-label": node.ariaLabel, children: jsxRuntimeExports.jsx(Provider, { value: id, children: jsxRuntimeExports.jsx(NodeComponent, { id: id, data: node.data, type: nodeType, positionAbsoluteX: internals.positionAbsolute.x, positionAbsoluteY: internals.positionAbsolute.y, selected: node.selected ?? false, selectable: isSelectable, draggable: isDraggable, deletable: node.deletable ?? true, isConnectable: isConnectable, sourcePosition: node.sourcePosition, targetPosition: node.targetPosition, dragging: dragging, dragHandle: node.dragHandle, zIndex: internals.z, parentId: node.parentId, ...nodeDimensions }) }) }));
11111
+ }, "data-id": id, "data-testid": `rf__node-${id}`, onMouseEnter: onMouseEnterHandler, onMouseMove: onMouseMoveHandler, onMouseLeave: onMouseLeaveHandler, onContextMenu: onContextMenuHandler, onClick: onSelectNodeHandler, onDoubleClick: onDoubleClickHandler, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, onFocus: isFocusable ? onFocus : undefined, role: node.ariaRole ?? (isFocusable ? 'group' : undefined), "aria-roledescription": "node", "aria-describedby": disableKeyboardA11y ? undefined : `${ARIA_NODE_DESC_KEY}-${rfId}`, "aria-label": node.ariaLabel, ...node.domAttributes, children: jsxRuntimeExports.jsx(Provider, { value: id, children: jsxRuntimeExports.jsx(NodeComponent, { id: id, data: node.data, type: nodeType, positionAbsoluteX: internals.positionAbsolute.x, positionAbsoluteY: internals.positionAbsolute.y, selected: node.selected ?? false, selectable: isSelectable, draggable: isDraggable, deletable: node.deletable ?? true, isConnectable: isConnectable, sourcePosition: node.sourcePosition, targetPosition: node.targetPosition, dragging: dragging, dragHandle: node.dragHandle, zIndex: internals.z, parentId: node.parentId, ...nodeDimensions }) }) }));
10996
11112
  }
10997
11113
 
10998
11114
  const selector$b = (s) => ({
@@ -11663,7 +11779,7 @@ function EdgeWrapper({ id, edgesFocusable, edgesReconnectable, elementsSelectabl
11663
11779
  updating: updateHover,
11664
11780
  selectable: isSelectable,
11665
11781
  },
11666
- ]), onClick: onEdgeClick, onDoubleClick: onEdgeDoubleClick, onContextMenu: onEdgeContextMenu, onMouseEnter: onEdgeMouseEnter, onMouseMove: onEdgeMouseMove, onMouseLeave: onEdgeMouseLeave, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : 'img', "data-id": id, "data-testid": `rf__edge-${id}`, "aria-label": edge.ariaLabel === null ? undefined : edge.ariaLabel || `Edge from ${edge.source} to ${edge.target}`, "aria-describedby": isFocusable ? `${ARIA_EDGE_DESC_KEY}-${rfId}` : undefined, ref: edgeRef, children: [!reconnecting && (jsxRuntimeExports.jsx(EdgeComponent, { id: id, source: edge.source, target: edge.target, type: edge.type, selected: edge.selected, animated: edge.animated, selectable: isSelectable, deletable: edge.deletable ?? true, label: edge.label, labelStyle: edge.labelStyle, labelShowBg: edge.labelShowBg, labelBgStyle: edge.labelBgStyle, labelBgPadding: edge.labelBgPadding, labelBgBorderRadius: edge.labelBgBorderRadius, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, data: edge.data, style: edge.style, sourceHandleId: edge.sourceHandle, targetHandleId: edge.targetHandle, markerStart: markerStartUrl, markerEnd: markerEndUrl, pathOptions: 'pathOptions' in edge ? edge.pathOptions : undefined, interactionWidth: edge.interactionWidth })), isReconnectable && (jsxRuntimeExports.jsx(EdgeUpdateAnchors, { edge: edge, isReconnectable: isReconnectable, reconnectRadius: reconnectRadius, onReconnect: onReconnect, onReconnectStart: onReconnectStart, onReconnectEnd: onReconnectEnd, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, setUpdateHover: setUpdateHover, setReconnecting: setReconnecting }))] }) }));
11782
+ ]), onClick: onEdgeClick, onDoubleClick: onEdgeDoubleClick, onContextMenu: onEdgeContextMenu, onMouseEnter: onEdgeMouseEnter, onMouseMove: onEdgeMouseMove, onMouseLeave: onEdgeMouseLeave, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: edge.ariaRole ?? (isFocusable ? 'group' : 'img'), "aria-roledescription": "edge", "data-id": id, "data-testid": `rf__edge-${id}`, "aria-label": edge.ariaLabel === null ? undefined : edge.ariaLabel || `Edge from ${edge.source} to ${edge.target}`, "aria-describedby": isFocusable ? `${ARIA_EDGE_DESC_KEY}-${rfId}` : undefined, ref: edgeRef, ...edge.domAttributes, children: [!reconnecting && (jsxRuntimeExports.jsx(EdgeComponent, { id: id, source: edge.source, target: edge.target, type: edge.type, selected: edge.selected, animated: edge.animated, selectable: isSelectable, deletable: edge.deletable ?? true, label: edge.label, labelStyle: edge.labelStyle, labelShowBg: edge.labelShowBg, labelBgStyle: edge.labelBgStyle, labelBgPadding: edge.labelBgPadding, labelBgBorderRadius: edge.labelBgBorderRadius, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, data: edge.data, style: edge.style, sourceHandleId: edge.sourceHandle, targetHandleId: edge.targetHandle, markerStart: markerStartUrl, markerEnd: markerEndUrl, pathOptions: 'pathOptions' in edge ? edge.pathOptions : undefined, interactionWidth: edge.interactionWidth })), isReconnectable && (jsxRuntimeExports.jsx(EdgeUpdateAnchors, { edge: edge, isReconnectable: isReconnectable, reconnectRadius: reconnectRadius, onReconnect: onReconnect, onReconnectStart: onReconnectStart, onReconnectEnd: onReconnectEnd, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, setUpdateHover: setUpdateHover, setReconnecting: setReconnecting }))] }) }));
11667
11783
  }
11668
11784
 
11669
11785
  const selector$a = (s) => ({
@@ -11941,6 +12057,7 @@ const getInitialState = ({ nodes, edges, defaultNodes, defaultEdges, width, heig
11941
12057
  ariaLiveMessage: '',
11942
12058
  autoPanOnConnect: true,
11943
12059
  autoPanOnNodeDrag: true,
12060
+ autoPanOnNodeFocus: true,
11944
12061
  autoPanSpeed: 15,
11945
12062
  connectionRadius: 20,
11946
12063
  onError: devWarn,
@@ -11948,6 +12065,7 @@ const getInitialState = ({ nodes, edges, defaultNodes, defaultEdges, width, heig
11948
12065
  onSelectionChangeHandlers: [],
11949
12066
  lib: 'react',
11950
12067
  debug: false,
12068
+ ariaLabelConfig: defaultAriaLabelConfig,
11951
12069
  };
11952
12070
  };
11953
12071
 
@@ -12206,6 +12324,19 @@ const createStore = ({ nodes, edges, defaultNodes, defaultEdges, width, height,
12206
12324
  const { transform, width, height, panZoom, translateExtent } = get();
12207
12325
  return panBy({ delta, panZoom, transform, translateExtent, width, height });
12208
12326
  },
12327
+ setCenter: async (x, y, options) => {
12328
+ const { width, height, maxZoom, panZoom } = get();
12329
+ if (!panZoom) {
12330
+ return Promise.resolve(false);
12331
+ }
12332
+ const nextZoom = typeof options?.zoom !== 'undefined' ? options.zoom : maxZoom;
12333
+ await panZoom.setViewport({
12334
+ x: width / 2 - x * nextZoom,
12335
+ y: height / 2 - y * nextZoom,
12336
+ zoom: nextZoom,
12337
+ }, { duration: options?.duration, ease: options?.ease, interpolate: options?.interpolate });
12338
+ return Promise.resolve(true);
12339
+ },
12209
12340
  cancelConnection: () => {
12210
12341
  set({
12211
12342
  connection: { ...initialConnection },
@@ -12289,7 +12420,7 @@ const wrapperStyle = {
12289
12420
  position: 'relative',
12290
12421
  zIndex: 0,
12291
12422
  };
12292
- function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTypes, edgeTypes, onNodeClick, onEdgeClick, onInit, onMove, onMoveStart, onMoveEnd, onConnect, onConnectStart, onConnectEnd, onClickConnectStart, onClickConnectEnd, onNodeMouseEnter, onNodeMouseMove, onNodeMouseLeave, onNodeContextMenu, onNodeDoubleClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onNodesDelete, onEdgesDelete, onDelete, onSelectionChange, onSelectionDragStart, onSelectionDrag, onSelectionDragStop, onSelectionContextMenu, onSelectionStart, onSelectionEnd, onBeforeDelete, connectionMode, connectionLineType = ConnectionLineType.Bezier, connectionLineStyle, connectionLineComponent, connectionLineContainerStyle, deleteKeyCode = 'Backspace', selectionKeyCode = 'Shift', selectionOnDrag = false, selectionMode = SelectionMode.Full, panActivationKeyCode = 'Space', multiSelectionKeyCode = isMacOs() ? 'Meta' : 'Control', zoomActivationKeyCode = isMacOs() ? 'Meta' : 'Control', snapToGrid, snapGrid, onlyRenderVisibleElements = false, selectNodesOnDrag, nodesDraggable, nodesConnectable, nodesFocusable, nodeOrigin = defaultNodeOrigin, edgesFocusable, edgesReconnectable, elementsSelectable = true, defaultViewport: defaultViewport$1 = defaultViewport, minZoom = 0.5, maxZoom = 2, translateExtent = infiniteExtent, preventScrolling = true, nodeExtent, defaultMarkerColor = '#b1b1b7', zoomOnScroll = true, zoomOnPinch = true, panOnScroll = false, panOnScrollSpeed = 0.5, panOnScrollMode = PanOnScrollMode.Free, zoomOnDoubleClick = true, panOnDrag = true, onPaneClick, onPaneMouseEnter, onPaneMouseMove, onPaneMouseLeave, onPaneScroll, onPaneContextMenu, paneClickDistance = 0, nodeClickDistance = 0, children, onReconnect, onReconnectStart, onReconnectEnd, onEdgeContextMenu, onEdgeDoubleClick, onEdgeMouseEnter, onEdgeMouseMove, onEdgeMouseLeave, reconnectRadius = 10, onNodesChange, onEdgesChange, noDragClassName = 'nodrag', noWheelClassName = 'nowheel', noPanClassName = 'nopan', fitView, fitViewOptions, connectOnClick, attributionPosition, proOptions, defaultEdgeOptions, elevateNodesOnSelect, elevateEdgesOnSelect, disableKeyboardA11y = false, autoPanOnConnect, autoPanOnNodeDrag, autoPanSpeed, connectionRadius, isValidConnection, onError, style, id, nodeDragThreshold, viewport, onViewportChange, width, height, colorMode = 'light', debug, onScroll, ...rest }, ref) {
12423
+ function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTypes, edgeTypes, onNodeClick, onEdgeClick, onInit, onMove, onMoveStart, onMoveEnd, onConnect, onConnectStart, onConnectEnd, onClickConnectStart, onClickConnectEnd, onNodeMouseEnter, onNodeMouseMove, onNodeMouseLeave, onNodeContextMenu, onNodeDoubleClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onNodesDelete, onEdgesDelete, onDelete, onSelectionChange, onSelectionDragStart, onSelectionDrag, onSelectionDragStop, onSelectionContextMenu, onSelectionStart, onSelectionEnd, onBeforeDelete, connectionMode, connectionLineType = ConnectionLineType.Bezier, connectionLineStyle, connectionLineComponent, connectionLineContainerStyle, deleteKeyCode = 'Backspace', selectionKeyCode = 'Shift', selectionOnDrag = false, selectionMode = SelectionMode.Full, panActivationKeyCode = 'Space', multiSelectionKeyCode = isMacOs() ? 'Meta' : 'Control', zoomActivationKeyCode = isMacOs() ? 'Meta' : 'Control', snapToGrid, snapGrid, onlyRenderVisibleElements = false, selectNodesOnDrag, nodesDraggable, autoPanOnNodeFocus, nodesConnectable, nodesFocusable, nodeOrigin = defaultNodeOrigin, edgesFocusable, edgesReconnectable, elementsSelectable = true, defaultViewport: defaultViewport$1 = defaultViewport, minZoom = 0.5, maxZoom = 2, translateExtent = infiniteExtent, preventScrolling = true, nodeExtent, defaultMarkerColor = '#b1b1b7', zoomOnScroll = true, zoomOnPinch = true, panOnScroll = false, panOnScrollSpeed = 0.5, panOnScrollMode = PanOnScrollMode.Free, zoomOnDoubleClick = true, panOnDrag = true, onPaneClick, onPaneMouseEnter, onPaneMouseMove, onPaneMouseLeave, onPaneScroll, onPaneContextMenu, paneClickDistance = 0, nodeClickDistance = 0, children, onReconnect, onReconnectStart, onReconnectEnd, onEdgeContextMenu, onEdgeDoubleClick, onEdgeMouseEnter, onEdgeMouseMove, onEdgeMouseLeave, reconnectRadius = 10, onNodesChange, onEdgesChange, noDragClassName = 'nodrag', noWheelClassName = 'nowheel', noPanClassName = 'nopan', fitView, fitViewOptions, connectOnClick, attributionPosition, proOptions, defaultEdgeOptions, elevateNodesOnSelect, elevateEdgesOnSelect, disableKeyboardA11y = false, autoPanOnConnect, autoPanOnNodeDrag, autoPanSpeed, connectionRadius, isValidConnection, onError, style, id, nodeDragThreshold, viewport, onViewportChange, width, height, colorMode = 'light', debug, onScroll, ariaLabelConfig, ...rest }, ref) {
12293
12424
  const rfId = id || '1';
12294
12425
  const colorModeClassName = useColorModeClass(colorMode);
12295
12426
  // Undo scroll events, preventing viewport from shifting when nodes outside of it are focused
@@ -12297,7 +12428,7 @@ function ReactFlow({ nodes, edges, defaultNodes, defaultEdges, className, nodeTy
12297
12428
  e.currentTarget.scrollTo({ top: 0, left: 0, behavior: 'instant' });
12298
12429
  onScroll?.(e);
12299
12430
  }, [onScroll]);
12300
- return (jsxRuntimeExports.jsx("div", { "data-testid": "rf__wrapper", ...rest, onScroll: wrapperOnScroll, style: { ...style, ...wrapperStyle }, ref: ref, className: cc(['react-flow', className, colorModeClassName]), id: id, children: jsxRuntimeExports.jsxs(Wrapper, { nodes: nodes, edges: edges, width: width, height: height, fitView: fitView, fitViewOptions: fitViewOptions, minZoom: minZoom, maxZoom: maxZoom, nodeOrigin: nodeOrigin, nodeExtent: nodeExtent, children: [jsxRuntimeExports.jsx(GraphView, { onInit: onInit, onNodeClick: onNodeClick, onEdgeClick: onEdgeClick, onNodeMouseEnter: onNodeMouseEnter, onNodeMouseMove: onNodeMouseMove, onNodeMouseLeave: onNodeMouseLeave, onNodeContextMenu: onNodeContextMenu, onNodeDoubleClick: onNodeDoubleClick, nodeTypes: nodeTypes, edgeTypes: edgeTypes, connectionLineType: connectionLineType, connectionLineStyle: connectionLineStyle, connectionLineComponent: connectionLineComponent, connectionLineContainerStyle: connectionLineContainerStyle, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, deleteKeyCode: deleteKeyCode, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, onlyRenderVisibleElements: onlyRenderVisibleElements, defaultViewport: defaultViewport$1, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, preventScrolling: preventScrolling, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneScroll: onPaneScroll, onPaneContextMenu: onPaneContextMenu, paneClickDistance: paneClickDistance, nodeClickDistance: nodeClickDistance, onSelectionContextMenu: onSelectionContextMenu, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, onReconnect: onReconnect, onReconnectStart: onReconnectStart, onReconnectEnd: onReconnectEnd, onEdgeContextMenu: onEdgeContextMenu, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, reconnectRadius: reconnectRadius, defaultMarkerColor: defaultMarkerColor, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, rfId: rfId, disableKeyboardA11y: disableKeyboardA11y, nodeExtent: nodeExtent, viewport: viewport, onViewportChange: onViewportChange }), jsxRuntimeExports.jsx(StoreUpdater, { nodes: nodes, edges: edges, defaultNodes: defaultNodes, defaultEdges: defaultEdges, onConnect: onConnect, onConnectStart: onConnectStart, onConnectEnd: onConnectEnd, onClickConnectStart: onClickConnectStart, onClickConnectEnd: onClickConnectEnd, nodesDraggable: nodesDraggable, nodesConnectable: nodesConnectable, nodesFocusable: nodesFocusable, edgesFocusable: edgesFocusable, edgesReconnectable: edgesReconnectable, elementsSelectable: elementsSelectable, elevateNodesOnSelect: elevateNodesOnSelect, elevateEdgesOnSelect: elevateEdgesOnSelect, minZoom: minZoom, maxZoom: maxZoom, nodeExtent: nodeExtent, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, snapToGrid: snapToGrid, snapGrid: snapGrid, connectionMode: connectionMode, translateExtent: translateExtent, connectOnClick: connectOnClick, defaultEdgeOptions: defaultEdgeOptions, fitView: fitView, fitViewOptions: fitViewOptions, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onDelete: onDelete, onNodeDragStart: onNodeDragStart, onNodeDrag: onNodeDrag, onNodeDragStop: onNodeDragStop, onSelectionDrag: onSelectionDrag, onSelectionDragStart: onSelectionDragStart, onSelectionDragStop: onSelectionDragStop, onMove: onMove, onMoveStart: onMoveStart, onMoveEnd: onMoveEnd, noPanClassName: noPanClassName, nodeOrigin: nodeOrigin, rfId: rfId, autoPanOnConnect: autoPanOnConnect, autoPanOnNodeDrag: autoPanOnNodeDrag, autoPanSpeed: autoPanSpeed, onError: onError, connectionRadius: connectionRadius, isValidConnection: isValidConnection, selectNodesOnDrag: selectNodesOnDrag, nodeDragThreshold: nodeDragThreshold, onBeforeDelete: onBeforeDelete, paneClickDistance: paneClickDistance, debug: debug }), jsxRuntimeExports.jsx(SelectionListener, { onSelectionChange: onSelectionChange }), children, jsxRuntimeExports.jsx(Attribution, { proOptions: proOptions, position: attributionPosition }), jsxRuntimeExports.jsx(A11yDescriptions, { rfId: rfId, disableKeyboardA11y: disableKeyboardA11y })] }) }));
12431
+ return (jsxRuntimeExports.jsx("div", { "data-testid": "rf__wrapper", ...rest, onScroll: wrapperOnScroll, style: { ...style, ...wrapperStyle }, ref: ref, className: cc(['react-flow', className, colorModeClassName]), id: id, role: "application", children: jsxRuntimeExports.jsxs(Wrapper, { nodes: nodes, edges: edges, width: width, height: height, fitView: fitView, fitViewOptions: fitViewOptions, minZoom: minZoom, maxZoom: maxZoom, nodeOrigin: nodeOrigin, nodeExtent: nodeExtent, children: [jsxRuntimeExports.jsx(GraphView, { onInit: onInit, onNodeClick: onNodeClick, onEdgeClick: onEdgeClick, onNodeMouseEnter: onNodeMouseEnter, onNodeMouseMove: onNodeMouseMove, onNodeMouseLeave: onNodeMouseLeave, onNodeContextMenu: onNodeContextMenu, onNodeDoubleClick: onNodeDoubleClick, nodeTypes: nodeTypes, edgeTypes: edgeTypes, connectionLineType: connectionLineType, connectionLineStyle: connectionLineStyle, connectionLineComponent: connectionLineComponent, connectionLineContainerStyle: connectionLineContainerStyle, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, deleteKeyCode: deleteKeyCode, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, onlyRenderVisibleElements: onlyRenderVisibleElements, defaultViewport: defaultViewport$1, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, preventScrolling: preventScrolling, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneScroll: onPaneScroll, onPaneContextMenu: onPaneContextMenu, paneClickDistance: paneClickDistance, nodeClickDistance: nodeClickDistance, onSelectionContextMenu: onSelectionContextMenu, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, onReconnect: onReconnect, onReconnectStart: onReconnectStart, onReconnectEnd: onReconnectEnd, onEdgeContextMenu: onEdgeContextMenu, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, reconnectRadius: reconnectRadius, defaultMarkerColor: defaultMarkerColor, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, rfId: rfId, disableKeyboardA11y: disableKeyboardA11y, nodeExtent: nodeExtent, viewport: viewport, onViewportChange: onViewportChange }), jsxRuntimeExports.jsx(StoreUpdater, { nodes: nodes, edges: edges, defaultNodes: defaultNodes, defaultEdges: defaultEdges, onConnect: onConnect, onConnectStart: onConnectStart, onConnectEnd: onConnectEnd, onClickConnectStart: onClickConnectStart, onClickConnectEnd: onClickConnectEnd, nodesDraggable: nodesDraggable, autoPanOnNodeFocus: autoPanOnNodeFocus, nodesConnectable: nodesConnectable, nodesFocusable: nodesFocusable, edgesFocusable: edgesFocusable, edgesReconnectable: edgesReconnectable, elementsSelectable: elementsSelectable, elevateNodesOnSelect: elevateNodesOnSelect, elevateEdgesOnSelect: elevateEdgesOnSelect, minZoom: minZoom, maxZoom: maxZoom, nodeExtent: nodeExtent, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, snapToGrid: snapToGrid, snapGrid: snapGrid, connectionMode: connectionMode, translateExtent: translateExtent, connectOnClick: connectOnClick, defaultEdgeOptions: defaultEdgeOptions, fitView: fitView, fitViewOptions: fitViewOptions, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onDelete: onDelete, onNodeDragStart: onNodeDragStart, onNodeDrag: onNodeDrag, onNodeDragStop: onNodeDragStop, onSelectionDrag: onSelectionDrag, onSelectionDragStart: onSelectionDragStart, onSelectionDragStop: onSelectionDragStop, onMove: onMove, onMoveStart: onMoveStart, onMoveEnd: onMoveEnd, noPanClassName: noPanClassName, nodeOrigin: nodeOrigin, rfId: rfId, autoPanOnConnect: autoPanOnConnect, autoPanOnNodeDrag: autoPanOnNodeDrag, autoPanSpeed: autoPanSpeed, onError: onError, connectionRadius: connectionRadius, isValidConnection: isValidConnection, selectNodesOnDrag: selectNodesOnDrag, nodeDragThreshold: nodeDragThreshold, onBeforeDelete: onBeforeDelete, paneClickDistance: paneClickDistance, debug: debug, ariaLabelConfig: ariaLabelConfig }), jsxRuntimeExports.jsx(SelectionListener, { onSelectionChange: onSelectionChange }), children, jsxRuntimeExports.jsx(Attribution, { proOptions: proOptions, position: attributionPosition }), jsxRuntimeExports.jsx(A11yDescriptions, { rfId: rfId, disableKeyboardA11y: disableKeyboardA11y })] }) }));
12301
12432
  }
12302
12433
  /**
12303
12434
  * The `<ReactFlow />` component is the heart of your React Flow application.
@@ -12634,10 +12765,11 @@ const selector$2 = (s) => ({
12634
12765
  isInteractive: s.nodesDraggable || s.nodesConnectable || s.elementsSelectable,
12635
12766
  minZoomReached: s.transform[2] <= s.minZoom,
12636
12767
  maxZoomReached: s.transform[2] >= s.maxZoom,
12768
+ ariaLabelConfig: s.ariaLabelConfig,
12637
12769
  });
12638
- function ControlsComponent({ style, showZoom = true, showFitView = true, showInteractive = true, fitViewOptions, onZoomIn, onZoomOut, onFitView, onInteractiveChange, className, children, position = 'bottom-left', orientation = 'vertical', 'aria-label': ariaLabel = 'React Flow controls', }) {
12770
+ function ControlsComponent({ style, showZoom = true, showFitView = true, showInteractive = true, fitViewOptions, onZoomIn, onZoomOut, onFitView, onInteractiveChange, className, children, position = 'bottom-left', orientation = 'vertical', 'aria-label': ariaLabel, }) {
12639
12771
  const store = useStoreApi();
12640
- const { isInteractive, minZoomReached, maxZoomReached } = useStore(selector$2, shallow$1);
12772
+ const { isInteractive, minZoomReached, maxZoomReached, ariaLabelConfig } = useStore(selector$2, shallow$1);
12641
12773
  const { zoomIn, zoomOut, fitView } = useReactFlow();
12642
12774
  const onZoomInHandler = () => {
12643
12775
  zoomIn();
@@ -12660,7 +12792,7 @@ function ControlsComponent({ style, showZoom = true, showFitView = true, showInt
12660
12792
  onInteractiveChange?.(!isInteractive);
12661
12793
  };
12662
12794
  const orientationClass = orientation === 'horizontal' ? 'horizontal' : 'vertical';
12663
- return (jsxRuntimeExports.jsxs(Panel, { className: cc(['react-flow__controls', orientationClass, className]), position: position, style: style, "data-testid": "rf__controls", "aria-label": ariaLabel, children: [showZoom && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(ControlButton, { onClick: onZoomInHandler, className: "react-flow__controls-zoomin", title: "zoom in", "aria-label": "zoom in", disabled: maxZoomReached, children: jsxRuntimeExports.jsx(PlusIcon, {}) }), jsxRuntimeExports.jsx(ControlButton, { onClick: onZoomOutHandler, className: "react-flow__controls-zoomout", title: "zoom out", "aria-label": "zoom out", disabled: minZoomReached, children: jsxRuntimeExports.jsx(MinusIcon, {}) })] })), showFitView && (jsxRuntimeExports.jsx(ControlButton, { className: "react-flow__controls-fitview", onClick: onFitViewHandler, title: "fit view", "aria-label": "fit view", children: jsxRuntimeExports.jsx(FitViewIcon, {}) })), showInteractive && (jsxRuntimeExports.jsx(ControlButton, { className: "react-flow__controls-interactive", onClick: onToggleInteractivity, title: "toggle interactivity", "aria-label": "toggle interactivity", children: isInteractive ? jsxRuntimeExports.jsx(UnlockIcon, {}) : jsxRuntimeExports.jsx(LockIcon, {}) })), children] }));
12795
+ return (jsxRuntimeExports.jsxs(Panel, { className: cc(['react-flow__controls', orientationClass, className]), position: position, style: style, "data-testid": "rf__controls", "aria-label": ariaLabel ?? ariaLabelConfig['controls.ariaLabel'], children: [showZoom && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(ControlButton, { onClick: onZoomInHandler, className: "react-flow__controls-zoomin", title: ariaLabelConfig['controls.zoomIn.ariaLabel'], "aria-label": ariaLabelConfig['controls.zoomIn.ariaLabel'], disabled: maxZoomReached, children: jsxRuntimeExports.jsx(PlusIcon, {}) }), jsxRuntimeExports.jsx(ControlButton, { onClick: onZoomOutHandler, className: "react-flow__controls-zoomout", title: ariaLabelConfig['controls.zoomOut.ariaLabel'], "aria-label": ariaLabelConfig['controls.zoomOut.ariaLabel'], disabled: minZoomReached, children: jsxRuntimeExports.jsx(MinusIcon, {}) })] })), showFitView && (jsxRuntimeExports.jsx(ControlButton, { className: "react-flow__controls-fitview", onClick: onFitViewHandler, title: ariaLabelConfig['controls.fitView.ariaLabel'], "aria-label": ariaLabelConfig['controls.fitView.ariaLabel'], children: jsxRuntimeExports.jsx(FitViewIcon, {}) })), showInteractive && (jsxRuntimeExports.jsx(ControlButton, { className: "react-flow__controls-interactive", onClick: onToggleInteractivity, title: ariaLabelConfig['controls.interactive.ariaLabel'], "aria-label": ariaLabelConfig['controls.interactive.ariaLabel'], children: isInteractive ? jsxRuntimeExports.jsx(UnlockIcon, {}) : jsxRuntimeExports.jsx(LockIcon, {}) })), children] }));
12664
12796
  }
12665
12797
  ControlsComponent.displayName = 'Controls';
12666
12798
  /**
@@ -12762,6 +12894,7 @@ const selector$1 = (s) => {
12762
12894
  translateExtent: s.translateExtent,
12763
12895
  flowWidth: s.width,
12764
12896
  flowHeight: s.height,
12897
+ ariaLabelConfig: s.ariaLabelConfig,
12765
12898
  };
12766
12899
  };
12767
12900
  const ARIA_LABEL_KEY = 'react-flow__minimap-desc';
@@ -12770,10 +12903,10 @@ function MiniMapComponent({ style, className, nodeStrokeColor, nodeColor, nodeCl
12770
12903
  * We need to rename the prop to be `CapitalCase` so that JSX will render it as
12771
12904
  * a component properly.
12772
12905
  */
12773
- nodeComponent, bgColor, maskColor, maskStrokeColor, maskStrokeWidth, position = 'bottom-right', onClick, onNodeClick, pannable = false, zoomable = false, ariaLabel = 'React Flow mini map', inversePan, zoomStep = 10, offsetScale = 5, }) {
12906
+ nodeComponent, bgColor, maskColor, maskStrokeColor, maskStrokeWidth, position = 'bottom-right', onClick, onNodeClick, pannable = false, zoomable = false, ariaLabel, inversePan, zoomStep = 10, offsetScale = 5, }) {
12774
12907
  const store = useStoreApi();
12775
12908
  const svg = useRef(null);
12776
- const { boundingRect, viewBB, rfId, panZoom, translateExtent, flowWidth, flowHeight } = useStore(selector$1, shallow$1);
12909
+ const { boundingRect, viewBB, rfId, panZoom, translateExtent, flowWidth, flowHeight, ariaLabelConfig } = useStore(selector$1, shallow$1);
12777
12910
  const elementWidth = style?.width ?? defaultWidth;
12778
12911
  const elementHeight = style?.height ?? defaultHeight;
12779
12912
  const scaledWidth = boundingRect.width / elementWidth;
@@ -12826,6 +12959,7 @@ nodeComponent, bgColor, maskColor, maskStrokeColor, maskStrokeWidth, position =
12826
12959
  onNodeClick(event, node);
12827
12960
  }, [])
12828
12961
  : undefined;
12962
+ const _ariaLabel = ariaLabel ?? ariaLabelConfig['minimap.ariaLabel'];
12829
12963
  return (jsxRuntimeExports.jsx(Panel, { position: position, style: {
12830
12964
  ...style,
12831
12965
  '--xy-minimap-background-color-props': typeof bgColor === 'string' ? bgColor : undefined,
@@ -12835,7 +12969,7 @@ nodeComponent, bgColor, maskColor, maskStrokeColor, maskStrokeWidth, position =
12835
12969
  '--xy-minimap-node-background-color-props': typeof nodeColor === 'string' ? nodeColor : undefined,
12836
12970
  '--xy-minimap-node-stroke-color-props': typeof nodeStrokeColor === 'string' ? nodeStrokeColor : undefined,
12837
12971
  '--xy-minimap-node-stroke-width-props': typeof nodeStrokeWidth === 'number' ? nodeStrokeWidth : undefined,
12838
- }, className: cc(['react-flow__minimap', className]), "data-testid": "rf__minimap", children: jsxRuntimeExports.jsxs("svg", { width: elementWidth, height: elementHeight, viewBox: `${x} ${y} ${width} ${height}`, className: "react-flow__minimap-svg", role: "img", "aria-labelledby": labelledBy, ref: svg, onClick: onSvgClick, children: [ariaLabel && jsxRuntimeExports.jsx("title", { id: labelledBy, children: ariaLabel }), jsxRuntimeExports.jsx(MiniMapNodes$1, { onClick: onSvgNodeClick, nodeColor: nodeColor, nodeStrokeColor: nodeStrokeColor, nodeBorderRadius: nodeBorderRadius, nodeClassName: nodeClassName, nodeStrokeWidth: nodeStrokeWidth, nodeComponent: nodeComponent }), jsxRuntimeExports.jsx("path", { className: "react-flow__minimap-mask", d: `M${x - offset},${y - offset}h${width + offset * 2}v${height + offset * 2}h${-width - offset * 2}z
12972
+ }, className: cc(['react-flow__minimap', className]), "data-testid": "rf__minimap", children: jsxRuntimeExports.jsxs("svg", { width: elementWidth, height: elementHeight, viewBox: `${x} ${y} ${width} ${height}`, className: "react-flow__minimap-svg", role: "img", "aria-labelledby": labelledBy, ref: svg, onClick: onSvgClick, children: [_ariaLabel && jsxRuntimeExports.jsx("title", { id: labelledBy, children: _ariaLabel }), jsxRuntimeExports.jsx(MiniMapNodes$1, { onClick: onSvgNodeClick, nodeColor: nodeColor, nodeStrokeColor: nodeStrokeColor, nodeBorderRadius: nodeBorderRadius, nodeClassName: nodeClassName, nodeStrokeWidth: nodeStrokeWidth, nodeComponent: nodeComponent }), jsxRuntimeExports.jsx("path", { className: "react-flow__minimap-mask", d: `M${x - offset},${y - offset}h${width + offset * 2}v${height + offset * 2}h${-width - offset * 2}z
12839
12973
  M${viewBB.x},${viewBB.y}h${viewBB.width}v${viewBB.height}h${-viewBB.width}z`, fillRule: "evenodd", pointerEvents: "none" })] }) }));
12840
12974
  }
12841
12975
  MiniMapComponent.displayName = 'MiniMap';
@@ -12861,14 +12995,20 @@ MiniMapComponent.displayName = 'MiniMap';
12861
12995
  */
12862
12996
  memo(MiniMapComponent);
12863
12997
 
12864
- function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle, className, style = {}, children, color, minWidth = 10, minHeight = 10, maxWidth = Number.MAX_VALUE, maxHeight = Number.MAX_VALUE, keepAspectRatio = false, resizeDirection, shouldResize, onResizeStart, onResize, onResizeEnd, }) {
12998
+ const scaleSelector = (calculateScale) => (store) => calculateScale ? `${Math.max(1 / store.transform[2], 1)}` : undefined;
12999
+ const defaultPositions = {
13000
+ [ResizeControlVariant.Line]: 'right',
13001
+ [ResizeControlVariant.Handle]: 'bottom-right',
13002
+ };
13003
+ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle, className, style = undefined, children, color, minWidth = 10, minHeight = 10, maxWidth = Number.MAX_VALUE, maxHeight = Number.MAX_VALUE, keepAspectRatio = false, resizeDirection, autoScale = true, shouldResize, onResizeStart, onResize, onResizeEnd, }) {
12865
13004
  const contextNodeId = useNodeId();
12866
13005
  const id = typeof nodeId === 'string' ? nodeId : contextNodeId;
12867
13006
  const store = useStoreApi();
12868
13007
  const resizeControlRef = useRef(null);
12869
- const defaultPosition = variant === ResizeControlVariant.Line ? 'right' : 'bottom-right';
12870
- const controlPosition = position ?? defaultPosition;
13008
+ const isHandleControl = variant === ResizeControlVariant.Handle;
13009
+ const scale = useStore(useCallback(scaleSelector(isHandleControl && autoScale), [isHandleControl, autoScale]), shallow$1);
12871
13010
  const resizer = useRef(null);
13011
+ const controlPosition = position ?? defaultPositions[variant];
12872
13012
  useEffect(() => {
12873
13013
  if (!resizeControlRef.current || !id) {
12874
13014
  return;
@@ -12994,9 +13134,11 @@ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle
12994
13134
  shouldResize,
12995
13135
  ]);
12996
13136
  const positionClassNames = controlPosition.split('-');
12997
- const colorStyleProp = variant === ResizeControlVariant.Line ? 'borderColor' : 'backgroundColor';
12998
- const controlStyle = color ? { ...style, [colorStyleProp]: color } : style;
12999
- return (jsxRuntimeExports.jsx("div", { className: cc(['react-flow__resize-control', 'nodrag', ...positionClassNames, variant, className]), ref: resizeControlRef, style: controlStyle, children: children }));
13137
+ return (jsxRuntimeExports.jsx("div", { className: cc(['react-flow__resize-control', 'nodrag', ...positionClassNames, variant, className]), ref: resizeControlRef, style: {
13138
+ ...style,
13139
+ scale,
13140
+ ...(color && { [isHandleControl ? 'backgroundColor' : 'borderColor']: color }),
13141
+ }, children: children }));
13000
13142
  }
13001
13143
  /**
13002
13144
  * To create your own resizing UI, you can use the `NodeResizeControl` component where you can pass children (such as icons).
@@ -16042,7 +16184,7 @@ const Describe$1 = ({ source, fetchDescribeSource }) => {
16042
16184
  const data = [];
16043
16185
  data.push({
16044
16186
  type: DataCardFieldTypes.CopyText,
16045
- value: `kubectl get pod ${podName.value} -n ${describe?.namespace?.value || source.namespace}`,
16187
+ value: `kubectl get pod ${podName.value} -n ${describe?.namespace?.value || source.namespace}`.toLowerCase(),
16046
16188
  });
16047
16189
  data.push(divider);
16048
16190
  data.push({
@@ -16136,7 +16278,7 @@ const buildCard = (source) => {
16136
16278
  { type: DataCardFieldTypes.Divider },
16137
16279
  {
16138
16280
  type: DataCardFieldTypes.CopyText,
16139
- value: `kubectl get ${kind} ${name} -n ${namespace}`,
16281
+ value: `kubectl get ${kind} ${name} -n ${namespace}`.toLowerCase(),
16140
16282
  },
16141
16283
  ];
16142
16284
  return arr;
@@ -16200,6 +16342,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource, resta
16200
16342
  return {
16201
16343
  type: DataCardFieldTypes.SourceContainer,
16202
16344
  value: JSON.stringify(value),
16345
+ callback: async (payload) => await updateSource(drawerEntityId, payload),
16203
16346
  };
16204
16347
  }) || [];
16205
16348
  return {
@@ -16207,7 +16350,24 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource, resta
16207
16350
  isLoading: runtimeCondition?.status === OtherStatus.Loading,
16208
16351
  items: mappedContainers,
16209
16352
  };
16210
- }, [thisItem]);
16353
+ }, [thisItem, drawerEntityId]);
16354
+ const tabs = useMemo(() => {
16355
+ const arr = [
16356
+ {
16357
+ label: Tabs.Overview,
16358
+ onClick: () => setSelectedTab(Tabs.Overview),
16359
+ selected: selectedTab === Tabs.Overview,
16360
+ },
16361
+ ];
16362
+ if (thisItem?.kind !== K8sResourceKind.CronJob) {
16363
+ arr.push({
16364
+ label: Tabs.Pods,
16365
+ onClick: () => setSelectedTab(Tabs.Pods),
16366
+ selected: selectedTab === Tabs.Pods,
16367
+ });
16368
+ }
16369
+ return arr;
16370
+ }, [thisItem?.kind, selectedTab]);
16211
16371
  if (!thisItem)
16212
16372
  return null;
16213
16373
  const handleEdit = (bool) => {
@@ -16234,18 +16394,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource, resta
16234
16394
  setIsFormDirty(false);
16235
16395
  setIsEditing(false);
16236
16396
  };
16237
- 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.', hideEditTitleFromEdit: true, 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: sourcesByStream.length === 1, tabs: [
16238
- {
16239
- label: Tabs.Overview,
16240
- onClick: () => setSelectedTab(Tabs.Overview),
16241
- selected: selectedTab === Tabs.Overview,
16242
- },
16243
- {
16244
- label: Tabs.Pods,
16245
- onClick: () => setSelectedTab(Tabs.Pods),
16246
- selected: selectedTab === Tabs.Pods,
16247
- },
16248
- ], headerActionButtons: [
16397
+ 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.', hideEditTitleFromEdit: true, 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: sourcesByStream.length === 1, tabs: tabs, headerActionButtons: [
16249
16398
  {
16250
16399
  'data-id': 'rollout-restart',
16251
16400
  variant: 'tertiary',