--- title: StateNode status: published category: editor group: Class author: api date: 06/23/2023 order: 102 ---Public Class
Table of Contents - [Properties](#properties) - [children](#StateNode-children-member) - [children](#StateNode-children-member) - [current](#StateNode-current-member) - [editor](#StateNode-editor-member) - [id](#StateNode-id-member) - [id](#StateNode-id-member) - [initial](#StateNode-initial-member) - [initial](#StateNode-initial-member) - [isActive](#StateNode-isActive-member) - [onCancel](#StateNode-onCancel-member) - [onComplete](#StateNode-onComplete-member) - [onDoubleClick](#StateNode-onDoubleClick-member) - [onEnter](#StateNode-onEnter-member) - [onExit](#StateNode-onExit-member) - [onInterrupt](#StateNode-onInterrupt-member) - [onKeyDown](#StateNode-onKeyDown-member) - [onKeyRepeat](#StateNode-onKeyRepeat-member) - [onKeyUp](#StateNode-onKeyUp-member) - [onMiddleClick](#StateNode-onMiddleClick-member) - [onPointerDown](#StateNode-onPointerDown-member) - [onPointerEnter](#StateNode-onPointerEnter-member) - [onPointerLeave](#StateNode-onPointerLeave-member) - [onPointerMove](#StateNode-onPointerMove-member) - [onPointerUp](#StateNode-onPointerUp-member) - [onQuadrupleClick](#StateNode-onQuadrupleClick-member) - [onRightClick](#StateNode-onRightClick-member) - [onTripleClick](#StateNode-onTripleClick-member) - [onWheel](#StateNode-onWheel-member) - [parent](#StateNode-parent-member) - [path](#StateNode-path-member) - [shapeType](#StateNode-shapeType-member) - [type](#StateNode-type-member) - [Methods](#methods) - [enter](#StateNode-enter-member-1) - [exit](#StateNode-exit-member-1) - [handleEvent](#StateNode-handleEvent-member-1) - [transition](#StateNode-transition-member-1)
##### Signature ```ts abstract class StateNode implements Partial {} ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `Constructor` Public Constructor Constructs a new instance of the `StateNode` class ##### Parameters `editor` ```ts Editor ``` `parent` (optional) ```ts StateNode ``` ##### References [Editor](/gen/editor/Editor-class), [StateNode](/gen/editor/StateNode-class) --- ## Properties ### `children` \{#StateNode-children-member} Public Property ##### Signature ```ts children?: Record ``` ##### References [StateNode](/gen/editor/StateNode-class) --- ### `children` \{#StateNode-children-member} Public Static Property ##### Signature ```ts static children?: () => TLStateNodeConstructor[] ``` ##### References [TLStateNodeConstructor](/gen/editor/TLStateNodeConstructor-interface) --- ### `current` \{#StateNode-current-member} Public Property ##### Signature ```ts current: Atom ``` ##### References [StateNode](/gen/editor/StateNode-class) --- ### `editor` \{#StateNode-editor-member} Public Property ##### Signature ```ts editor: Editor ``` ##### References [Editor](/gen/editor/Editor-class) --- ### `id` \{#StateNode-id-member} Public Property ##### Signature ```ts id: string ``` --- ### `id` \{#StateNode-id-member} Public Static Property ##### Signature ```ts static id: string ``` --- ### `initial` \{#StateNode-initial-member} Public Property ##### Signature ```ts initial?: string ``` --- ### `initial` \{#StateNode-initial-member} Public Static Property ##### Signature ```ts static initial?: string ``` --- ### `isActive` \{#StateNode-isActive-member} Public Property ##### Signature ```ts isActive: boolean ``` --- ### `onCancel` \{#StateNode-onCancel-member} Public Property ##### Signature ```ts onCancel?: TLEventHandlers['onCancel'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onComplete` \{#StateNode-onComplete-member} Public Property ##### Signature ```ts onComplete?: TLEventHandlers['onComplete'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onDoubleClick` \{#StateNode-onDoubleClick-member} Public Property ##### Signature ```ts onDoubleClick?: TLEventHandlers['onDoubleClick'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onEnter` \{#StateNode-onEnter-member} Public Property ##### Signature ```ts onEnter?: TLEnterEventHandler ``` ##### References [TLEnterEventHandler](/gen/editor/TLEnterEventHandler-type) --- ### `onExit` \{#StateNode-onExit-member} Public Property ##### Signature ```ts onExit?: TLExitEventHandler ``` ##### References [TLExitEventHandler](/gen/editor/TLExitEventHandler-type) --- ### `onInterrupt` \{#StateNode-onInterrupt-member} Public Property ##### Signature ```ts onInterrupt?: TLEventHandlers['onInterrupt'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onKeyDown` \{#StateNode-onKeyDown-member} Public Property ##### Signature ```ts onKeyDown?: TLEventHandlers['onKeyDown'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onKeyRepeat` \{#StateNode-onKeyRepeat-member} Public Property ##### Signature ```ts onKeyRepeat?: TLEventHandlers['onKeyRepeat'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onKeyUp` \{#StateNode-onKeyUp-member} Public Property ##### Signature ```ts onKeyUp?: TLEventHandlers['onKeyUp'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onMiddleClick` \{#StateNode-onMiddleClick-member} Public Property ##### Signature ```ts onMiddleClick?: TLEventHandlers['onMiddleClick'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onPointerDown` \{#StateNode-onPointerDown-member} Public Property ##### Signature ```ts onPointerDown?: TLEventHandlers['onPointerDown'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onPointerEnter` \{#StateNode-onPointerEnter-member} Public Property ##### Signature ```ts onPointerEnter?: TLEventHandlers['onPointerEnter'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onPointerLeave` \{#StateNode-onPointerLeave-member} Public Property ##### Signature ```ts onPointerLeave?: TLEventHandlers['onPointerLeave'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onPointerMove` \{#StateNode-onPointerMove-member} Public Property ##### Signature ```ts onPointerMove?: TLEventHandlers['onPointerMove'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onPointerUp` \{#StateNode-onPointerUp-member} Public Property ##### Signature ```ts onPointerUp?: TLEventHandlers['onPointerUp'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onQuadrupleClick` \{#StateNode-onQuadrupleClick-member} Public Property ##### Signature ```ts onQuadrupleClick?: TLEventHandlers['onQuadrupleClick'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onRightClick` \{#StateNode-onRightClick-member} Public Property ##### Signature ```ts onRightClick?: TLEventHandlers['onRightClick'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onTripleClick` \{#StateNode-onTripleClick-member} Public Property ##### Signature ```ts onTripleClick?: TLEventHandlers['onTripleClick'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `onWheel` \{#StateNode-onWheel-member} Public Property ##### Signature ```ts onWheel?: TLEventHandlers['onWheel'] ``` ##### References [TLEventHandlers](/gen/editor/TLEventHandlers-interface) --- ### `parent` \{#StateNode-parent-member} Public Property ##### Signature ```ts parent: StateNode ``` ##### References [StateNode](/gen/editor/StateNode-class) --- ### `path` \{#StateNode-path-member} Public Property ##### Signature ```ts path: Computed ``` --- ### `shapeType` \{#StateNode-shapeType-member} Public Property ##### Signature ```ts shapeType?: TLShapeUtilConstructor> ``` ##### References [TLShapeUtilConstructor](/gen/editor/TLShapeUtilConstructor-interface), [TLBaseShape](/gen/tlschema/TLBaseShape-interface) --- ### `type` \{#StateNode-type-member} Public Property ##### Signature ```ts type: TLStateNodeType ``` --- ## Methods ### `enter()` \{#StateNode-enter-member-1} Public Method ##### Parameters `info` ```ts any ``` `from` ```ts string ``` ##### Returns ```ts void ``` --- ### `exit()` \{#StateNode-exit-member-1} Public Method ##### Parameters `info` ```ts any ``` `from` ```ts string ``` ##### Returns ```ts void ``` --- ### `handleEvent()` \{#StateNode-handleEvent-member-1} Public Method ##### Parameters `info` ```ts Exclude ``` ##### Returns ```ts void ``` ##### References [TLEventInfo](/gen/editor/TLEventInfo-type), [TLPinchEventInfo](/gen/editor/TLPinchEventInfo-type) --- ### `transition()` \{#StateNode-transition-member-1} Public Method ##### Parameters `id` ```ts string ``` `info` ```ts any ``` ##### Returns ```ts this ``` ---