Docs Components Assistant

Thread

React example follows below.
ts
import { Thread } from "@grassroot/ui-react/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";
export default function ThreadDemo() {
return <Thread messages={assistantDemoMessages} suggestions={assistantDemoSuggestions} maxWidth={560} />;
}
ts
<script setup lang="ts">
import { Thread } from "@grassroot/ui-vue/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";
</script>
<template>
<Thread :messages="assistantDemoMessages" :suggestions="assistantDemoSuggestions" :maxWidth="560" />
</template>
ts
import "./ensure-compiler";
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootAssistantThread } from "@grassroot/ui-angular/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";
@Component({
selector: "app-thread-demo",
standalone: true,
imports: [GrassrootAssistantThread],
changeDetection: ChangeDetectionStrategy.OnPush,
template: `<grassroot-assistant-thread [messages]="messages" [suggestions]="suggestions" [maxWidth]="maxWidth" />`,
})
export class ThreadDemoComponent {
protected readonly messages = assistantDemoMessages;
protected readonly suggestions = assistantDemoSuggestions;
protected readonly maxWidth = 560;
}
export default ThreadDemoComponent;
ts
<script lang="ts">
import { Thread } from "@grassroot/ui-svelte/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";
</script>
<Thread messages={assistantDemoMessages} suggestions={assistantDemoSuggestions} maxWidth={560} />
ts
/** @jsxImportSource solid-js */
import { Thread } from "@grassroot/ui-solid/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";
export default function ThreadDemo() {
return <Thread messages={assistantDemoMessages} suggestions={assistantDemoSuggestions} maxWidth={560} />;
}

Installation

API Reference

Import

import { Thread } from "@grassroot/ui-react/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";

Props

Prop
Type
Default
Requirement
client
import("@grassroot/assistant/client").AssistantClient | undefined
optional
messages
readonly AssistantMessageLike[] | undefined
optional
suggestions
readonly string[] | undefined
optional
onSuggestionSelect
((suggestion: string) => void) | undefined
optional
maxWidth
string | number | undefined
optional
autoScroll
boolean | undefined
optional
Prop
client
Type
import("@grassroot/assistant/client").AssistantClient | undefined
Default
Requirement
optional
Prop
messages
Type
readonly AssistantMessageLike[] | undefined
Default
Requirement
optional
Prop
suggestions
Type
readonly string[] | undefined
Default
Requirement
optional
Prop
onSuggestionSelect
Type
((suggestion: string) => void) | undefined
Default
Requirement
optional
Prop
maxWidth
Type
string | number | undefined
Default
Requirement
optional
Prop
autoScroll
Type
boolean | undefined
Default
Requirement
optional

Events

EventPayload
onSuggestionSelect((suggestion: string) => void) | undefined

Content regions

  • composer
  • welcome

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.

Import

import { Thread } from "@grassroot/ui-vue/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";

Props

Prop
Type
Default
Requirement
client
AssistantClient
undefined
optional
messages
AssistantMessageLike[]
() => []
optional
welcome
unknown
optional
composer
unknown
optional
suggestions
string[]
() => []
optional
maxWidth
string | number
optional
autoScroll
boolean
true
optional
Prop
client
Type
AssistantClient
Default
undefined
Requirement
optional
Prop
messages
Type
AssistantMessageLike[]
Default
() => []
Requirement
optional
Prop
welcome
Type
unknown
Default
Requirement
optional
Prop
composer
Type
unknown
Default
Requirement
optional
Prop
suggestions
Type
string[]
Default
() => []
Requirement
optional
Prop
maxWidth
Type
string | number
Default
Requirement
optional
Prop
autoScroll
Type
boolean
Default
true
Requirement
optional

Events

EventPayload
suggestionSelect(string) => void

Import

import "./ensure-compiler";
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootAssistantThread } from "@grassroot/ui-angular/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";

Props

Prop
Type
Default
Requirement
client
AssistantClient
optional
messages
readonly AssistantMessageLike[]
[]
optional
welcome
string
"Start a conversation"
optional
suggestions
readonly string[]
[]
optional
maxWidth
number | string
760
optional
autoScroll
boolean
true
optional
Prop
client
Type
AssistantClient
Default
Requirement
optional
Prop
messages
Type
readonly AssistantMessageLike[]
Default
[]
Requirement
optional
Prop
welcome
Type
string
Default
"Start a conversation"
Requirement
optional
Prop
suggestions
Type
readonly string[]
Default
[]
Requirement
optional
Prop
maxWidth
Type
number | string
Default
760
Requirement
optional
Prop
autoScroll
Type
boolean
Default
true
Requirement
optional

Events

EventPayload
suggestionSelectstring

Content regions

  • composer

Import

import { Thread } from "@grassroot/ui-svelte/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";

Props

Prop
Type
Default
Requirement
class
string
optional
style
string
optional
messages
readonly AssistantMessageLike[]
optional
maxWidth
string | number
760
optional
autoScroll
boolean
true
optional
client
AssistantClient
optional
suggestions
readonly string[]
optional
onSuggestionSelect
(suggestion: string) => void
optional
Prop
class
Type
string
Default
Requirement
optional
Prop
style
Type
string
Default
Requirement
optional
Prop
messages
Type
readonly AssistantMessageLike[]
Default
Requirement
optional
Prop
maxWidth
Type
string | number
Default
760
Requirement
optional
Prop
autoScroll
Type
boolean
Default
true
Requirement
optional
Prop
client
Type
AssistantClient
Default
Requirement
optional
Prop
suggestions
Type
readonly string[]
Default
Requirement
optional
Prop
onSuggestionSelect
Type
(suggestion: string) => void
Default
Requirement
optional

Events

EventPayload
onSuggestionSelect(suggestion: string) => void

Content regions

  • children
  • composer
  • welcome

Import

import { Thread } from "@grassroot/ui-solid/assistant";
import { assistantDemoMessages, assistantDemoSuggestions } from "@grassroot/demo-fixtures";

Props

Prop
Type
Default
Requirement
client
AssistantClient
optional
messages
readonly AssistantMessageLike[]
optional
suggestions
readonly string[]
optional
onSuggestionSelect
(suggestion: string) => void
optional
maxWidth
string | number
optional
autoScroll
boolean
optional
Prop
client
Type
AssistantClient
Default
Requirement
optional
Prop
messages
Type
readonly AssistantMessageLike[]
Default
Requirement
optional
Prop
suggestions
Type
readonly string[]
Default
Requirement
optional
Prop
onSuggestionSelect
Type
(suggestion: string) => void
Default
Requirement
optional
Prop
maxWidth
Type
string | number
Default
Requirement
optional
Prop
autoScroll
Type
boolean
Default
Requirement
optional

Events

EventPayload
onSuggestionSelect(suggestion: string) => void

Content regions

  • children
  • composer
  • welcome

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.