@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.
- package/CHANGELOG.md +14 -0
- package/eslint.config.mjs +4 -1
- package/lib/components/auto-complete-input/auto-complete-input.stories.d.ts +1 -1
- package/lib/components/badge/badge.stories.d.ts +1 -1
- package/lib/components/button/button.stories.d.ts +1 -1
- package/lib/components/cancel-warning/cancel-warning.stories.d.ts +1 -1
- package/lib/components/checkbox/checkbox.stories.d.ts +1 -1
- package/lib/components/code/code.stories.d.ts +1 -1
- package/lib/components/condition-details/condition-details.stories.d.ts +1 -1
- package/lib/components/data-card/data-card-fields/index.d.ts +1 -0
- package/lib/components/data-card/data-card-fields/override-runtime.d.ts +9 -0
- package/lib/components/data-card/data-card.stories.d.ts +1 -1
- package/lib/components/data-tab/data-tab.stories.d.ts +1 -1
- package/lib/components/delete-warning/delete-warning.stories.d.ts +1 -1
- package/lib/components/describe-row/describe-row.stories.d.ts +1 -1
- package/lib/components/divider/divider.stories.d.ts +1 -1
- package/lib/components/docs-button/docs-button.stories.d.ts +1 -1
- package/lib/components/drawer/drawer.stories.d.ts +1 -1
- package/lib/components/dropdown/dropdown.stories.d.ts +1 -1
- package/lib/components/dropdown/index.d.ts +4 -2
- package/lib/components/error-boundary/error-boundary.stories.d.ts +1 -1
- package/lib/components/extend-arrow/extend-arrow.stories.d.ts +1 -1
- package/lib/components/fade-loader/fade-loader.stories.d.ts +1 -1
- package/lib/components/field-error/field-error.stories.d.ts +1 -1
- package/lib/components/field-label/field-label.stories.d.ts +1 -1
- package/lib/components/header/header.stories.d.ts +1 -1
- package/lib/components/icon-button/icon-button.stories.d.ts +1 -1
- package/lib/components/icon-group/icon-group.stories.d.ts +1 -1
- package/lib/components/icon-title-badge/icon-title-badge.stories.d.ts +1 -1
- package/lib/components/icon-wrapped/icon-wrapped.stories.d.ts +1 -1
- package/lib/components/icons-nav/icons-nav.stories.d.ts +1 -1
- package/lib/components/image-controlled/image-controlled.stories.d.ts +1 -1
- package/lib/components/input/input.stories.d.ts +1 -1
- package/lib/components/input-list/input-list.stories.d.ts +1 -1
- package/lib/components/input-table/input-table.stories.d.ts +1 -1
- package/lib/components/interactive-table/interactive-table.stories.d.ts +1 -1
- package/lib/components/key-value-input-list/key-value-input-list.stories.d.ts +1 -1
- package/lib/components/modal/modal.stories.d.ts +1 -1
- package/lib/components/monitors-checkboxes/monitors-checkboxes.stories.d.ts +1 -1
- package/lib/components/monitors-icons/monitors-icons.stories.d.ts +1 -1
- package/lib/components/navigation-buttons/navigation-buttons.stories.d.ts +1 -1
- package/lib/components/no-data-found/no-data-found.stories.d.ts +1 -1
- package/lib/components/notification-note/notification-note.stories.d.ts +1 -1
- package/lib/components/scroll-x/scroll-x.stories.d.ts +1 -1
- package/lib/components/section-title/section-title.stories.d.ts +1 -1
- package/lib/components/segment/segment.stories.d.ts +1 -1
- package/lib/components/selection-button/selection-button.stories.d.ts +1 -1
- package/lib/components/skeleton-loader/skeleton-loader.stories.d.ts +1 -1
- package/lib/components/status/status.stories.d.ts +1 -1
- package/lib/components/stepper/stepper.stories.d.ts +1 -1
- package/lib/components/text/text.stories.d.ts +1 -1
- package/lib/components/textarea/textarea.stories.d.ts +1 -1
- package/lib/components/toggle/toggle.stories.d.ts +1 -1
- package/lib/components/tooltip/tooltip.stories.d.ts +1 -1
- package/lib/components/trace-loader/trace-loader.stories.d.ts +1 -1
- package/lib/components/warning-modal/warning-modal.stories.d.ts +1 -1
- package/lib/components.js +8 -8
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/sources/index.d.ts +4 -0
- package/lib/constants/strings/index.d.ts +4 -0
- package/lib/constants.js +1 -1
- package/lib/containers/action-drawer/action-drawer.stories.d.ts +1 -1
- package/lib/containers/action-form/action-form.stories.d.ts +1 -1
- package/lib/containers/action-modal/action-modal.stories.d.ts +1 -1
- package/lib/containers/action-table/action-table.stories.d.ts +1 -1
- package/lib/containers/await-pipeline/await-pipeline.stories.d.ts +1 -1
- package/lib/containers/compute-platform-select/compute-platform-select.stories.d.ts +1 -1
- package/lib/containers/compute-platforms/compute-platforms.stories.d.ts +1 -1
- package/lib/containers/compute-platforms-actions-menu/compute-platforms-actions-menu.stories.d.ts +1 -1
- package/lib/containers/data-flow/data-flow.stories.d.ts +1 -1
- package/lib/containers/data-flow-actions-menu/data-flow-actions-menu.stories.d.ts +1 -1
- package/lib/containers/data-stream-drawer/data-stream-drawer.stories.d.ts +1 -1
- package/lib/containers/data-stream-form/data-stream-form.stories.d.ts +1 -1
- package/lib/containers/data-stream-selection-form/data-stream-selection-form.stories.d.ts +1 -1
- package/lib/containers/destination-drawer/destination-drawer.stories.d.ts +1 -1
- package/lib/containers/destination-form/destination-form.stories.d.ts +1 -1
- package/lib/containers/destination-modal/destination-modal.stories.d.ts +1 -1
- package/lib/containers/destination-selection-form/destination-selection-form.stories.d.ts +1 -1
- package/lib/containers/destination-table/destination-table.stories.d.ts +1 -1
- package/lib/containers/dropdowns/connection-status-dropdown/connection-status-dropdown.stories.d.ts +1 -1
- package/lib/containers/dropdowns/connection-type-dropdown/connection-type-dropdown.stories.d.ts +1 -1
- package/lib/containers/dropdowns/error-dropdown/error-dropdown.stories.d.ts +1 -1
- package/lib/containers/dropdowns/kind-dropdown/error-dropdown.stories.d.ts +1 -1
- package/lib/containers/dropdowns/language-dropdown/language-dropdown.stories.d.ts +1 -1
- package/lib/containers/dropdowns/monitor-dropdown/monitor-dropdown.stories.d.ts +1 -1
- package/lib/containers/dropdowns/namespace-dropdown/namespace-dropdown.stories.d.ts +1 -1
- package/lib/containers/instrumentation-rule-drawer/instrumentation-rule-drawer.stories.d.ts +1 -1
- package/lib/containers/instrumentation-rule-form/instrumentation-rule-form.stories.d.ts +1 -1
- package/lib/containers/instrumentation-rule-modal/instrumentation-rule-modal.stories.d.ts +1 -1
- package/lib/containers/instrumentation-rule-table/instrumentation-rule-table.stories.d.ts +1 -1
- package/lib/containers/multi-source-control/multi-source-control.stories.d.ts +1 -1
- package/lib/containers/notification-manager/notification-manager.stories.d.ts +1 -1
- package/lib/containers/overview-drawer/overview-drawer.stories.d.ts +1 -1
- package/lib/containers/setup-summary/setup-summary.stories.d.ts +1 -1
- package/lib/containers/side-nav/side-nav.stories.d.ts +1 -1
- package/lib/containers/slack-invite/slack-invite.stories.d.ts +1 -1
- package/lib/containers/source-drawer/source-drawer.stories.d.ts +1 -1
- package/lib/containers/source-form/source-form.stories.d.ts +1 -1
- package/lib/containers/source-modal/source-modal.stories.d.ts +1 -1
- package/lib/containers/source-selection-form/source-selection-form.stories.d.ts +1 -1
- package/lib/containers/source-table/source-table.stories.d.ts +1 -1
- package/lib/containers/system-overview/system-overview.stories.d.ts +1 -1
- package/lib/containers/table-cell-conditions/table-cell-conditions.stories.d.ts +1 -1
- package/lib/containers/toast-list/toast-list.stories.d.ts +1 -1
- package/lib/containers/toggle-dark-mode/toggle-dark-mode.stories.d.ts +1 -1
- package/lib/containers.js +222 -73
- package/lib/functions/index.d.ts +1 -0
- package/lib/functions/is-valid-version/index.d.ts +1 -0
- package/lib/functions.js +5 -5
- package/lib/hooks.js +3 -3
- package/lib/icons/actions/add-cluster-info-icon/add-cluster-info-icon.stories.d.ts +1 -1
- package/lib/icons/actions/delete-attribute-icon/delete-attribute-icon.stories.d.ts +1 -1
- package/lib/icons/actions/pii-masking-icon/pii-masking-icon.stories.d.ts +1 -1
- package/lib/icons/actions/rename-attribute-icon/rename-attribute-icon.stories.d.ts +1 -1
- package/lib/icons/actions/sampler-icon/sampler-icon.stories.d.ts +1 -1
- package/lib/icons/brand/odigos-logo/odigos-logo.stories.d.ts +1 -1
- package/lib/icons/brand/odigos-logo-text/odigos-logo-text.stories.d.ts +1 -1
- package/lib/icons/common/arrow-icon/arrow-icon.stories.d.ts +1 -1
- package/lib/icons/common/code-brackets-icon/code-brackets-icon.stories.d.ts +1 -1
- package/lib/icons/common/code-icon/code-icon.stories.d.ts +1 -1
- package/lib/icons/common/command-icon/command-icon.stories.d.ts +1 -1
- package/lib/icons/common/copy-icon/copy-icon.stories.d.ts +1 -1
- package/lib/icons/common/edit-icon/edit-icon.stories.d.ts +1 -1
- package/lib/icons/common/extend-arrow-icon/extend-arrow-icon.stories.d.ts +1 -1
- package/lib/icons/common/filter-icon/filter-icon.stories.d.ts +1 -1
- package/lib/icons/common/folder-icon/folder-icon.stories.d.ts +1 -1
- package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +1 -1
- package/lib/icons/common/key-icon/key-icon.stories.d.ts +1 -1
- package/lib/icons/common/list-icon/list-icon.stories.d.ts +1 -1
- package/lib/icons/common/no-data-icon/no-data-icon.stories.d.ts +1 -1
- package/lib/icons/common/notebook-icon/notebook-icon.stories.d.ts +1 -1
- package/lib/icons/common/notification-icon/notification-icon.stories.d.ts +1 -1
- package/lib/icons/common/retry-icon/retry-icon.stories.d.ts +1 -1
- package/lib/icons/common/search-icon/search-icon.stories.d.ts +1 -1
- package/lib/icons/common/sort-arrows-icon/sort-arrows-icon.stories.d.ts +1 -1
- package/lib/icons/common/terminal-icon/terminal-icon.stories.d.ts +1 -1
- package/lib/icons/common/trash-icon/trash-icon.stories.d.ts +1 -1
- package/lib/icons/common/x-icon/x-icon.stories.d.ts +1 -1
- package/lib/icons/compute-platform/k8s-logo/k8s-logo.stories.d.ts +1 -1
- package/lib/icons/compute-platform/vm-logo/vm-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/alauda-logo/alauda-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/alibaba-cloud-logo/alibaba-cloud-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/app-dynamics-logo/app-dynamics-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/aws-cloudwatch-logo/aws-cloudwatch-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/aws-s3-logo/aws-s3-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/aws-xray-logo/aws-xray-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/axiom-logo/axiom-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/better-stack-logo/better-stack-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/blob-storage-logo/blob-storage-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/bonree-logo/bonree-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/causely-logo/causely-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/checkly-logo/checkly-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/chronosphere-logo/chronosphere-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/clickhouse-logo/clickhouse-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/coralogix-logo/coralogix-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/dash0-logo/dash0-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/datadog-logo/datadog-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/dynatrace-logo/dynatrace-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/elastic-apm-logo/elastic-apm-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/elastic-search-logo/elastic-search-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/gigapipe-logo/gigapipe-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/google-cloud-platform-logo/google-cloud-platform-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/google-cloud-storage-logo/google-cloud-storage-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/grafana-logo/grafana-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/greptime-logo/greptime-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/groundcover-logo/groundcover-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/honeycomb-logo/honeycomb-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/hyperdx-logo/hyperdx-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/instana-logo/instana-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/jaeger-logo/jaeger-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/kafka-logo/kafka-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/kloudmate-logo/kloudmate-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/last9-logo/last9-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/lightstep-logo/lightstep-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/logzio-logo/logzio-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/loki-logo/loki-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/lumigo-logo/lumigo-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/middleware-logo/middleware-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/new-relic-logo/new-relic-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/observe-logo/observe-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/one-uptime-logo/one-uptime-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/open-observe-logo/open-observe-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/open-telemetry-logo/open-telemetry-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/ops-verse-logo/ops-verse-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/oracle-logo/oracle-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/prometheus-logo/prometheus-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/qryn-logo/qryn-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/quickwit-logo/quickwit-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/sentry-logo/sentry-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/seq-logo/seq-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/signoz-logo/signoz-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/splunk-logo/splunk-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/sumo-logic-logo/sumo-logic-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/telemetry-hub-logo/telemetry-hub-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/tempo-logo/tempo-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/tingyun-logo/tingyun-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/traceloop-logo/traceloop-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/uptrace-logo/uptrace-logo.stories.d.ts +1 -1
- package/lib/icons/destinations/victoria-metrics-logo/victoria-metrics-logo.stories.d.ts +1 -1
- package/lib/icons/instrumentation-rules/code-attributes-icon/code-attributes-icon.stories.d.ts +1 -1
- package/lib/icons/instrumentation-rules/headers-collection-icon/headers-collection-icon.stories.d.ts +1 -1
- package/lib/icons/instrumentation-rules/payload-collection-icon/payload-collection-icon.stories.d.ts +1 -1
- package/lib/icons/math/minus-icon/minus-icon.stories.d.ts +1 -1
- package/lib/icons/math/plus-icon/plus-icon.stories.d.ts +1 -1
- package/lib/icons/monitors/logs-icon/logs-icon.stories.d.ts +1 -1
- package/lib/icons/monitors/metrics-icon/metrics-icon.stories.d.ts +1 -1
- package/lib/icons/monitors/traces-icon/traces-icon.stories.d.ts +1 -1
- package/lib/icons/on-off/eye-closed-icon/eye-closed-icon.stories.d.ts +1 -1
- package/lib/icons/on-off/eye-open-icon/eye-open-icon.stories.d.ts +1 -1
- package/lib/icons/on-off/light-off-icon/light-off-icon.stories.d.ts +1 -1
- package/lib/icons/on-off/light-on-icon/light-on-icon.stories.d.ts +1 -1
- package/lib/icons/on-off/moon-icon/moon-icon.stories.d.ts +1 -1
- package/lib/icons/on-off/sun-icon/sun-icon.stories.d.ts +1 -1
- package/lib/icons/overview/actions-icon/actions-icon.stories.d.ts +1 -1
- package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +1 -1
- package/lib/icons/overview/data-streams-icon/data-streams-icon.stories.d.ts +1 -1
- package/lib/icons/overview/destinations-icon/destinations-icon.stories.d.ts +1 -1
- package/lib/icons/overview/namespaces-icon/namespaces-icon.stories.d.ts +1 -1
- package/lib/icons/overview/overview-icon/overview-icon.stories.d.ts +1 -1
- package/lib/icons/overview/rules-icon/rules-icon.stories.d.ts +1 -1
- package/lib/icons/overview/service-map-icon/service-map-icon.stories.d.ts +1 -1
- package/lib/icons/overview/sources-icon/sources-icon.stories.d.ts +1 -1
- package/lib/icons/overview/trace-view-icon/trace-view-icon.stories.d.ts +1 -1
- package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +1 -1
- package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +1 -1
- package/lib/icons/social/slack-logo/slack-logo.stories.d.ts +1 -1
- package/lib/icons/status/check-circled-icon/check-circled-icon.stories.d.ts +1 -1
- package/lib/icons/status/check-icon/check-icon.stories.d.ts +1 -1
- package/lib/icons/status/cross-circled-icon/cross-circled-icon.stories.d.ts +1 -1
- package/lib/icons/status/cross-icon/cross-icon.stories.d.ts +1 -1
- package/lib/icons/status/error-round-icon/error-round-icon.stories.d.ts +1 -1
- package/lib/icons/status/error-triangle-icon/error-triangle-icon.stories.d.ts +1 -1
- package/lib/icons/status/info-icon/info-icon.stories.d.ts +1 -1
- package/lib/icons/status/warning-triangle-icon/warning-triangle-icon.stories.d.ts +1 -1
- package/lib/icons.js +6 -7
- package/lib/{index-zXCdgpRU.js → index--yr-0Yb_.js} +1 -1
- package/lib/{index-Cph4pNkb.js → index-BDivLGyc.js} +4 -4
- package/lib/{index-C-84NaCL.js → index-BHJkDHqL.js} +87 -17
- package/lib/index-BjrdHhNI.js +62 -0
- package/lib/{index-BeVb1H9n.js → index-CFcAM49k.js} +1365 -36
- package/lib/{index-Cau7bWmr.js → index-DJfTCJxF.js} +9 -2
- package/lib/{index-BrriZrlp.js → index-DeWFbFU-.js} +3 -4
- package/lib/{index-B1h5g0Hl.js → index-DeYAfvCA.js} +7 -32
- package/lib/{index-DLH1IvyS.js → index-JW9d8KBI.js} +2 -2
- package/lib/{index-CBgnxpkW.js → index-OD60p3iQ.js} +1 -1
- package/lib/snippets/note-back-to-summary/note-back-to-summary.stories.d.ts +1 -1
- package/lib/snippets.js +7 -8
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/sources/index.d.ts +5 -2
- package/lib/{useSourceSelectionFormData-CrtSxE3G.js → useSourceSelectionFormData-KsupxR2K.js} +2 -2
- package/lib/{useTransition-BumZECD3.js → useTransition-DfzjoAze.js} +1 -1
- package/package.json +14 -14
- package/lib/index-BdZq2vdJ.js +0 -1297
- 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 {
|
|
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-
|
|
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 {
|
|
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-
|
|
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-
|
|
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-
|
|
11
|
-
import { E as EditIcon } from './index-
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { m as
|
|
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-
|
|
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-
|
|
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, {
|
|
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
|
-
|
|
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
|
|
8989
|
+
const ariaLiveSelector = (s) => s.ariaLiveMessage;
|
|
8990
|
+
const ariaLabelConfigSelector = (s) => s.ariaLabelConfig;
|
|
8893
8991
|
function AriaLiveMessage({ rfId }) {
|
|
8894
|
-
const ariaLiveMessage = useStore(
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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, {
|
|
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:
|
|
10964
|
-
.replace('Arrow', '')
|
|
10965
|
-
|
|
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 ? '
|
|
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 ? '
|
|
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
|
|
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:
|
|
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
|
|
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: [
|
|
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
|
-
|
|
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
|
|
12870
|
-
const
|
|
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
|
-
|
|
12998
|
-
|
|
12999
|
-
|
|
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',
|