From 38eb00a643daba06a2959e2978e1555e8a8df663 Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Thu, 29 Aug 2024 17:56:50 +0300 Subject: [PATCH] feat(editor): Update new canvas node handle label rendering mechanism and design (no-changelog) (#10611) --- .../design-system/src/css/_tokens.dark.scss | 6 +++ packages/design-system/src/css/_tokens.scss | 6 +++ .../render-types/CanvasHandleMainInput.vue | 9 ++-- .../render-types/CanvasHandleMainOutput.vue | 25 +++++++-- .../render-types/CanvasHandleNonMainInput.vue | 3 +- .../CanvasHandleNonMainOutput.vue | 3 +- .../render-types/parts/CanvasHandlePlus.vue | 46 ++++++++--------- .../CanvasHandleDiamond.spec.ts.snap | 2 +- .../CanvasHandlePlus.spec.ts.snap | 2 +- .../src/composables/useCanvasMapping.spec.ts | 12 +++++ .../src/composables/useCanvasMapping.ts | 51 ++++++++++++++++++- packages/editor-ui/src/types/canvas.ts | 8 +++ 12 files changed, 135 insertions(+), 38 deletions(-) diff --git a/packages/design-system/src/css/_tokens.dark.scss b/packages/design-system/src/css/_tokens.dark.scss index 8865fb2e3e..398a00e538 100644 --- a/packages/design-system/src/css/_tokens.dark.scss +++ b/packages/design-system/src/css/_tokens.dark.scss @@ -72,6 +72,12 @@ --color-canvas-read-only-line: var(--prim-gray-800); --color-canvas-selected: var(--prim-gray-0-alpha-025); --color-canvas-selected-transparent: var(--color-canvas-selected); + --color-canvas-label-background: hsla( + var(--color-canvas-background-h), + var(--color-canvas-background-s), + var(--color-canvas-background-l), + 0.85 + ); // Nodes --color-node-background: var(--prim-gray-740); diff --git a/packages/design-system/src/css/_tokens.scss b/packages/design-system/src/css/_tokens.scss index 7b1adf0d36..3176b4e398 100644 --- a/packages/design-system/src/css/_tokens.scss +++ b/packages/design-system/src/css/_tokens.scss @@ -80,6 +80,12 @@ --color-canvas-read-only-line: var(--prim-gray-30); --color-canvas-selected: var(--prim-gray-70); --color-canvas-selected-transparent: hsla(var(--prim-gray-h), 47%, 30%, 0.1); + --color-canvas-label-background: hsla( + var(--color-canvas-background-h), + var(--color-canvas-background-s), + var(--color-canvas-background-l), + 0.85 + ); // Nodes --color-node-background: var(--color-background-xlight); diff --git a/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainInput.vue b/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainInput.vue index f34cc07789..27abce02a8 100644 --- a/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainInput.vue +++ b/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainInput.vue @@ -22,13 +22,14 @@ const handleClasses = 'target'; .label { position: absolute; - top: 20px; - left: 50%; - transform: translate(-50%, 0); + top: 50%; + left: calc(var(--spacing-xs) * -1); + transform: translate(-100%, -50%); font-size: var(--font-size-2xs); color: var(--color-foreground-xdark); - background: var(--color-background-light); + background: var(--color-canvas-label-background); z-index: 1; text-align: center; + white-space: nowrap; } diff --git a/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue b/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue index 9a37a3aff7..8f8ca9c6ea 100644 --- a/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue +++ b/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue @@ -1,17 +1,31 @@