# TextSessionEventComposition

`import { TextSessionEventComposition } from "destack:input/binding";`

Text session composition event.

```ds title="TextSessionEventComposition"
export struct TextSessionEventComposition {
    kind: "composition";
    header: InputEventHeader;
    action: InputEventAction;
    text: string;
    selectionStart: uint32;
    selectionEnd: uint32;
}
```

[language/library/src/input/binding/text.ds:217:230](https://github.com/destack-sh/destack/blob/main/language/library/src/input/binding/text.ds#L217-L230)

## Members

### `kind: "composition"`

Event discriminator.

### `header: InputEventHeader`

Shared event header.

### `action: InputEventAction`

Event action.

### `text: string`

Composition text payload.

### `selectionStart: uint32`

Selection start in UTF-16 code units when available.

### `selectionEnd: uint32`

Selection end in UTF-16 code units when available.
