From bd111bfff09efaf2ee6621228540db796e67b53f Mon Sep 17 00:00:00 2001 From: yehorkardash Date: Wed, 14 Jan 2026 14:13:33 +0100 Subject: [PATCH] feat(editor): Show tooltips for canvas edge buttons (#24311) --- .../elements/edges/CanvasEdgeToolbar.vue | 45 ++++++++++--------- .../elements/edges/CanvasEdgeTooltip.vue | 41 +++++++++++++++++ .../render-types/CanvasHandleNonMainInput.vue | 2 +- .../CanvasHandleNonMainOutput.vue | 2 +- 4 files changed, 67 insertions(+), 23 deletions(-) create mode 100644 packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue index 5ea5c6c1fd5..998e678e97d 100644 --- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue +++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeToolbar.vue @@ -5,6 +5,8 @@ import type { NodeConnectionType } from 'n8n-workflow'; import { NodeConnectionTypes } from 'n8n-workflow'; import { N8nIconButton } from '@n8n/design-system'; +import CanvasEdgeTooltip from './CanvasEdgeTooltip.vue'; + const emit = defineEmits<{ add: []; delete: []; @@ -35,27 +37,28 @@ function onDelete() { diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue new file mode 100644 index 00000000000..64f4f83cc8f --- /dev/null +++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/edges/CanvasEdgeTooltip.vue @@ -0,0 +1,41 @@ + + + + + + + diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue index c3860795b86..051dc3019d4 100644 --- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue +++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainInput.vue @@ -82,7 +82,7 @@ function onClickAdd() { .label { position: absolute; - top: 20px; + top: var(--spacing--lg); left: 50%; /* stylelint-disable-next-line @n8n/css-var-naming */ transform: translate(-50%, 0) scale(var(--canvas-zoom-compensation-factor, 1)); diff --git a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue index a17cddb492a..24cfe474df8 100644 --- a/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue +++ b/packages/frontend/editor-ui/src/features/workflows/canvas/components/elements/handles/render-types/CanvasHandleNonMainOutput.vue @@ -42,7 +42,7 @@ const handleStyles = computed(() => ({ .label { position: absolute; - top: -20px; + top: calc(-1 * var(--spacing--lg)); left: 50%; /* stylelint-disable-next-line @n8n/css-var-naming */ transform: translate(-50%, 0) scale(var(--canvas-zoom-compensation-factor, 1));