Text tool: start empty with cursor, blue editing outline

- Create text nodes with empty text instead of 'Text' placeholder
- Immediately enter editing mode on creation (blinking cursor)
- Blue border on textarea during editing (matches Figma)
This commit is contained in:
Danila Poyarkov 2026-02-28 08:47:42 +03:00
parent 98eeb9582c
commit 2715f0d8be
2 changed files with 3 additions and 2 deletions

View file

@ -69,7 +69,7 @@ function onTextKeyDown(e: KeyboardEvent) {
<canvas ref="canvasRef" :style="{ cursor }" class="block size-full" />
<textarea
v-if="editingNode"
class="absolute z-10 resize-none overflow-hidden border-none bg-transparent p-0 font-normal text-black outline-none"
class="absolute z-10 resize-none overflow-hidden border border-accent bg-transparent p-0 font-normal text-black outline-none"
:style="textOverlayStyle!"
:value="editingNode.text"
@input="onTextInput"

View file

@ -387,8 +387,9 @@ export function useCanvasInput(canvasRef: Ref<HTMLCanvasElement | null>, store:
// Text tool: click to create text node
if (tool === 'TEXT') {
const nodeId = store.createShape('TEXT', cx, cy, 200, 24)
store.graph.updateNode(nodeId, { text: 'Text' })
store.graph.updateNode(nodeId, { text: '' })
store.select([nodeId])
store.startTextEditing(nodeId)
store.setTool('SELECT')
store.requestRender()
return