# ChatComposer

Compose a message and pass submission to the host.

## Public import

```svelte
<script lang="ts">
  import { ChatComposer } from "rom-ui/chat";
  import "rom-studio/styles";
</script>
```

## Composition and responsibility

The host supplies data, callbacks and application policy. The component does not provide persistence or authorization.

Public names: `ChatComposer`.

## Declared props

This declaration comes from the installed package. Imported types retain their upstream meaning.

```ts
type Props = {
    id?: string;
    rows?: number;
    sendContent?: Snippet;
    actions?: Snippet<[ChatComposerActions]>;
    actionsLabel?: string;
    value?: string;
    label: string;
    placeholder?: string;
    sendLabel: string;
    hint?: string;
    errorLabel: string;
    authorityToken: unknown;
    onSubmit: (message: string) => void | Promise<void>;
    maxLength?: number;
    disabled?: boolean;
  };
```

## Source and version

ROM UI **0.1.0-alpha.7**. [Component source](https://github.com/pmikstacki/rom-ui/blob/v0.1.0-alpha.7/src/lib/chat/ChatComposer.svelte).

See [the composition guide](/docs/studio-compositions/) for host integration boundaries.
