diff --git a/packages/vue/src/canvas/overlays/useCanvasVirtualReference.ts b/packages/vue/src/canvas/overlays/useCanvasVirtualReference.ts index 89fc5a8f7..75e9a3571 100644 --- a/packages/vue/src/canvas/overlays/useCanvasVirtualReference.ts +++ b/packages/vue/src/canvas/overlays/useCanvasVirtualReference.ts @@ -17,11 +17,15 @@ export function useCanvasVirtualReference( const canvas = canvasRef.value if (!point || !canvas) return null + const zoom = editor.state.zoom + const panX = editor.state.panX + const panY = editor.state.panY + return { getBoundingClientRect() { const rect = canvas.getBoundingClientRect() - const x = rect.left + point.x * editor.state.zoom + editor.state.panX - const y = rect.top + point.y * editor.state.zoom + editor.state.panY + const x = rect.left + point.x * zoom + panX + const y = rect.top + point.y * zoom + panY return new DOMRect(x, y, 0, 0) } } diff --git a/src/components/EditorCanvas.vue b/src/components/EditorCanvas.vue index 2322f8db7..323058509 100644 --- a/src/components/EditorCanvas.vue +++ b/src/components/EditorCanvas.vue @@ -78,8 +78,6 @@ const paddingSideIcons = { left: IconLucidePanelLeft } satisfies Record<'top' | 'right' | 'bottom' | 'left', Component> -const paddingEditorRef = ref(null) - const paddingEditorAnchor = computed(() => { const edit = autoLayoutPaddingEdit.value if (!edit) return null @@ -102,7 +100,9 @@ const paddingEditorIcon = computed(() => { watch(autoLayoutPaddingEdit, async (edit) => { if (!edit) return await nextTick() - const input = paddingEditorRef.value?.querySelector('input') + const input = document.querySelector( + '[data-test-id="auto-layout-padding-editor"] input' + ) input?.focus() input?.select() }) @@ -145,7 +145,6 @@ const cursor = computed(() => toolCursor(store.state.activeTool, cursorOverride. toolCursor(store.state.activeTool, cursorOverride. data-test-id="auto-layout-padding-input" @update:model-value="updateAutoLayoutPaddingEdit" @commit="(value: number) => commitAutoLayoutPaddingEdit(value)" + @editing-change=" + (editing: boolean) => + !editing && + autoLayoutPaddingEdit && + commitAutoLayoutPaddingEdit(autoLayoutPaddingEdit.value) + " >