UNPKG

@tldraw/editor

Version:

tldraw infinite canvas SDK (editor).

26 lines (23 loc) 733 B
import { TLKeyboardEventInfo } from '../types/event-types' import { StateNode } from './StateNode' export class RootState extends StateNode { static override id = 'root' static override initial = '' static override children() { return [] } override onKeyDown(info: TLKeyboardEventInfo) { // todo: move this logic up to the tldraw library, as the "zoom" tool only exists there switch (info.code) { case 'KeyZ': { if (!(info.shiftKey || info.ctrlKey)) { const currentTool = this.getCurrent() if (currentTool && currentTool.getCurrent()?.id === 'idle' && this.children!['zoom']) { this.editor.setCurrentTool('zoom', { ...info, onInteractionEnd: currentTool.id }) } } break } } } }