mirror of
https://github.com/penpot/penpot.git
synced 2026-09-19 18:36:14 +00:00
* 🎉 Add a context menu to the v3 text editor Right-clicking while editing a text shape now opens a menu with Cut, Copy, Paste and Select all, so those actions stop being reachable only from the keyboard. Cut and Copy are disabled when nothing is selected, and with no selection the caret first moves to the click position. The menu is a new `:text` kind of the workspace context menu, so it inherits the existing positioning, styling and shortcut hints. Its entries emit events that drive the WASM editor through the same calls the keyboard path uses, so a menu edit commits exactly like a keystroke: same undo step, same layer rename. A secondary click has to leave the text alone until the menu acts on it. The pointer handlers now ignore it, both the right button and the macOS Ctrl+Click that reports button 0, so it can no longer start a drag-selection over what was selected. Pressing the mouse on the menu would blur the capture surface and end the session, so the menu cancels the default action of `mousedown` while a text is being edited. Paste reads the system clipboard through `navigator.clipboard`, since a menu click carries no clipboard event. Closes #10914 AI-assisted-by: claude-opus-5 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * ✨ Add Playwright tests for the text editor context menu Eight tests under "Text Editor context menu" in the v3 editor spec. They load the existing lorem ipsum fixture rather than drawing a shape, enter edit mode, and drive the menu with a real right click. They cover the four entries, that the right click keeps the selection (copy returns the whole text), that a right button drag no longer replaces it, that moving the caret abandons a staged typography, and that cut and copy are disabled at a collapsed caret. Typing right after a menu action also shows the editor kept the focus while the menu was open. AI-assisted-by: claude-opus-5 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * ♻️ Use a test id instead of a DOM id in the v3 editor spec AI-assisted-by: claude-opus-5 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>