Tldraw/packages/editor/src/lib/editor/tools/SelectTool/SelectTool.ts

53 wiersze
1.6 KiB
TypeScript

import { StateNode } from '../StateNode'
import { TLStyleType } from '@tldraw/tlschema'
import { Brushing } from './children/Brushing'
import { Crop } from './children/Crop/Crop'
import { Cropping } from './children/Cropping'
import { DraggingHandle } from './children/DraggingHandle'
import { EditingShape } from './children/EditingShape'
import { Idle } from './children/Idle'
import { PointingCanvas } from './children/PointingCanvas'
import { PointingCropHandle } from './children/PointingCropHandle'
import { PointingHandle } from './children/PointingHandle'
import { PointingResizeHandle } from './children/PointingResizeHandle'
import { PointingRotateHandle } from './children/PointingRotateHandle'
import { PointingSelection } from './children/PointingSelection'
import { PointingShape } from './children/PointingShape'
import { Resizing } from './children/Resizing'
import { Rotating } from './children/Rotating'
import { ScribbleBrushing } from './children/ScribbleBrushing'
import { Translating } from './children/Translating'
export class SelectTool extends StateNode {
static override id = 'select'
static initial = 'idle'
static children = () => [
Crop,
Cropping,
Idle,
PointingCanvas,
PointingShape,
Translating,
Brushing,
ScribbleBrushing,
PointingCropHandle,
PointingSelection,
PointingResizeHandle,
EditingShape,
Resizing,
Rotating,
PointingRotateHandle,
PointingHandle,
DraggingHandle,
]
styles = ['color', 'dash', 'fill', 'size'] as TLStyleType[]
onExit = () => {
if (this.editor.pageState.editingId) {
this.editor.setEditingId(null)
}
}
}